:root {
    --lk-ink: #0f1d2e;
    --lk-muted: #5f6f86;
    --lk-line: rgba(21, 41, 66, 0.14);
    --lk-card: rgba(255, 255, 255, 0.78);
    --lk-card-solid: #ffffff;

    --lk-blue: #2d5de1;
    --lk-blue-2: #1f66c2;
    --lk-soft: #e7f0ff;

    --lk-warn: #b42318;
    --lk-warn-bg: #ffecec;

    --lk-radius: 18px;
    --lk-shadow: 0 18px 44px rgba(15, 29, 46, 0.14);
}

/* Application contract workflow */
.lk-contract-page + .lk-contract-page {
    margin-top: 18px;
}

.lk-contract-application-picker {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.lk-contract-application-picker label {
    color: var(--lk-muted);
    font-size: 13px;
    font-weight: 700;
}

.lk-contract-application-picker select {
    min-width: 0;
    width: 100%;
    height: 40px;
    padding: 0 38px 0 12px;
    border: 1px solid rgba(45, 93, 225, .2);
    border-radius: 10px;
    background: #fff;
    color: var(--lk-ink);
}

.lk-contract-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    align-items: start;
}

.lk-contract-steps li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 4px 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(45, 93, 225, .14);
    border-radius: 14px;
    background: rgba(239, 245, 255, .68);
}

.lk-contract-steps li > span {
    display: grid;
    grid-row: 1 / span 2;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dbe7f8;
    color: #58708d;
    font-weight: 800;
}

.lk-contract-steps li > strong,
.lk-contract-steps li > small {
    min-width: 0;
}

.lk-contract-steps li > small {
    color: var(--lk-muted);
}

.lk-contract-steps li.is-current {
    border-color: rgba(45, 93, 225, .32);
    background: #edf4ff;
}

.lk-contract-steps li.is-current > span {
    background: var(--lk-blue);
    color: #fff;
}

.lk-contract-steps li.is-locked {
    opacity: .72;
}

.lk-contract-summary,
.lk-contract-file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.lk-contract-summary {
    margin-bottom: 18px;
}

.lk-contract-summary h2 {
    margin: 4px 0 0;
}

.lk-contract-status {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid rgba(45, 93, 225, .2);
    border-radius: 999px;
    background: #edf4ff;
    color: #2458ba;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.lk-contract-status.is-concluded {
    border-color: rgba(18, 128, 86, .25);
    background: #e8f8f0;
    color: #128056;
}

.lk-contract-status.is-rejected {
    border-color: rgba(180, 35, 24, .2);
    background: var(--lk-warn-bg);
    color: var(--lk-warn);
}

.lk-contract-instruction,
.lk-contract-warning,
.lk-contract-file-row,
.lk-contract-grid > section,
.lk-contract-empty {
    padding: 16px;
    border: 1px solid rgba(21, 41, 66, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
}

.lk-contract-instruction ol {
    margin: 10px 0 0;
    padding-left: 20px;
    color: var(--lk-muted);
    line-height: 1.55;
}

.lk-contract-warning {
    margin-top: 18px;
    border-color: rgba(222, 151, 0, .3);
    background: #fff8e7;
    color: #745000;
}

.lk-contract-warning p {
    margin: 6px 0 0;
}

.lk-contract-file-row {
    margin-top: 14px;
}

.lk-contract-file-row div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.lk-contract-file-row div span {
    overflow: hidden;
    color: var(--lk-muted);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-form.lk-contract-upload {
    margin-top: 16px;
    width: 100%;
    max-width: none;
}

.lk-contract-upload .lk-btn,
.lk-contract-detail .lk-form .lk-btn {
    margin-top: 12px;
}

.lk-contract-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 22px;
}

.lk-contract-grid h3 {
    margin: 0 0 12px;
}

.lk-contract-decision-actions {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.lk-contract-history {
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.lk-contract-history li {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-left: 3px solid rgba(45, 93, 225, .35);
    background: rgba(239, 245, 255, .55);
}

.lk-contract-history li > span {
    color: var(--lk-muted);
    font-size: 12px;
}

.lk-contract-history li > p {
    margin: 4px 0 0;
}

.lk-contract-empty {
    text-align: center;
}

.lk-contract-empty h2,
.lk-contract-empty p {
    margin: 0;
}

.lk-contract-empty p {
    margin-top: 6px;
    color: var(--lk-muted);
}

@media (max-width: 720px) {
    .lk-contract-application-picker,
    .lk-contract-steps,
    .lk-contract-grid {
        grid-template-columns: 1fr;
    }

    .lk-contract-summary,
    .lk-contract-file-row {
        align-items: stretch;
        flex-direction: column;
    }

    .lk-contract-summary .lk-contract-status {
        align-self: flex-start;
    }

    .lk-contract-file-row .lk-btn {
        width: 100%;
    }
}

.lk-manager-contracts {
    display: grid;
    gap: 18px;
    width: min(100%, 1500px);
    margin: 0 auto;
}

.lk-manager-contracts__header,
.lk-manager-contracts__queue,
.lk-manager-contract-detail {
    border: 1px solid rgba(45, 93, 225, .14);
    border-radius: 18px;
    background: #fff;
}

.lk-manager-contracts__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
}

.lk-manager-contracts__header h1,
.lk-manager-contract-detail__header h2 {
    margin: 0;
    color: #10233d;
}

.lk-manager-contracts__header > div > p:last-child,
.lk-manager-contract-detail__header p,
.lk-manager-contracts__eyebrow {
    margin: 6px 0 0;
    color: var(--lk-muted);
}

.lk-manager-contracts__eyebrow {
    margin: 0 0 5px;
    color: #2d5de1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.lk-manager-contracts__queue {
    overflow: visible;
    isolation: isolate;
}

.lk-manager-contracts__filters {
    align-items: end;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(45, 93, 225, .1);
    background: #fbfdff;
}

.lk-manager-contracts__filter-actions {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.lk-manager-contracts__table {
    width: 100%;
    table-layout: fixed;
}

.lk-manager-contracts__col-number { width: 10%; }
.lk-manager-contracts__col-listener { width: 22%; }
.lk-manager-contracts__col-course { width: 27%; }
.lk-manager-contracts__col-status { width: 19%; }
.lk-manager-contracts__col-date { width: 14%; }
.lk-manager-contracts__col-action { width: 8%; }

.lk-manager-contracts__table th,
.lk-manager-contracts__table td {
    padding: 13px 14px;
    vertical-align: middle;
}

.lk-manager-contracts__table tbody tr.is-requires-action {
    background: rgba(234, 244, 255, .82);
}

.lk-manager-contracts__table tbody tr.is-requires-action td:first-child {
    border-left: 3px solid #2d5de1;
}

.lk-manager-contracts__table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.lk-manager-contracts__table td small {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: var(--lk-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-manager-contract-detail {
    padding: 24px;
}

.lk-manager-contract-detail__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(45, 93, 225, .12);
}

.lk-manager-contract-detail__facts,
.lk-manager-contract-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.lk-manager-contract-detail__facts section,
.lk-manager-contract-step,
.lk-manager-contract-detail__note,
.lk-manager-contract-detail__history {
    border: 1px solid rgba(45, 93, 225, .13);
    border-radius: 14px;
    background: #fbfdff;
}

.lk-manager-contract-detail__facts section {
    padding: 15px;
}

.lk-manager-contract-detail h3 {
    margin: 0;
    color: #203650;
    font-size: 15px;
}

.lk-manager-contract-detail dl {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
}

.lk-manager-contract-detail dl div { display: grid; gap: 2px; }
.lk-manager-contract-detail dt { color: var(--lk-muted); font-size: 12px; }
.lk-manager-contract-detail dd { margin: 0; color: #203650; font-weight: 700; }

.lk-manager-contract-detail__section-title { margin: 24px 0 -4px !important; }

.lk-manager-contract-step {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: 18px;
}

.lk-manager-contract-step > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #e9f2ff;
    color: #2459b6;
    font-size: 13px;
    font-weight: 900;
}

.lk-manager-contract-step:not(:last-child)::after {
    position: absolute;
    top: 32px;
    right: -14px;
    z-index: 1;
    width: 14px;
    border-top: 1px dashed rgba(45, 93, 225, .4);
    content: '';
}

.lk-manager-contract-file {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(45, 93, 225, .19);
    border-radius: 11px;
    background: #fff;
    color: #203650;
    text-decoration: none;
}

.lk-manager-contract-file:hover { border-color: rgba(45, 93, 225, .48); background: #f5f9ff; }
.lk-manager-contract-file:focus-visible { outline: 3px solid rgba(45, 93, 225, .35); outline-offset: 2px; }
.lk-manager-contract-file strong,
.lk-manager-contract-file small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-manager-contract-file small { color: var(--lk-muted); }

.lk-manager-contract-step .lk-form,
.lk-manager-contract-step form { display: grid; gap: 8px; margin: 0; }
.lk-manager-contract-step textarea { min-height: 78px; resize: vertical; }

.lk-manager-contract-detail__note,
.lk-manager-contract-detail__history { margin-top: 18px; padding: 18px; }
.lk-manager-contract-detail__note p { margin: 6px 0 12px; color: var(--lk-muted); }
.lk-manager-contract-detail__note textarea { min-height: 74px; resize: vertical; }
.lk-contract-history li.is-internal { border-left-color: #7a5da7; background: #f7f3fc; }

@media (max-width: 980px) {
    .lk-manager-contracts__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lk-manager-contract-detail__facts,
    .lk-manager-contract-steps { grid-template-columns: 1fr; }
    .lk-manager-contract-step:not(:last-child)::after { top: auto; right: auto; bottom: -14px; left: 31px; width: 1px; height: 14px; border-top: 0; border-left: 1px dashed rgba(45, 93, 225, .4); }
}

@media (max-width: 720px) {
    .lk-manager-contracts__header,
    .lk-manager-contract-detail__header { align-items: stretch; flex-direction: column; }
    .lk-manager-contracts__header .lk-btn { width: 100%; }
    .lk-manager-contracts__filters { grid-template-columns: 1fr; }
    .lk-manager-contracts__filter-actions { flex-wrap: wrap; }
    .lk-manager-contract-detail { padding: 16px; }
    .lk-manager-contracts__table { min-width: 820px; }
}

.lk-page--manager-contracts .lk-main {
    max-width: none;
}

.lk-manager-contracts {
    width: 100%;
    max-width: 1500px;
    gap: 10px;
}

.lk-manager-contracts__header {
    min-height: 96px;
    padding: 18px 20px;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(30, 68, 124, .05);
}

.lk-manager-contracts__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #13284a;
    font-size: 13px;
    font-weight: 800;
}

.lk-manager-contracts__breadcrumb a {
    color: #2459b6;
    text-decoration: none;
}

.lk-manager-contracts__header h1 { font-size: 22px; line-height: 1.2; }
.lk-manager-contracts__header > div > p:last-child { font-size: 14px; }
.lk-manager-contracts__templates { min-height: 36px; padding: 7px 14px; font-size: 13px; }

.lk-manager-contracts__queue {
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(30, 68, 124, .05);
}

.lk-manager-contracts__filters {
    display: grid;
    grid-template-columns: minmax(250px, 1.55fr) minmax(155px, .85fr) minmax(155px, .85fr) minmax(220px, .95fr) auto;
    gap: 12px;
    padding: 16px;
    border-bottom: 0;
    background: #fff;
    position: relative;
    z-index: 2;
    overflow: visible;
}

.lk-manager-contracts__filters .filter-group { min-width: 0; }
.lk-manager-contracts__filters .lk-filter-dropdown { z-index: 3; }
.lk-manager-contracts__filters .lk-filter-dropdown__menu { z-index: 4; }
.lk-manager-contracts__filters label { margin-bottom: 5px; font-size: 12px; font-weight: 800; }
.lk-manager-contracts__filters .filter-input,
.lk-manager-contracts__filters .lk-filter-dropdown__trigger { min-height: 34px; font-size: 12px; }
.lk-manager-contracts__filters .lk-filter-dropdown__trigger { width: 100%; }

.lk-manager-contracts__period-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 5px;
}

.lk-manager-contracts__period-inputs .filter-input { min-width: 0; padding: 6px 8px; }
.lk-manager-contracts__period-inputs span { color: #96a6bf; }
.lk-manager-contracts__filter-actions { align-items: end; align-self: end; white-space: nowrap; }
.lk-manager-contracts__filter-actions .lk-btn { min-height: 34px; padding: 7px 15px; }
.lk-manager-contracts__reset { align-self: center; color: #2459b6; font-size: 12px; font-weight: 800; }

.lk-manager-contracts__table { min-width: 1050px; border-top: 1px solid rgba(45, 93, 225, .14); }
.lk-manager-contracts__queue .lk-table-wrap {
    position: relative;
    z-index: 1;
    max-width: 100%;
    overflow-x: auto;
}
.lk-manager-contracts__queue > .lk-note {
    margin: 0;
    padding: 14px 16px 16px;
}
.lk-manager-contracts__col-check { width: 4%; }
.lk-manager-contracts__col-number { width: 13%; }
.lk-manager-contracts__col-listener { width: 16%; }
.lk-manager-contracts__col-course { width: 25%; }
.lk-manager-contracts__col-status { width: 19%; }
.lk-manager-contracts__col-date { width: 14%; }
.lk-manager-contracts__col-action { width: 9%; }

.lk-manager-contracts__table th {
    padding: 10px 12px;
    border-bottom-color: rgba(45, 93, 225, .1);
    background: #f1f7ff;
    color: #4d6283;
    font-size: 11px;
    font-weight: 900;
}

.lk-manager-contracts__table td { padding: 9px 12px; color: #243957; font-size: 12px; line-height: 1.25; }
.lk-manager-contracts__table td input { accent-color: #2563eb; }
.lk-manager-contracts__table td > strong { display: block; font-weight: 700; }
.lk-manager-contracts__table tbody tr.is-selected { background: #eaf4ff; }
.lk-manager-contracts__table tbody tr.is-requires-action { background: #fffaf0; }
.lk-manager-contracts__table tbody tr.is-requires-action td:first-child { border-left-color: #f59e0b; }
.lk-manager-contracts__table .lk-btn { min-height: 32px; padding: 6px 14px; white-space: nowrap; font-size: 12px; }
.lk-manager-contracts__table .lk-contract-status { max-width: 100%; font-size: 11px; white-space: nowrap; }

.lk-manager-contract-detail {
    padding: 0 14px 14px;
    border-color: rgba(45, 93, 225, .23);
    border-radius: 13px;
    box-shadow: 0 5px 18px rgba(30, 68, 124, .05);
}

.lk-manager-contract-detail__header {
    align-items: center;
    min-height: 44px;
    margin: 0 -14px 12px;
    padding: 10px 14px;
    border: 0;
    background: #eaf4ff;
}

.lk-manager-contract-detail__header h2 { font-size: 16px; }
.lk-manager-contract-detail__head-actions { display: flex; align-items: center; gap: 14px; }
.lk-manager-contract-detail__close { color: #17375f; font-size: 25px; font-weight: 900; line-height: 1; text-decoration: none; transform: rotate(0deg); }

.lk-manager-contract-detail__facts { gap: 0; margin-top: 0; }
.lk-manager-contract-detail__facts section { padding: 0 14px; border: 0; border-radius: 0; background: transparent; }
.lk-manager-contract-detail__facts section + section { border-left: 1px solid rgba(45, 93, 225, .12); }
.lk-manager-contract-detail__facts h3 { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.lk-manager-contract-fact__icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #eaf3ff; }
.lk-manager-contract-fact__icon img { width: 18px; height: 18px; }
.lk-manager-contract-detail dl { gap: 6px; margin-top: 10px; }
.lk-manager-contract-detail dl div { grid-template-columns: 42% 1fr; gap: 6px; }
.lk-manager-contract-detail dt { font-size: 12px; }
.lk-manager-contract-detail dd { font-size: 12px; font-weight: 500; }

.lk-manager-contract-detail__section-title {
    margin: 14px 0 0 !important;
    padding-top: 14px;
    border-top: 1px solid rgba(45, 93, 225, .12);
    font-size: 14px !important;
}

.lk-manager-contract-steps { gap: 18px; margin-top: 10px; }
.lk-manager-contract-step { gap: 10px; padding: 12px; border-color: rgba(45, 93, 225, .14); border-radius: 10px; }
.lk-manager-contract-step > span { width: auto; height: auto; place-items: unset; border-radius: 0; background: transparent; color: #1d3151; font-size: 12px; }
.lk-manager-contract-step h3 { min-height: 30px; font-size: 12px; line-height: 1.3; }
.lk-manager-contract-step:not(:last-child)::after { top: 50%; right: -18px; width: 18px; border-color: rgba(45, 93, 225, .25); }

.lk-manager-contract-file {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 0;
    border-radius: 8px;
    background: #f4f8ff;
}

.lk-manager-contract-file > img { flex: 0 0 44px; width: 44px; height: 52px; }
.lk-manager-contract-file > span { display: grid; min-width: 0; gap: 3px; }
.lk-manager-contract-file small { font-size: 11px; }
.lk-manager-contract-file:hover { background: #ebf3ff; }

.lk-manager-contract-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.lk-manager-contract-upload { grid-template-columns: 1fr; align-items: stretch; }
.lk-manager-contract-upload .lk-btn { width: 100%; min-height: 34px; padding: 7px 10px; font-size: 11px; }
.lk-manager-contract-upload__submit {
    width: 100%;
    min-height: 34px;
    border: 1px solid #2563eb;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
}
.lk-manager-contract-upload__submit:hover { border-color: #1d4ed8; background: #1d4ed8; }
.lk-manager-contract-upload__submit:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.lk-manager-contract-upload__submit:disabled {
    border-color: #a9bddd;
    background: #a9bddd;
    cursor: not-allowed;
}
.lk-manager-contract-upload__submit:disabled:hover { border-color: #a9bddd; background: #a9bddd; }
.lk-manager-contract-upload__selection {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 8px 10px 8px 48px;
    border-radius: 8px;
    background: #f4f8ff url('/img/assets/icons/contract-pdf.svg') no-repeat 10px center / 28px 34px;
    min-width: 0;
    color: #29415f;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lk-manager-contract-upload__selection:empty { display: none; }
.lk-manager-contract-upload__selection.is-docx {
    background-image: url('/img/assets/icons/contract-docx.svg');
}
.lk-manager-contract-upload [data-contract-file-label] {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}
.lk-manager-contract-upload [data-contract-file-label]:hover {
    border-color: #1d4ed8;
    background: #1d4ed8;
}
.lk-manager-contract-upload [data-contract-file-label]:focus-visible {
    outline: 2px solid rgba(37, 99, 235, .36);
    outline-offset: 2px;
}

.lk-manager-contract-confirm {
    padding: 8px 10px;
    border-radius: 7px;
    background: #e7f8ee;
    color: #0d854b;
    font-size: 11px;
    font-weight: 800;
}

.lk-manager-contract-full-action { width: 100%; min-height: 34px; padding: 7px 10px; font-size: 11px; }
.lk-manager-contract-step textarea { min-height: 58px; padding: 8px; font-size: 12px; }

.lk-manager-contract-detail__bottom {
    display: grid;
    grid-template-columns: 1.15fr .95fr;
    gap: 10px;
    margin-top: 12px;
}

.lk-manager-contract-detail__note,
.lk-manager-contract-detail__history { min-height: 154px; margin-top: 0; padding: 13px; border-radius: 10px; }
.lk-manager-contract-detail__note h3,
.lk-manager-contract-detail__history h3 { font-size: 13px; }
.lk-manager-contract-detail__note p { margin: 4px 0 8px; font-size: 11px; }
.lk-manager-contract-detail__note textarea { min-height: 62px; font-size: 12px; }
.lk-manager-contract-detail__note .lk-btn { float: right; min-height: 30px; padding: 6px 14px; font-size: 11px; }

.lk-contract-history { position: relative; gap: 0; margin-top: 8px; }
.lk-contract-history li { grid-template-columns: 120px 1fr; gap: 6px; padding: 5px 0 5px 18px; border-left: 0; background: transparent; font-size: 11px; }
.lk-contract-history li::before { position: absolute; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #2563eb; content: ''; }
.lk-contract-history li > strong { font-weight: 500; }
.lk-contract-history li > span { grid-column: 1; grid-row: 1; font-size: 10px; }
.lk-contract-history li > strong { grid-column: 2; grid-row: 1; }
.lk-contract-history li > p { grid-column: 2; margin: 0; }

.lk-manager-contract-detail__pagination { display: flex; justify-content: space-between; margin-top: 14px; }
.lk-manager-contract-detail__pagination .lk-btn { min-height: 32px; padding: 6px 14px; font-size: 11px; }

@media (max-width: 1180px) {
    .lk-manager-contracts__filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lk-manager-contracts__filter-actions { align-self: end; }
}

@media (max-width: 980px) {
    .lk-manager-contract-detail__facts { grid-template-columns: 1fr; }
    .lk-manager-contract-detail__facts section + section { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(45, 93, 225, .12); border-left: 0; }
    .lk-manager-contract-detail__bottom { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .lk-manager-contracts__filters { grid-template-columns: 1fr; }
    .lk-manager-contracts__period-inputs { grid-template-columns: 1fr; }
    .lk-manager-contracts__period-inputs span { display: none; }
    .lk-manager-contracts__filter-actions { align-items: center; }
    .lk-manager-contract-steps { grid-template-columns: 1fr; }
    .lk-manager-contract-step:not(:last-child)::after { display: none; }
    .lk-manager-contract-detail__pagination { gap: 8px; }
}

.lk-contract-page__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 6px 0 22px;
}

.lk-contract-page__heading h1 {
    margin: 6px 0 8px;
    color: #10233d;
    font-size: clamp(28px, 3vw, 36px);
    line-height: 1.1;
}

.lk-contract-page__heading-copy {
    min-width: 0;
}

.lk-contract-number {
    flex: 0 0 auto;
    margin-top: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(52, 81, 124, .14);
    border-radius: 10px;
    background: rgba(239, 245, 255, .76);
    color: #526b8c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.lk-contract-page__heading p {
    max-width: 760px;
    margin: 0;
    color: var(--lk-muted);
    line-height: 1.55;
}

.lk-contract-page__help {
    flex: 0 0 auto;
    min-height: 36px;
}

.lk-contract-page__heading-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.lk-contract-steps li.is-locked,
.lk-contract-steps li.is-completed {
    min-height: 58px;
    padding: 8px 12px;
    align-content: center;
}

.lk-contract-steps li.is-locked > span,
.lk-contract-steps li.is-completed > span {
    grid-row: 1;
}

.lk-contract-steps li.is-locked > strong,
.lk-contract-steps li.is-completed > strong {
    grid-column: 2;
    grid-row: 1;
}

.lk-contract-steps li.is-completed {
    border-color: rgba(34, 94, 194, .28);
    background: rgba(218, 233, 255, .92);
    color: #183f80;
}

.lk-contract-steps li.is-completed > span {
    background: #2363c7;
    color: #fff;
}

@media (min-width: 721px) {
    .lk-contract-steps li.is-locked,
    .lk-contract-steps li.is-completed {
        transform: translateY(10px);
    }
}

.lk-contract-task {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid rgba(45, 93, 225, .14);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(250, 253, 255, .98), rgba(239, 246, 255, .72));
}

.lk-contract-task__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.lk-contract-task__number {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--lk-blue);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.lk-contract-task__head h2 {
    margin: 2px 0 4px;
    color: #10233d;
    font-size: 18px;
    line-height: 1.25;
}

.lk-contract-task__head p {
    margin: 0;
    color: var(--lk-muted);
    font-size: 14px;
    line-height: 1.45;
}

.lk-contract-attention {
    padding: 14px 16px;
    border: 1px solid rgba(75, 122, 199, .16);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    color: #263b57;
}

.lk-contract-attention ul {
    display: grid;
    gap: 5px;
    margin: 10px 0 0;
    padding-left: 19px;
    color: var(--lk-muted);
    line-height: 1.45;
}

.lk-contract-file-row--source {
    margin-top: 0;
    padding: 16px;
    border-color: rgba(45, 93, 225, .18);
    background: #fff;
}

.lk-contract-file-row--source strong::before {
    content: 'DOCX';
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-right: 10px;
    border-radius: 9px;
    background: #e9f2ff;
    color: #2459b6;
    font-size: 10px;
    font-weight: 900;
    vertical-align: middle;
}

.lk-contract-file-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lk-contract-file-link:hover {
    border-color: rgba(45, 93, 225, .42);
    box-shadow: 0 8px 20px rgba(31, 82, 170, .1);
    transform: translateY(-1px);
}

.lk-contract-file-link:focus-visible {
    outline: 3px solid rgba(45, 93, 225, .38);
    outline-offset: 3px;
}

.lk-contract-source-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid rgba(52, 81, 124, .16);
    border-radius: 12px;
    background: rgba(222, 233, 248, .72);
    color: #314661;
}

.lk-contract-source-notice p {
    margin: 0;
    line-height: 1.45;
}

.lk-form.lk-contract-upload .lk-contract-dropzone {
    display: grid;
    box-sizing: border-box;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    align-content: center;
    justify-items: center;
    gap: 10px;
    min-height: 190px;
    padding: 26px 24px;
    border: 1.5px dashed rgba(47, 103, 226, .36);
    border-radius: 14px;
    background: rgba(248, 252, 255, .9);
    color: #1c3555;
    text-align: center;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease;
}

.lk-contract-dropzone:hover,
.lk-contract-dropzone:focus-within,
.lk-contract-dropzone.is-dragover {
    border-color: rgba(47, 103, 226, .82);
    background: rgba(233, 242, 255, .9);
}

.lk-contract-dropzone__icon {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.lk-contract-dropzone > strong {
    color: #263b57;
    font-size: 15px;
    line-height: 1.4;
}

.lk-contract-dropzone .lk-btn {
    min-height: 34px;
    margin-top: 2px;
    padding: 6px 13px;
}

.lk-contract-dropzone small,
.lk-contract-file-selected {
    color: var(--lk-muted);
    font-size: 13px;
    line-height: 1.4;
}

.lk-contract-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.lk-contract-file-selected:not(:empty) {
    display: block;
    margin-top: 10px;
    color: #2459b6;
    font-weight: 700;
}

.lk-contract-uploaded-file,
.lk-contract-review-state {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    border: 1px solid rgba(45, 93, 225, .18);
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
}

.lk-contract-uploaded-file > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.lk-contract-uploaded-file span,
.lk-contract-uploaded-file small {
    color: var(--lk-muted);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-contract-uploaded-file small {
    color: #2459b6;
    font-weight: 800;
}

.lk-contract-inline-action {
    margin-top: 9px;
}

.lk-link-button {
    border: 0;
    padding: 0;
    background: transparent;
    color: #8e2a27;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.lk-link-button:focus-visible {
    border-radius: 4px;
    outline: 2px solid rgba(47, 103, 226, .72);
    outline-offset: 3px;
}

.lk-contract-review-state {
    display: block;
    border-color: rgba(45, 93, 225, .22);
    background: rgba(233, 242, 255, .7);
}

.lk-contract-review-state p {
    margin: 6px 0 0;
    color: var(--lk-muted);
    line-height: 1.45;
}

.lk-contract-page__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 22px;
}

.lk-contract-submit-form {
    margin: 0;
}

.lk-contract-accordions {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.lk-contract-accordions details {
    border: 1px solid rgba(21, 41, 66, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
}

.lk-contract-accordions summary {
    padding: 14px 16px;
    color: #203650;
    font-weight: 800;
    cursor: pointer;
}

.lk-contract-accordions details > :not(summary) {
    margin: 0 16px 14px;
    color: var(--lk-muted);
    line-height: 1.5;
}

.lk-contract-accordions ol {
    padding-left: 20px;
}

@media (max-width: 720px) {
    .lk-contract-page__heading,
    .lk-contract-page__actions,
    .lk-contract-uploaded-file,
    .lk-contract-source-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .lk-contract-number {
        align-self: flex-start;
        margin-top: 0;
    }

    .lk-contract-page__help,
    .lk-contract-page__heading-actions,
    .lk-contract-page__actions > .lk-btn,
    .lk-contract-submit-form,
    .lk-contract-submit-form .lk-btn,
    .lk-contract-uploaded-file .lk-btn {
        width: 100%;
    }

    .lk-contract-page__heading-actions {
        flex-direction: row;
    }

    .lk-contract-task {
        padding: 16px;
    }
}

html {
    scrollbar-color: rgba(102, 119, 145, 0.34) transparent;
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    min-height: 44px;
    border: 5px solid rgba(255, 255, 255, 0.98);
    border-radius: 999px;
    background: rgba(102, 119, 145, 0.34);
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:active {
    border-width: 3px;
    background: rgba(70, 88, 118, 0.54);
    background-clip: padding-box;
}

::-webkit-scrollbar-corner {
    background: transparent;
}

.lk-page {
    color: var(--lk-ink);
    font-family: "Segoe UI", Tahoma, sans-serif;
    position: relative;
    overflow-x: hidden;
    background:
        linear-gradient(180deg, rgba(239, 242, 247, 0.00) 0%, rgba(20, 42, 76, 0.00) 100%),
        url('/img/AstGMU_pan.png') center center / cover no-repeat fixed;
}

.lk-page::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(14, 30, 56, 0.16), rgba(14, 30, 56, 0.26)),
        radial-gradient(36% 26% at 50% 16%, rgba(171, 200, 255, 0.14), transparent 72%),
        radial-gradient(30% 24% at 84% 18%, rgba(74, 119, 208, 0.08), transparent 72%);
    pointer-events: none;
    z-index: 0;
}

.lk-ambient-background {
    --lk-ambient-x: 78vw;
    --lk-ambient-y: 18vh;
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    background:
        radial-gradient(440px 360px at var(--lk-ambient-x) var(--lk-ambient-y), rgba(124, 174, 224, .16), transparent 72%),
        radial-gradient(360px 300px at 18% 78%, rgba(147, 202, 189, .10), transparent 74%);
    transition: background-position .9s ease-out;
}

.lk-shell {
    z-index: 1;
}

@media (max-width: 980px) {
    .lk-ambient-background {
        background:
            radial-gradient(320px 260px at 86% 12%, rgba(124, 174, 224, .10), transparent 74%),
            radial-gradient(260px 220px at 12% 84%, rgba(147, 202, 189, .07), transparent 74%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lk-ambient-background {
        transition: none;
    }
}

body.lk-nav-open-body {
    overflow: hidden;
}

.lk-container {
    max-width: 1100px;
    margin: 34px auto 56px;
    padding: 0 18px;
}

.lk-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 18px;
    max-width: 1400px;
    margin: 26px auto 56px;
    padding: 0 18px;
    position: relative;
    align-items: start;
}

.lk-container--main {
    max-width: none;
    margin: 0;
    padding: 0;
}

.lk-sidebar {
    position: sticky;
    top: 22px;
    left: auto;
    bottom: auto;
    width: 100%;
    max-height: calc(100vh - 44px);
    padding: 14px;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    z-index: 20;
    transform: none;
    transition: transform 0.2s ease;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.74);
    box-shadow: 0 24px 52px rgba(15, 29, 46, 0.14);
    background:
        linear-gradient(180deg, rgba(247, 250, 255, 0.96) 0%, rgba(240, 245, 255, 0.92) 100%);
    backdrop-filter: blur(12px);
}

.lk-sidebar::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.lk-shell.is-nav-open .lk-sidebar {
    transform: translateX(0);
}

.lk-sidebar-backdrop {
    position: fixed;
    inset: 0;
    border: 0;
    padding: 0;
    margin: 0;
    background: rgba(10, 20, 34, 0.28);
    backdrop-filter: blur(2px);
    z-index: 65;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

.lk-shell.is-nav-open .lk-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.lk-sidebar-mobile-head {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding: 4px 2px 2px;
}

.lk-sidebar-mobile-title {
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-sidebar-close {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(45, 93, 225, 0.18);
    background: rgba(231, 240, 255, 0.72);
    color: var(--lk-blue);
    line-height: 1;
    cursor: pointer;
}

.lk-side-card {
    position: relative;
    z-index: 60;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: var(--lk-radius);
    box-shadow: 0 12px 32px rgba(15, 29, 46, 0.10);
    padding: 16px;
    backdrop-filter: blur(10px);
    margin-bottom: 12px;
}

.lk-user {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.lk-avatar {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: var(--lk-blue);
    background: linear-gradient(180deg, rgba(239, 245, 255, 0.98) 0%, rgba(227, 237, 255, 0.92) 100%);
    border: 1px solid rgba(45, 93, 225, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.lk-user-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1.1;
}
.lk-user-link {
    color: inherit;
    text-decoration: none;
    display: block;
}
.lk-user-link:hover .lk-user-name,
.lk-user-link:focus-visible .lk-user-name {
    color: var(--lk-blue);
    text-decoration: underline;
}
.lk-user-link:focus-visible {
    outline: 2px solid rgba(45, 93, 225, 0.35);
    outline-offset: 2px;
    border-radius: 8px;
}

.lk-user-role {
    margin-top: 3px;
    font-size: 12px;
    color: var(--lk-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 900;
}

.lk-user-email {
    margin-top: 6px;
    font-size: 12px;
    color: var(--lk-muted);
    line-height: 1.3;
    word-break: break-word;
}

.lk-user-meta {
    min-width: 0;
    flex: 1 1 auto;
}

.lk-role-switcher {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid rgba(45, 93, 225, 0.18);
    border-radius: 11px;
    background: rgba(239, 245, 255, 0.88);
}

.lk-role-switcher--topbar {
    margin-left: auto;
}

.lk-role-switcher__option {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border: 0;
    border-radius: 8px;
    padding: 6px 8px;
    color: #52647d;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    cursor: pointer;
}

.lk-role-switcher__option:hover,
.lk-role-switcher__option:focus-visible {
    color: var(--lk-blue);
    background: rgba(45, 93, 225, 0.10);
}

.lk-role-switcher__option.is-active {
    color: #fff;
    background: var(--lk-blue);
    box-shadow: 0 2px 7px rgba(45, 93, 225, 0.26);
}

.lk-notifications {
    position: relative;
    flex: 0 0 auto;
}

.lk-notifications__trigger {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #152942;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    transition: background 0.14s ease, color 0.14s ease, transform 0.14s ease;
}

.lk-notifications__trigger:hover,
.lk-notifications__trigger.is-open {
    background: rgba(45, 93, 225, 0.10);
    color: var(--lk-blue);
}

.lk-notifications__trigger:active {
    transform: translateY(1px);
}

.lk-notifications__trigger svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.lk-notifications__badge {
    position: absolute;
    top: 2px;
    right: 1px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #d12d36;
    color: #fff;
    border: 2px solid #fff;
    font-size: 10px;
    font-weight: 900;
    line-height: 14px;
    text-align: center;
    box-shadow: 0 8px 18px rgba(209, 45, 54, 0.25);
}

.lk-notifications__panel {
    position: fixed;
    top: var(--lk-notifications-top, 112px);
    left: var(--lk-notifications-left, 32px);
    width: min(320px, calc(100vw - 24px));
    max-height: min(520px, calc(100vh - 120px));
    overflow: hidden auto;
    z-index: 900;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(21, 41, 66, 0.12);
    box-shadow: 0 24px 70px rgba(15, 29, 46, 0.22);
    padding: 12px;
    scrollbar-gutter: stable;
}

.lk-notifications__panel::-webkit-scrollbar {
    width: 12px;
}

.lk-notifications__panel::-webkit-scrollbar-track {
    margin: 22px 0;
    background: transparent;
}

.lk-notifications__panel::-webkit-scrollbar-thumb {
    min-height: 44px;
    border: 5px solid rgba(255, 255, 255, 0.98);
    border-radius: 999px;
    background: rgba(102, 119, 145, 0.34);
    background-clip: padding-box;
}

.lk-notifications__panel::-webkit-scrollbar-thumb:hover,
.lk-notifications__panel::-webkit-scrollbar-thumb:active {
    border-width: 3px;
    background: rgba(70, 88, 118, 0.54);
    background-clip: padding-box;
}

.lk-notifications__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 4px 10px;
    border-bottom: 1px solid rgba(21, 41, 66, 0.08);
}

.lk-notifications__title {
    font-weight: 900;
    color: var(--lk-ink);
    line-height: 1.2;
}

.lk-notifications__subtitle {
    margin-top: 3px;
    color: var(--lk-muted);
    font-size: 12px;
    font-weight: 700;
}

.lk-notifications__mark {
    border: 0;
    border-radius: 10px;
    padding: 7px 10px;
    background: rgba(45, 93, 225, 0.10);
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.lk-notifications__mark:hover {
    background: rgba(45, 93, 225, 0.16);
}

.lk-notifications__body {
    padding-top: 10px;
}

.lk-notifications__empty {
    padding: 16px 10px;
    color: var(--lk-muted);
    font-size: 13px;
    line-height: 1.45;
}

.lk-notifications__section + .lk-notifications__section {
    margin-top: 12px;
}

.lk-notifications__section-title {
    padding: 0 4px 6px;
    color: var(--lk-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lk-notification-item {
    display: flex;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
}

.lk-notification-item:hover {
    background: rgba(231, 240, 255, 0.64);
}

.lk-notification-item.is-read {
    opacity: 0.62;
    background: rgba(246, 248, 252, 0.72);
}

.lk-notification-item.is-read:hover {
    opacity: 0.82;
    background: rgba(231, 240, 255, 0.64);
}

.lk-notification-item__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--lk-blue);
    box-shadow: 0 0 0 4px rgba(45, 93, 225, 0.10);
    margin-top: 6px;
    flex: 0 0 auto;
}

.lk-notification-item.is-read .lk-notification-item__dot {
    background: #aab6c7;
    box-shadow: none;
}

.lk-notification-item__content {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.lk-notification-item__title {
    color: var(--lk-ink);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.3;
}

.lk-notification-item__title-link {
    width: fit-content;
    text-decoration: none;
}

.lk-notification-item__title-link:hover {
    color: var(--lk-blue);
    text-decoration: underline;
}

.lk-notification-item__meta {
    color: var(--lk-muted);
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.lk-notification-item__message {
    display: grid;
    gap: 5px;
    line-height: 1.35;
}

.lk-notification-item__line {
    display: block;
}

.lk-notification-item__label {
    color: #4f6179;
    font-weight: 850;
}

.lk-notification-item__message a {
    color: var(--lk-blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lk-notification-item__message a:hover {
    color: #1f4fc5;
}

.lk-nav-tour {
    margin-top: 10px;
}

.lk-nav-tour-btn {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(45, 93, 225, 0.18);
    border-radius: 12px;
    background: rgba(231, 240, 255, 0.54);
    color: var(--lk-blue);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 900;
    text-align: left;
}

.lk-nav-tour-btn:hover,
.lk-nav-tour-btn:focus {
    outline: none;
    background: rgba(231, 240, 255, 0.82);
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.12);
}

.lk-nav-tour-btn__icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--lk-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 13px;
}

.lk-tour-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: transparent;
    pointer-events: none;
}

.lk-tour-spotlight {
    position: fixed;
    z-index: 1201;
    border: 3px solid rgba(34, 211, 238, 0.72);
    border-radius: 18px;
    box-shadow:
        0 0 0 9999px rgba(10, 22, 38, 0.58),
        0 20px 70px rgba(4, 19, 41, 0.24);
    pointer-events: none;
    transition: left 0.18s ease, top 0.18s ease, width 0.18s ease, height 0.18s ease;
}

.lk-tour-card {
    position: fixed;
    z-index: 1203;
    width: min(390px, calc(100vw - 28px));
    border: 1px solid rgba(179, 204, 240, 0.8);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 26px 80px rgba(4, 19, 41, 0.32);
    padding: 18px;
    color: var(--lk-ink);
}

.lk-tour-card__kicker {
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lk-tour-card__title {
    margin: 8px 0 8px;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 950;
}

.lk-tour-card__text {
    color: #51657e;
    font-size: 14px;
    line-height: 1.48;
}

.lk-tour-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
}

.lk-tour-card__actions .lk-btn {
    min-height: 40px;
    padding: 9px 13px;
}

.lk-tour-card__actions .lk-btn:last-child {
    margin-left: auto;
}

.lk-tour-highlight {
    position: relative;
    z-index: 1 !important;
    border-radius: 14px;
    filter: none !important;
    box-shadow: none !important;
}

.lk-tour-highlight::after {
    content: '';
    position: absolute;
    inset: -8px;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-radius: inherit;
    pointer-events: none;
}

body.lk-tour-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .lk-tour-card {
        left: 14px !important;
        right: 14px !important;
        bottom: 14px !important;
        top: auto !important;
        width: auto;
    }

    .lk-tour-card__actions {
        flex-wrap: wrap;
    }
}

.lk-nav {
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(21, 41, 66, 0.10);
    border-radius: var(--lk-radius);
    box-shadow: 0 12px 32px rgba(15, 29, 46, 0.08);
    padding: 12px;
    backdrop-filter: blur(10px);
}

.lk-nav-group + .lk-nav-group {
    margin-top: 10px;
}

.lk-nav-section-heading,
.lk-nav-link--section {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
}

.lk-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 5px 12px;
    border-radius: 12px;
    border: 1px solid transparent;
    text-decoration: none;
    color: var(--lk-ink);
    font-weight: 800;
    transition: background 0.12s ease, transform 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.lk-nav-link:hover {
    background: rgba(231, 240, 255, 0.55);
}

.lk-nav-link.is-disabled {
    cursor: not-allowed;
    color: var(--lk-muted);
    opacity: 0.62;
}

.lk-nav-link.is-disabled:hover,
.lk-nav-link.is-disabled:focus-visible {
    background: transparent;
    color: var(--lk-muted);
}

.lk-nav-link.is-active {
    background: rgba(45, 93, 225, 0.12);
    color: var(--lk-blue);
    border: 1px solid rgba(45, 93, 225, 0.18);
}

.lk-nav-link-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    align-self: center;
    margin-left: 2px;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.lk-nav-link-icon img {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(16%) sepia(18%) saturate(1372%) hue-rotate(184deg) brightness(95%) contrast(95%);
    opacity: 1;
}

.lk-nav-group[data-nav-group="dashboard"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="programs"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="students"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="support"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="applications"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="users"] .lk-nav-link-icon,
.lk-nav-group[data-nav-group="public"] .lk-nav-link-icon {
    background: transparent;
}

.lk-nav-link--section {
    justify-content: flex-start;
    padding-left: 12px;
    padding-right: 12px;
}

.lk-nav-group[data-nav-group="dashboard"] .lk-nav-link--section {
    padding-left: 12px;
    padding-right: 12px;
}

.lk-nav-link--section .lk-nav-link-text,
.lk-nav-section-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
}

.lk-nav-section-heading {
    padding: 5px 12px;
    color: var(--lk-ink);
}

.lk-nav-section-heading:hover {
    background: rgba(231, 240, 255, 0.55);
}

.lk-nav-section-heading.is-active {
    background: rgba(45, 93, 225, 0.12);
    color: var(--lk-blue);
    border-color: rgba(45, 93, 225, 0.18);
}

.lk-nav-badge {
    margin-left: auto;
    min-width: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.16);
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.lk-nav-link.is-active .lk-nav-badge {
    background: rgba(45, 93, 225, 0.22);
}

.lk-nav-group[data-nav-group="programs"] .lk-nav-section-heading {
    margin: 0;
}

.lk-nav-submenu {
    display: grid;
    gap: 4px;
    padding: 2px 0 0 30px;
}

.lk-nav-link--sub {
    min-height: 40px;
    padding: 8px 12px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: #31455f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.lk-nav-link--sub:hover {
    background: rgba(45, 93, 225, 0.06);
    color: var(--lk-blue);
    transform: none;
}

.lk-nav-link--sub.is-active {
    background: rgba(45, 93, 225, 0.08);
    border: none;
    color: var(--lk-blue);
}

.lk-nav-group[data-nav-group="public"] .lk-nav-link--section {
    justify-content: space-between;
}

.lk-nav-group[data-nav-group="public"] .lk-nav-link--section::after {
    content: "\203A";
    color: #8a97ad;
    font-size: 20px;
    line-height: 1;
}

.lk-nav-group[data-nav-group="public"] .lk-nav-link--section .lk-nav-link-text {
    margin-right: auto;
}

.lk-nav-logout {
    margin-top: 14px;
    padding-top: 0;
}

.lk-nav-logout-btn {
    width: 100%;
    border-radius: 14px;
    background: linear-gradient(180deg, #e5484d 0%, #c7222a 100%);
    border: 1px solid rgba(183, 28, 28, 0.34);
    box-shadow: 0 10px 20px rgba(183, 28, 28, 0.24);
}

.lk-nav-logout-btn:hover {
    filter: brightness(1.02);
    transform: translateY(-1px);
}

.lk-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 56px;
    margin-bottom: 14px;
    padding: 10px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.70);
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 28px rgba(15, 29, 46, 0.06);
    backdrop-filter: blur(10px);
    box-sizing: border-box;
}

.lk-topbar-main {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 34px;
    flex: 1 1 auto;
}

.lk-topbar-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    min-height: 34px;
}

.lk-topbar-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.lk-topbar-breadcrumb__link,
.lk-topbar-title {
    color: #1d2a44;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.lk-topbar-breadcrumb__sep {
    color: rgba(95, 111, 134, 0.8);
    font-size: 18px;
    line-height: 1;
}

.lk-topbar-title {
    display: inline-flex;
    align-items: center;
}

.lk-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border-radius: 14px;
    border: 1px solid rgba(31, 102, 194, 0.18);
    background: linear-gradient(135deg, var(--lk-blue), var(--lk-blue-2));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(31, 102, 194, 0.24);
    padding: 0;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.lk-nav-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(31, 102, 194, 0.28);
    filter: brightness(1.03);
}

.lk-nav-toggle__lines {
    display: inline-grid;
    gap: 4px;
}

.lk-nav-toggle__lines span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.lk-card {
    background: var(--lk-card);
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: var(--lk-radius);
    box-shadow: var(--lk-shadow);
    padding: 26px;
    backdrop-filter: blur(10px);
}

.lk-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.lk-success-toast {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 150;
    max-width: min(680px, calc(100vw - 32px));
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid rgba(18, 122, 76, 0.35);
    background: rgba(223, 250, 236, 0.98);
    color: #0f6a42;
    font-weight: 800;
    text-align: center;
    box-shadow: 0 12px 28px rgba(12, 40, 27, 0.22);
    transition: opacity .45s ease, transform .45s ease;
}

.lk-success-toast.is-hiding {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
}

.lk-header--actions {
    justify-content: flex-end;
}

.lk-title {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.lk-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.lk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(180deg, var(--lk-blue) 0%, #244fc8 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 10px 16px;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.12s ease, filter 0.12s ease;
    user-select: none;
}

.lk-btn:hover { filter: brightness(1.03); }
.lk-btn:active { transform: translateY(1px); }

.lk-btn-secondary {
    background: var(--lk-soft);
    color: var(--lk-blue);
    border: 1px solid rgba(45, 93, 225, 0.18);
}

.lk-btn--topbar {
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 11px;
    font-size: 14px;
    line-height: 1.1;
    font-weight: 700;
    white-space: nowrap;
}

.lk-btn-danger {
    background: linear-gradient(180deg, #d73a49 0%, #b42318 100%);
    color: #fff;
    border: 1px solid rgba(180, 35, 24, 0.28);
}

.lk-actions--between {
    justify-content: space-between;
}

.lk-actions-service {
    position: relative;
    margin-left: auto;
    padding: 10px 16px;
}

.lk-actions-service__text {
    display: inline;
}

.lk-link {
    color: var(--lk-blue);
    text-decoration: none;
    font-weight: 700;
}
.lk-link:hover { text-decoration: underline; }

@media (max-width: 640px) {
    .lk-actions-service {
        width: 44px;
        min-width: 44px;
        height: 44px;
        margin-left: 0;
        padding: 0;
        border-radius: 13px;
    }

    .lk-actions-service::before {
        content: '';
        width: 20px;
        height: 20px;
        background: currentColor;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E") center / contain no-repeat;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .lk-actions-service__text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

.lk-note {
    color: var(--lk-muted);
    margin: 10px 0 0;
}

.lk-muted {
    color: var(--lk-muted);
    font-size: 13px;
}

.lk-help-text {
    margin-top: 6px;
    font-size: 13px;
    color: var(--lk-muted);
}

.lk-note--centered {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.lk-error {
    background: var(--lk-warn-bg);
    color: var(--lk-warn);
    border-radius: 12px;
    padding: 12px 14px;
    margin: 14px 0 16px;
    border: 1px solid rgba(180, 35, 24, 0.18);
}

.lk-success {
    background: linear-gradient(180deg, rgba(232, 248, 240, 0.96) 0%, rgba(246, 255, 250, 0.96) 100%);
    color: #128056;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 14px 0 16px;
    border: 1px solid rgba(18, 128, 86, 0.18);
}

/* Auth */
.lk-auth-page {
    --auth-hue: 186;
    --auth-softness: 5px;
    --auth-saturation: 1.06;
    --auth-brightness: 1.03;
    --auth-contrast: 1.03;
    --auth-tint: 0.09;
    min-height: 100vh;
    background-color: #f0fdfa;
    background:
        linear-gradient(180deg, rgba(248, 251, 255, 0.62), rgba(239, 248, 255, 0.58)),
        url('/img/AstGMU_pan.png') center center / cover no-repeat fixed;
}

.lk-auth-page::before {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(236, 246, 255, 0.20)),
        radial-gradient(34% 25% at 50% 16%, rgba(34, 211, 238, 0.16), transparent 72%),
        radial-gradient(30% 24% at 84% 18%, rgba(5, 150, 105, 0.11), transparent 72%);
}

.lk-auth-page::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(42% 34% at 50% 18%, hsla(var(--auth-hue), 82%, 76%, calc(var(--auth-tint) * 0.76)), transparent 72%),
        linear-gradient(135deg, hsla(var(--auth-hue), 86%, 78%, calc(var(--auth-tint) * 0.68)), rgba(255, 255, 255, 0));
    backdrop-filter:
        blur(var(--auth-softness))
        saturate(var(--auth-saturation))
        brightness(var(--auth-brightness))
        contrast(var(--auth-contrast));
}

.lk-auth-wrap {
    box-sizing: border-box;
    width: 100%;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 40px 18px;
    position: relative;
    z-index: 1;
}

.lk-auth-card {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: min(520px, calc(100vw - 24px));
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: calc(var(--lk-radius) + 2px);
    box-shadow: var(--lk-shadow);
    padding: 30px;
    backdrop-filter: blur(10px);
}

@media (max-width: 640px) {
    .lk-auth-wrap {
        padding: 26px 12px;
    }

    .lk-auth-card {
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        padding: 24px;
    }
}

.lk-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(231, 240, 255, 0.8);
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lk-subtitle {
    margin: 6px 0 22px;
    color: var(--lk-muted);
}

.lk-auth-message {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 22px 0;
    color: var(--lk-text);
}

.lk-auth-message__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(45, 93, 225, 0.10);
    color: var(--lk-blue);
}

.lk-auth-message__icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lk-auth-message strong {
    display: block;
    margin-bottom: 5px;
    font-size: 17px;
}

.lk-auth-message p {
    margin: 0;
    color: var(--lk-muted);
    line-height: 1.55;
}

/* Forms */
.lk-form {
    max-width: 680px;
}

.lk-form--centered {
    margin-left: auto;
    margin-right: auto;
}

.lk-form label,
.lk-label {
    display: block;
    font-size: 12px;
    color: var(--lk-muted);
    margin-bottom: 6px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.lk-form input,
.lk-form textarea,
.lk-form select,
.lk-input {
    width: 100%;
    border: 1px solid rgba(21, 41, 66, 0.18);
    border-radius: 12px;
    padding: 11px 12px;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--lk-ink);
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.lk-form input[type="checkbox"],
.lk-form input[type="radio"] {
    width: auto;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}

.lk-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-height: 44px;
    padding-right: 42px;
    border-color: #c5cedd;
    background-color: #fff;
    font-size: 15px;
    line-height: 1.25;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235b7cff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
}

.lk-form select::-ms-expand {
    display: none;
}

.lk-phone-control {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
}

.lk-form .lk-phone-local-input {
    min-width: 0;
}

.lk-phone-code-picker {
    position: relative;
    min-width: 0;
}

.lk-phone-code-trigger {
    position: relative;
    width: 100%;
    min-height: 44px;
    padding: 0 34px 0 13px;
    border: 1px solid rgba(21, 41, 66, 0.18);
    border-radius: 12px;
    background: #f5f8ff;
    color: #1747b9;
    font: 900 15px/1 var(--lk-font, "Segoe UI", Tahoma, sans-serif);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.lk-phone-code-trigger::after {
    content: "";
    position: absolute;
    right: 13px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-65%) rotate(45deg);
}

.lk-phone-code-picker.is-open .lk-phone-code-trigger::after {
    transform: translateY(-30%) rotate(225deg);
}

.lk-phone-code-trigger:hover,
.lk-phone-code-trigger:focus-visible {
    outline: none;
    border-color: rgba(45, 93, 225, 0.55);
    box-shadow: 0 0 0 4px rgba(45, 93, 225, 0.12);
    background: #fff;
}

.lk-phone-code-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    left: 0;
    width: min(320px, calc(100vw - 36px));
    max-height: 220px;
    overflow: auto;
    padding: 6px;
    border: 1px solid rgba(21, 41, 66, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 44px rgba(15, 29, 46, 0.18);
}

.lk-picker-search {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 4px 4px 7px;
    background: rgba(255, 255, 255, 0.98);
}

.lk-picker-search__input {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid rgba(21, 41, 66, 0.14);
    border-radius: 10px;
    background: #f7faff;
    color: #1d2a44;
    font-size: 13px;
}

.lk-picker-search__input:focus {
    outline: none;
    border-color: rgba(45, 93, 225, 0.55);
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.10);
    background: #fff;
}

.lk-phone-code-option {
    width: 100%;
    min-height: 42px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    border: 0;
    border-radius: 10px;
    padding: 8px 10px;
    background: transparent;
    color: #1d2a44;
    text-align: left;
    cursor: pointer;
}

.lk-phone-code-option span {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
}

.lk-phone-code-option strong {
    color: #1747b9;
    font-size: 13px;
    font-weight: 900;
}

.lk-phone-code-option:hover,
.lk-phone-code-option:focus-visible {
    outline: none;
    background: rgba(231, 240, 255, 0.82);
}

.lk-phone-code-option[aria-current="true"] {
    background: rgba(45, 93, 225, 0.12);
    color: #1747b9;
}

.lk-phone-control.lk-field-invalid .lk-phone-code-trigger,
.lk-phone-control.lk-field-invalid .lk-phone-local-input {
    border-color: rgba(180, 35, 24, 0.68) !important;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.14) !important;
    background-color: #fff8f8 !important;
}

.lk-phone-control.lk-field-valid-flash .lk-phone-code-trigger,
.lk-phone-control.lk-field-valid-flash .lk-phone-local-input {
    animation: lkFieldValidFlash 0.65s ease;
}

.lk-form textarea {
    resize: none;
    overflow-y: hidden;
}

.lk-form input:focus,
.lk-form textarea:focus,
.lk-form select:focus,
.lk-input:focus {
    outline: none;
    border-color: rgba(45, 93, 225, 0.55);
    box-shadow: 0 0 0 4px rgba(45, 93, 225, 0.12);
    background: #fff;
}

.lk-form select:focus {
    border-color: #6f8efb;
    box-shadow: 0 0 0 3px rgba(91, 124, 255, 0.15);
    background-color: #fbfcff;
}

.lk-form input.lk-field-invalid,
.lk-form textarea.lk-field-invalid,
.lk-form select.lk-field-invalid,
.lk-input.lk-field-invalid {
    border-color: rgba(180, 35, 24, 0.68) !important;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.14) !important;
    background: #fff8f8 !important;
}

.lk-workplace-picker.lk-field-invalid .lk-workplace-trigger {
    border-color: rgba(180, 35, 24, 0.68) !important;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.14) !important;
    background: #fff8f8 !important;
}

.lk-consent-card.lk-field-invalid {
    border-color: rgba(180, 35, 24, 0.35) !important;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.10) !important;
    background: #fff8f8 !important;
}

#edu-doc-add.lk-field-invalid,
#employment-doc-add.lk-field-invalid {
    border-color: rgba(180, 35, 24, 0.62) !important;
    color: #b42318 !important;
    background: #fff8f8 !important;
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.10) !important;
}

@keyframes lkFieldValidFlash {
    0% {
        border-color: rgba(18, 122, 76, 0.74);
        box-shadow: 0 0 0 4px rgba(18, 122, 76, 0.16);
        background: #f1fff8;
    }
    100% {
        border-color: inherit;
        box-shadow: none;
        background: inherit;
    }
}

.lk-form input.lk-field-valid-flash,
.lk-form textarea.lk-field-valid-flash,
.lk-form select.lk-field-valid-flash,
.lk-input.lk-field-valid-flash {
    animation: lkFieldValidFlash 0.65s ease;
}

.lk-workplace-picker.lk-field-valid-flash .lk-workplace-trigger,
.lk-consent-card.lk-field-valid-flash {
    animation: lkFieldValidFlash 0.65s ease;
}

#edu-doc-add.lk-field-valid-flash,
#employment-doc-add.lk-field-valid-flash {
    animation: lkFieldValidFlash 0.65s ease;
}

.lk-form .lk-row,
.lk-field { margin-bottom: 16px; }

.lk-form-section {
    position: relative;
    z-index: 0;
    padding: 12px 14px 6px;
    margin: 0 auto 14px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.56);
}

.lk-form-section:focus-within {
    z-index: 8;
}

.lk-form-section > h2 {
    margin-top: 0;
}

.lk-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.lk-form-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lk-row--span2 {
    grid-column: span 2;
}

.lk-row--span4 {
    grid-column: 1 / -1;
}

.lk-row--under-issued-by {
    grid-column: 1 / span 2;
}

.lk-form-grid .lk-row {
    margin-bottom: 0;
}

.lk-subnote {
    margin-top: 6px;
    font-size: 12px;
    color: var(--lk-muted);
    line-height: 1.35;
}

.lk-file-control {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lk-file-control input[type="file"] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 46px;
    padding: 6px 10px;
    border-color: rgba(45, 93, 225, 0.22);
    background: rgba(255, 255, 255, 0.92);
    color: var(--lk-muted);
}

.lk-file-control input[type="file"]::file-selector-button {
    margin: 0 10px 0 0;
    border: 1px solid rgba(45, 93, 225, 0.24);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(231, 240, 255, 0.96) 0%, rgba(219, 232, 255, 0.96) 100%);
    color: var(--lk-blue);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.01em;
    padding: 9px 14px;
    cursor: pointer;
    transition: filter 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.lk-file-control input[type="file"]::file-selector-button:hover {
    filter: brightness(1.03);
    box-shadow: 0 6px 14px rgba(45, 93, 225, 0.16);
}

.lk-file-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(45, 93, 225, 0.16);
    border-radius: 12px;
    background: rgba(239, 244, 255, 0.74);
    color: #52657f;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
}

.lk-file-current__link {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 10px;
    border: 0;
    background: rgba(45, 93, 225, 0.11);
    color: #1747b9;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.lk-file-current__link:hover,
.lk-file-current__link:focus-visible {
    outline: none;
    background: rgba(45, 93, 225, 0.18);
}

.lk-file-control input[type="file"]::file-selector-button:active {
    transform: translateY(1px);
}

.lk-file-control input[type="file"]::-webkit-file-upload-button {
    margin: 0 10px 0 0;
    border: 1px solid rgba(45, 93, 225, 0.24);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(231, 240, 255, 0.96) 0%, rgba(219, 232, 255, 0.96) 100%);
    color: var(--lk-blue);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0.01em;
    padding: 9px 14px;
    cursor: pointer;
    transition: filter 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

.lk-file-control .lk-btn {
    flex: 0 0 auto;
    margin-top: 0;
    min-width: 110px;
}

.lk-file-upload-progress {
    margin-top: 8px;
    padding: 9px 10px;
    border: 1px solid rgba(45, 93, 225, 0.14);
    border-radius: 10px;
    background: rgba(247, 250, 255, 0.92);
    color: #4f617a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.lk-file-upload-progress[hidden] {
    display: none;
}

.lk-file-upload-progress__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.lk-file-upload-progress__label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.lk-file-upload-progress__value {
    flex: 0 0 auto;
    color: #1d4ed8;
}

.lk-file-upload-progress__track {
    position: relative;
    overflow: hidden;
    height: 7px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.12);
}

.lk-file-upload-progress__bar {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2d5de1 0%, #0ea5a4 100%);
    transition: width 0.22s ease;
}

.lk-file-upload-progress.is-processing .lk-file-upload-progress__bar {
    background: linear-gradient(90deg, #2d5de1 0%, #0ea5a4 45%, #2d5de1 100%);
    background-size: 180% 100%;
    animation: lk-file-upload-processing 1.2s linear infinite;
}

.lk-file-upload-progress.is-complete {
    border-color: rgba(16, 185, 129, 0.24);
    background: rgba(239, 253, 246, 0.92);
}

.lk-file-upload-progress.is-complete .lk-file-upload-progress__value {
    color: #047857;
}

.lk-file-upload-progress.is-error {
    border-color: rgba(220, 38, 38, 0.24);
    background: rgba(255, 241, 242, 0.92);
}

.lk-file-upload-progress.is-error .lk-file-upload-progress__bar {
    background: #dc2626;
}

.lk-file-upload-progress.is-error .lk-file-upload-progress__value {
    color: #b91c1c;
}

@keyframes lk-file-upload-processing {
    from {
        background-position: 0% 50%;
    }
    to {
        background-position: 180% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lk-file-upload-progress__bar {
        transition: none;
    }

    .lk-file-upload-progress.is-processing .lk-file-upload-progress__bar {
        animation: none;
    }
}

@media (min-width: 1041px) {
    .lk-passport-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        grid-template-areas:
            "scan-main scan-main scan-main scan-main scan-main scan-main"
            "scan-reg scan-reg scan-reg scan-reg scan-reg scan-reg"
            "recognize recognize recognize recognize recognize recognize"
            "series series number number issue-date issue-date"
            "issued-by issued-by issued-by issued-by issued-by issued-by"
            "reg-address reg-address reg-address reg-address reg-address reg-address"
            "raw raw raw raw raw raw";
    }

    .lk-passport-scan-main { grid-area: scan-main; }
    .lk-passport-scan-reg { grid-area: scan-reg; }
    .lk-passport-recognize { grid-area: recognize; }
    .lk-passport-series { grid-area: series; }
    .lk-passport-number { grid-area: number; }
    .lk-passport-issue-date { grid-area: issue-date; }
    .lk-passport-issued-by { grid-area: issued-by; }
    .lk-passport-reg-address { grid-area: reg-address; }
    .lk-passport-ocr-raw { grid-area: raw; }

    .lk-passport-recognize .lk-btn {
        margin-top: 2px;
    }

    .lk-passport-recognize #passport-ocr-status {
        min-height: 18px;
    }
}

.lk-form .lk-actions {
    margin-top: 20px;
}

.lk-form-shell {
    max-width: 680px;
    margin: 0 auto;
}

.lk-form-shell .lk-header--actions {
    margin-bottom: 8px;
}

.lk-form-consent-stack {
    max-width: 680px;
    margin: 0 auto;
    display: grid;
    gap: 10px;
}

.lk-consent-card {
    padding: 10px 12px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.56);
}

.lk-form .lk-actions--submit {
    margin-top: 4px;
    justify-content: flex-start;
}

.lk-label-with-help {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lk-help-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(45, 93, 225, 0.22);
    background: rgba(231, 240, 255, 0.72);
    color: var(--lk-blue);
    font-size: 11px;
    font-weight: 900;
    cursor: help;
    user-select: none;
}

.lk-help-tip::after {
    content: attr(data-help-text);
    position: absolute;
    left: 50%;
    top: calc(100% + 10px);
    transform: translateX(-50%);
    min-width: 280px;
    max-width: min(520px, 80vw);
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(15, 29, 46, 0.96);
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
    text-align: left;
    box-shadow: 0 12px 28px rgba(15, 29, 46, 0.28);
    opacity: 0;
    pointer-events: none;
    z-index: 30;
    white-space: normal;
}

.lk-help-tip::before {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(100% + 4px);
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: rgba(15, 29, 46, 0.96);
    opacity: 0;
    pointer-events: none;
    z-index: 31;
}

.lk-help-tip:hover::after,
.lk-help-tip:hover::before,
.lk-help-tip:focus::after,
.lk-help-tip:focus::before {
    opacity: 1;
}

.lk-help-tip:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.14);
}

.lk-password-field {
    position: relative;
}

.lk-password-field input {
    padding-right: 48px;
}

.lk-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(21, 41, 66, 0.14);
    background: rgba(255, 255, 255, 0.92);
    color: var(--lk-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}

.lk-password-toggle svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lk-password-toggle:hover {
    color: var(--lk-blue);
    border-color: rgba(45, 93, 225, 0.22);
}

.lk-password-toggle.is-active {
    color: var(--lk-blue);
    background: rgba(231, 240, 255, 0.78);
    border-color: rgba(45, 93, 225, 0.22);
}

.lk-password-toggle:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.14);
}

.lk-password-tools {
    margin-top: 8px;
}

.lk-password-tools .lk-btn {
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 13px;
}

.lk-section-title {
    margin-top: 28px;
}

.lk-row--check label {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
    color: var(--lk-ink);
}

.lk-row--check input[type="checkbox"] {
    margin: 0;
    flex: 0 0 auto;
}

.lk-ok {
    margin: 0 auto 14px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(18, 128, 86, 0.24);
    color: #0f5f41;
    background: rgba(225, 247, 238, 0.9);
}

/* Tables */
.lk-table-wrap {
    margin-top: 14px;
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(21, 41, 66, 0.12);
    background: rgba(255, 255, 255, 0.70);
}

.lk-table-wrap--manager-applications {
    overflow: visible;
}

.lk-table-wrap--attendance {
    overflow: visible;
}

.lk-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 14px;
    min-width: 720px;
}

.lk-table th,
.lk-table td {
    border-bottom: 1px solid rgba(21, 41, 66, 0.10);
    padding: 12px 12px;
    text-align: left;
    vertical-align: middle;
    background: transparent;
}

.lk-table th {
    font-size: 12px;
    color: var(--lk-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 900;
    background: rgba(231, 240, 255, 0.55);
}

.lk-table tbody tr:hover td {
    background: rgba(231, 240, 255, 0.35);
}

.lk-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.lk-table--streams td:first-child {
    min-width: 260px;
}

.lk-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.lk-inline-form input,
.lk-inline-form select {
    padding: 9px 10px;
    border-radius: 10px;
}

.lk-inline-form input[type="email"] { min-width: 220px; }
.lk-inline-form input[type="text"] { min-width: 220px; }
.lk-inline-form input[type="password"] { min-width: 220px; }
.lk-inline-form select { min-width: 180px; }

.lk-contact-cell {
    display: grid;
    gap: 6px;
    min-width: 180px;
}

.lk-contact-card-button {
    width: fit-content;
    max-width: 100%;
    border: 1px solid rgba(47, 103, 226, 0.22);
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(232, 239, 255, 0.82);
    color: var(--lk-blue);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.lk-contact-card-button:hover,
.lk-contact-card-button:focus-visible {
    background: #ffffff;
    border-color: rgba(47, 103, 226, 0.48);
    transform: translateY(-1px);
}

/* Manager applications queue */
.lk-table-wrap--manager-applications {
    overflow: visible;
}

.lk-table.lk-manager-applications-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    font-size: 13px;
}

.lk-manager-applications-table__col-number { width: 7%; }
.lk-manager-applications-table__col-listener { width: 17%; }
.lk-manager-applications-table__col-course { width: 19%; }
.lk-manager-applications-table__col-status { width: 18%; }
.lk-manager-applications-table__col-reason { width: 13%; }
.lk-manager-applications-table__col-created { width: 9%; }
.lk-manager-applications-table__col-actions { width: 17%; }

.lk-manager-applications-table th {
    padding: 9px 10px;
    white-space: nowrap;
}

.lk-manager-applications-table td {
    padding: 8px 10px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.lk-manager-applications-table__number,
.lk-manager-applications-table__created,
.lk-manager-applications-table__reason {
    white-space: nowrap;
}

.lk-manager-applications-table__reason {
    color: var(--lk-muted);
}

.lk-manager-applications-table__entity-trigger {
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--lk-ink);
    font: inherit;
    font-weight: 800;
    line-height: inherit;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.lk-manager-applications-table__entity-trigger--course {
    color: var(--lk-blue);
}

.lk-manager-applications-table__entity-trigger:hover {
    color: var(--lk-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lk-manager-applications-table__entity-trigger:focus-visible {
    border-radius: 4px;
    outline: 2px solid rgba(47, 103, 226, 0.70);
    outline-offset: 2px;
}

.lk-manager-application-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.lk-manager-applications-table .lk-status-chip {
    min-width: 0;
    overflow: hidden;
    padding: 5px 9px;
    text-overflow: ellipsis;
}

.lk-manager-applications-table .lk-status-chip.is-pending {
    border-color: rgba(47, 103, 226, 0.28);
    background: rgba(224, 238, 255, 0.94);
    color: #2459b6;
}

.lk-manager-applications-table .lk-status-chip.is-approved,
.lk-manager-applications-table .lk-status-chip.is-enrolled {
    border-color: rgba(18, 128, 86, 0.28);
    background: rgba(225, 247, 238, 0.95);
    color: #0f5f41;
}

.lk-manager-applications-table .lk-status-chip.is-rejected {
    border-color: rgba(180, 35, 24, 0.30);
    background: rgba(255, 236, 236, 0.95);
    color: #9f1d14;
}

.lk-manager-applications-table .lk-status-chip.is-deleted {
    border-color: rgba(95, 111, 134, 0.26);
    background: rgba(237, 241, 246, 0.96);
    color: #526176;
}

.lk-manager-application-status__new {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid rgba(47, 103, 226, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: #2459b6;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.lk-manager-applications-table__actions .lk-inline-form {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.lk-manager-applications-table__actions {
    overflow: visible !important;
    white-space: normal !important;
}

.lk-manager-applications-table__actions .lk-inline-form select,
.lk-manager-applications-table__actions .lk-inline-form input {
    min-width: 0;
    min-height: 32px;
    padding: 6px 8px;
    border-radius: 8px;
    font-size: 12px;
}

.lk-manager-applications-table__actions .lk-inline-form select {
    width: auto;
    flex: 1 1 0;
}

.lk-manager-applications-table__actions .lk-inline-form .js-reason {
    flex: 1 0 100%;
    width: 100%;
}

.lk-manager-applications-table__actions .lk-inline-form .lk-btn {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
}

.lk-manager-application-row.is-pending > td {
    background: rgba(232, 242, 255, 0.62);
}

.lk-manager-application-row.is-pending > td:first-child {
    box-shadow: inset 4px 0 0 rgba(47, 103, 226, 0.72);
}

.lk-manager-applications-table tbody .lk-manager-application-row.is-pending:hover > td {
    background: rgba(222, 236, 255, 0.80);
}

/* Per-manager attention state for new applications and changed listener cards. */
.lk-queue-attention-note {
    margin: 12px 0 10px;
    color: var(--lk-muted);
    font-size: 13px;
    line-height: 1.45;
}

.lk-table--attention-queue .lk-queue-attention-row > td {
    background: rgba(235, 244, 255, 0.58);
}

.lk-table--attention-queue .lk-queue-attention-row > td:first-child {
    box-shadow: inset 3px 0 0 rgba(47, 103, 226, 0.72);
}

.lk-table--attention-queue tbody .lk-queue-attention-row:hover > td {
    background: rgba(225, 239, 255, 0.76);
}

/* The listener-card queue uses the same SQL attention flag for order and row state. */
.lk-table--listener-card-queue .lk-listener-card-attention-row > td {
    background: rgba(235, 244, 255, 0.58);
}

.lk-table--listener-card-queue .lk-listener-card-attention-row > td:first-child {
    box-shadow: inset 3px 0 0 rgba(47, 103, 226, 0.72);
}

.lk-table--listener-card-queue tbody .lk-listener-card-attention-row:hover > td {
    background: rgba(225, 239, 255, 0.76);
}

.lk-queue-attention-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin: 4px 0 0;
    padding: 3px 7px;
    border: 1px solid rgba(47, 103, 226, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: #2459b6;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.lk-queue-attention-badge.is-changed {
    border-color: rgba(77, 112, 163, 0.24);
    color: #3d5f91;
}

@media (max-width: 760px) {
    .lk-table-wrap--manager-applications {
        overflow-x: auto;
    }

    .lk-table.lk-manager-applications-table {
        min-width: 760px;
    }

    .lk-manager-applications-table__actions .lk-inline-form {
        flex-wrap: nowrap;
    }
}

.lk-contact-modal[hidden] {
    display: none;
}

.lk-contact-modal {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.50);
    backdrop-filter: blur(5px);
}

.lk-contact-modal__backdrop {
    position: absolute;
    inset: 0;
    background: transparent;
}

.lk-contact-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: min(720px, calc(100vh - 48px));
    overflow: auto;
    border: 1px solid rgba(207, 218, 235, 0.92);
    border-radius: 22px;
    padding: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.96));
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    color: #10233d;
}

.lk-contact-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.lk-contact-modal__eyebrow {
    margin-bottom: 6px;
    color: var(--lk-blue);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lk-contact-modal__head h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.18;
    letter-spacing: 0;
}

.lk-contact-modal__close {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid rgba(47, 103, 226, 0.18);
    border-radius: 12px;
    background: rgba(232, 239, 255, 0.78);
    color: #10233d;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
}

.lk-contact-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.lk-contact-modal__item {
    min-width: 0;
    border: 1px solid rgba(207, 218, 235, 0.8);
    border-radius: 14px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.76);
}

.lk-contact-modal__item--wide {
    grid-column: 1 / -1;
}

.lk-contact-modal__item span {
    display: block;
    margin-bottom: 5px;
    color: #66758c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
}

.lk-contact-modal__item strong {
    display: block;
    color: #10233d;
    font-size: 15px;
    line-height: 1.32;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.lk-contact-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.lk-attendance-summary {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.lk-attendance-summary span {
    color: var(--lk-ink);
    font-weight: 800;
    white-space: nowrap;
}

.lk-attendance-summary .lk-btn,
.lk-table-actions .lk-contact-card-button {
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.15;
}

.lk-attendance-popover {
    position: fixed;
    top: 86px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 950;
    width: min(760px, calc(100vw - 48px));
    max-height: min(640px, calc(100vh - 120px));
    overflow: auto;
    padding: 0;
    border: 1px solid rgba(166, 190, 235, 0.55);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 60px rgba(15, 35, 74, 0.2);
}

.lk-attendance-popover[hidden] {
    display: none;
}

.lk-attendance-popover__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 10px;
}

.lk-attendance-popover__head h3 {
    margin: 0;
    color: var(--lk-ink);
    font-size: 17px;
    font-weight: 900;
}

.lk-attendance-popover__close {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(166, 190, 235, 0.7);
    border-radius: 10px;
    background: #fff;
    color: var(--lk-muted);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.lk-attendance-popover__meta {
    padding: 0 18px 12px;
    color: var(--lk-ink);
    font-weight: 800;
}

.lk-attendance-popover__meta span {
    color: var(--lk-muted);
    font-size: 13px;
}

.lk-attendance-form {
    display: grid;
}

.lk-attendance-form label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: var(--lk-muted);
    font-size: 13px;
    font-weight: 800;
}

.lk-attendance-form select,
.lk-attendance-form textarea {
    width: 100%;
}

.lk-attendance-form textarea {
    min-height: 96px;
    resize: none;
}

.lk-attendance-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 420px;
    border-top: 1px solid rgba(21, 41, 66, 0.08);
}

.lk-attendance-board.is-comment-open {
    grid-template-columns: 250px minmax(0, 1fr);
}

.lk-attendance-side {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 22px 18px;
    background: linear-gradient(180deg, #7fb0d2 0%, #6aa1c7 100%);
    color: #ffffff;
}

.lk-attendance-side[hidden] {
    display: none;
}

.lk-attendance-side__date {
    font-size: 26px;
    line-height: 1.1;
    font-weight: 300;
}

.lk-attendance-side label {
    color: rgba(255, 255, 255, 0.88);
}

.lk-attendance-side textarea {
    min-height: 180px;
    border-color: rgba(255, 255, 255, 0.44);
    background: rgba(255, 255, 255, 0.94);
}

.lk-attendance-main {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 22px 26px 20px;
    background: rgba(255, 255, 255, 0.98);
}

.lk-attendance-months {
    display: grid;
    gap: 18px;
}

.lk-attendance-month__head {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    margin-bottom: 22px;
    color: #6a7280;
}

.lk-attendance-month__head strong {
    color: #596474;
    font-size: 24px;
    line-height: 1.1;
    font-weight: 400;
}

.lk-attendance-month__head span {
    color: #8c96a5;
    font-size: 16px;
    font-weight: 500;
}

.lk-attendance-weekdays,
.lk-attendance-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.lk-attendance-weekdays {
    margin-bottom: 9px;
}

.lk-attendance-weekdays span {
    color: #66758c;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.lk-attendance-calendar-grid {
    gap: 6px;
}

.lk-attendance-day {
    min-width: 0;
    min-height: 44px;
    padding: 4px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--lk-ink);
    font-family: inherit;
    cursor: pointer;
    display: grid;
    align-content: center;
    gap: 2px;
    text-align: center;
    transition: border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lk-attendance-day:hover,
.lk-attendance-day.is-selected {
    border-color: rgba(45, 93, 225, 0.55);
    background: rgba(126, 176, 211, 0.16);
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.10);
}

.lk-attendance-day:active {
    transform: translateY(1px);
}

.lk-attendance-day strong {
    font-size: 14px;
    line-height: 1;
}

.lk-attendance-day small {
    color: var(--lk-blue);
    font-size: 8px;
    font-weight: 900;
    line-height: 1.1;
}

.lk-attendance-day.is-disabled,
.lk-attendance-day--empty {
    color: rgba(95, 111, 134, 0.28);
    cursor: default;
}

.lk-attendance-day.is-disabled:hover,
.lk-attendance-day--empty:hover {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.lk-attendance-day.is-confirmed {
    border-color: rgba(39, 181, 140, 0.46);
    background: rgba(224, 247, 239, 0.96);
}

.lk-attendance-day.is-absent {
    border-color: rgba(212, 68, 78, 0.38);
    background: rgba(255, 236, 236, 0.96);
}

.lk-attendance-day.is-contact_failed,
.lk-attendance-day.is-needs_clarification {
    border-color: rgba(245, 158, 11, 0.42);
    background: rgba(255, 247, 226, 0.96);
}

.lk-attendance-editor {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(166, 190, 235, 0.5);
    border-radius: 14px;
    background: rgba(247, 250, 255, 0.72);
}

.lk-attendance-editor[hidden] {
    display: none;
}

.lk-attendance-editor__date {
    flex: 1 1 130px;
    color: var(--lk-blue);
    font-size: 13px;
    font-weight: 900;
}

.lk-attendance-editor label:not(.lk-attendance-comment-toggle) {
    flex: 1 1 180px;
}

.lk-attendance-comment-toggle {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 9px !important;
    width: fit-content;
    padding: 7px 10px;
    border-radius: 12px;
    background: rgba(231, 240, 255, 0.72);
    color: var(--lk-ink);
    cursor: pointer;
}

.lk-attendance-comment-toggle input {
    width: 16px;
    height: 16px;
    accent-color: var(--lk-blue);
}

.lk-attendance-comment-box[hidden] {
    display: none;
}

.lk-attendance-form__actions {
    display: flex;
    justify-content: flex-start;
    padding: 0 26px 20px;
    background: rgba(255, 255, 255, 0.98);
}

.lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
    padding-left: 276px;
}

@media (max-width: 720px) {
    .lk-attendance-popover {
        top: 72px;
        width: calc(100vw - 24px);
        max-height: calc(100vh - 96px);
    }

    .lk-attendance-board,
    .lk-attendance-board.is-comment-open {
        grid-template-columns: 1fr;
    }

    .lk-attendance-side {
        order: 2;
    }

    .lk-attendance-main {
        padding: 18px 16px;
    }

    .lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
        padding-left: 16px;
    }

    .lk-attendance-form__actions {
        padding: 0 16px 18px;
    }
}

/* Final ambient layer: kept above the neutral page fill, beneath all LK content. */
.lk-page .lk-ambient-background {
    --lk-ambient-x: 76vw;
    --lk-ambient-y: 18vh;
    position: fixed;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    background: transparent;
}

.lk-page .lk-ambient-background::before,
.lk-page .lk-ambient-background::after {
    position: absolute;
    width: 560px;
    height: 460px;
    border-radius: 50%;
    content: '';
    filter: blur(28px);
    will-change: transform;
}

.lk-page .lk-ambient-background::before {
    top: calc(var(--lk-ambient-y) - 230px);
    left: calc(var(--lk-ambient-x) - 280px);
    background: radial-gradient(circle, rgba(113, 169, 224, .30) 0%, rgba(151, 196, 236, .18) 42%, transparent 72%);
}

.lk-page .lk-ambient-background::after {
    right: 8vw;
    bottom: -150px;
    width: 500px;
    height: 390px;
    background: radial-gradient(circle, rgba(125, 192, 171, .20) 0%, rgba(171, 220, 205, .12) 46%, transparent 72%);
}

.lk-page .lk-shell {
    z-index: 2;
}

@media (max-width: 980px) {
    .lk-page .lk-ambient-background::before {
        top: -150px;
        right: -240px;
        left: auto;
        width: 440px;
        height: 360px;
        background: radial-gradient(circle, rgba(113, 169, 224, .18) 0%, transparent 72%);
    }

    .lk-page .lk-ambient-background::after {
        right: -230px;
        bottom: -150px;
        width: 390px;
        height: 320px;
        background: radial-gradient(circle, rgba(125, 192, 171, .12) 0%, transparent 72%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lk-page .lk-ambient-background::before,
    .lk-page .lk-ambient-background::after {
        will-change: auto;
    }
}

.lk-attendance-popover {
    width: min(720px, calc(100vw - 32px));
    max-height: calc(100vh - 120px);
    overflow: auto;
    border-radius: 22px;
    border: 1px solid rgba(174, 195, 230, 0.85);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 70px rgba(22, 44, 82, 0.18);
}

.lk-attendance-popover__head {
    padding: 14px 18px 8px;
}

.lk-attendance-popover__meta {
    padding: 0 18px 12px;
}

.calendar-shell,
.lk-attendance-board,
.lk-attendance-board.is-comment-open {
    width: 100%;
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 0;
    overflow: hidden;
    border-top: 1px solid rgba(21, 41, 66, 0.08);
    background: rgba(255, 255, 255, 0.96);
}

.calendar-side,
.lk-attendance-side {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 28px 24px;
    color: #ffffff;
    background: linear-gradient(180deg, rgba(103, 155, 213, 0.96), rgba(71, 126, 190, 0.96));
}

.calendar-side__label {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.82;
}

.calendar-side__weekday {
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
}

.calendar-side__date,
.lk-attendance-side__date {
    margin-top: 2px;
    font-size: 17px;
    line-height: 1.45;
    font-weight: 700;
    opacity: 0.92;
}

.lk-attendance-comment-box {
    margin-top: 14px !important;
}

.lk-attendance-comment-box[hidden] {
    display: none !important;
}

.lk-attendance-side textarea {
    min-height: 126px;
}

.calendar-main,
.lk-attendance-main {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 26px 32px 22px;
    background: rgba(255, 255, 255, 0.98);
}

.calendar-head,
.lk-attendance-calendar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.calendar-title {
    font-size: 22px;
    font-weight: 700;
    color: #23324d;
}

.calendar-nav {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(126, 158, 207, 0.7);
    border-radius: 12px;
    background: #f7faff;
    color: #376bd8;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: 0.16s ease;
}

.calendar-nav:hover {
    background: #eaf1ff;
    border-color: #7da1ee;
}

.calendar-weekdays,
.calendar-grid,
.lk-attendance-weekdays,
.lk-attendance-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.calendar-weekdays,
.lk-attendance-weekdays {
    margin-bottom: 10px;
}

.calendar-weekday,
.lk-attendance-weekdays span {
    text-align: center;
    font-size: 11px;
    font-weight: 800;
    color: #687891;
    text-transform: uppercase;
}

.calendar-grid,
.lk-attendance-calendar-grid {
    gap: 0;
}

.calendar-day,
.lk-attendance-day {
    height: 42px;
    min-height: 0;
    margin: 3px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #17243a;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: block;
    text-align: center;
    transition: 0.14s ease;
}

.calendar-day:hover,
.lk-attendance-day:hover {
    background: #eef4ff;
    box-shadow: none;
}

.calendar-day.is-muted,
.lk-attendance-day.is-muted {
    color: #b9c2d1;
    font-weight: 600;
}

.calendar-day.is-today,
.lk-attendance-day.is-today {
    border-color: rgba(55, 107, 216, 0.45);
}

.calendar-day.is-selected,
.lk-attendance-day.is-selected {
    background: #dce9ff;
    border-color: #7da8ff;
    color: #153f9f;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.75);
}

.calendar-day:disabled,
.calendar-day.is-disabled,
.lk-attendance-day:disabled,
.lk-attendance-day.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background: transparent;
    box-shadow: none;
}

.calendar-day.is-confirmed:not(.is-selected),
.lk-attendance-day.is-confirmed:not(.is-selected) {
    border-color: rgba(39, 181, 140, 0.38);
}

.calendar-day.is-absent:not(.is-selected),
.lk-attendance-day.is-absent:not(.is-selected) {
    border-color: rgba(212, 68, 78, 0.34);
}

.calendar-day.is-contact_failed:not(.is-selected),
.calendar-day.is-needs_clarification:not(.is-selected),
.lk-attendance-day.is-contact_failed:not(.is-selected),
.lk-attendance-day.is-needs_clarification:not(.is-selected) {
    border-color: rgba(245, 158, 11, 0.36);
}

.lk-attendance-editor {
    padding: 10px;
}

.lk-attendance-form__actions,
.lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
    padding: 0 32px 22px 252px;
}

@media (max-width: 720px) {
    .lk-attendance-popover {
        width: calc(100vw - 24px);
        max-height: calc(100vh - 96px);
        border-radius: 18px;
    }

    .calendar-shell,
    .lk-attendance-board,
    .lk-attendance-board.is-comment-open {
        grid-template-columns: 1fr;
    }

    .calendar-side,
    .lk-attendance-side {
        order: 0;
        padding: 20px 22px;
    }

    .calendar-side__weekday {
        font-size: 24px;
    }

    .calendar-main,
    .lk-attendance-main {
        padding: 22px 18px 18px;
    }

    .calendar-day,
    .lk-attendance-day {
        height: 38px;
        margin: 2px;
    }

    .lk-attendance-form__actions,
    .lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
        padding: 0 18px 20px;
    }
}

.lk-attendance-popover {
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100vh - 96px);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lk-attendance-popover__head {
    padding: 12px 14px 6px;
}

.lk-attendance-popover__head h3 {
    font-size: 15px;
}

.lk-attendance-popover__close {
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 2;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(22, 44, 82, 0.14);
    font-size: 18px;
}

.lk-attendance-popover__meta {
    padding: 0 14px 9px;
    font-size: 13px;
}

.calendar-shell,
.lk-attendance-board,
.lk-attendance-board.is-comment-open {
    width: min(540px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 160px 1fr;
    min-height: 0;
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(174, 195, 230, 0.9);
    box-shadow: none;
    box-shadow: 0 18px 45px rgba(22, 44, 82, 0.16);
}

.calendar-side,
.lk-attendance-side {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 18px 16px;
    background: linear-gradient(180deg, #74a8dd, #4f87c8);
    color: #fff;
}

.calendar-side__label {
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.86;
}

.calendar-side__weekday {
    font-size: 21px;
    line-height: 1.15;
    font-weight: 800;
}

.calendar-side__date,
.lk-attendance-side__date {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
    opacity: 0.95;
}

.lk-attendance-comment-box {
    margin-top: 10px !important;
}

.lk-attendance-side textarea {
    min-height: 84px;
    font-size: 12px;
}

.lk-attendance-side-controls {
    display: grid;
    gap: 9px;
    margin-top: 12px;
}

.lk-attendance-side-controls[hidden] {
    display: none;
}

.lk-attendance-side-controls label,
.lk-attendance-comment-box {
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    font-weight: 800;
}

.lk-attendance-side-controls select {
    width: 100%;
    height: 34px;
    margin-top: 4px;
    padding: 0 34px 0 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    background-color: #fff;
    color: #1d2b44;
    font-size: 13px;
    font-weight: 700;
    outline: none;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #52709a 50%),
        linear-gradient(135deg, #52709a 50%, transparent 50%);
    background-position:
        calc(100% - 16px) 14px,
        calc(100% - 11px) 14px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.lk-attendance-side-controls select:focus {
    border-color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.22);
}

.lk-attendance-side .lk-attendance-comment-toggle.checkbox-row {
    color: rgba(255, 255, 255, 0.94);
}

.lk-attendance-side .lk-attendance-comment-toggle input {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    accent-color: #2f66d8;
}

.lk-attendance-board.is-saving .calendar-shell,
.lk-attendance-board.is-saving {
    opacity: 0.86;
}

.lk-attendance-board.is-save-error {
    box-shadow: 0 0 0 3px rgba(212, 68, 78, 0.16), 0 18px 45px rgba(22, 44, 82, 0.16);
}

.calendar-main,
.lk-attendance-main {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 18px 20px 16px;
}

.calendar-head,
.lk-attendance-calendar-head {
    margin-bottom: 12px;
}

.calendar-title {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b2b48;
}

.calendar-nav {
    width: 28px;
    height: 28px;
    border: 1px solid #b8c9ea;
    border-radius: 9px;
    background: #f8fbff;
    color: #2f66d8;
    font-size: 15px;
    font-weight: 800;
}

.calendar-weekdays,
.lk-attendance-weekdays {
    margin-bottom: 6px;
}

.calendar-weekday,
.lk-attendance-weekdays span {
    font-size: 10px;
    font-weight: 800;
    color: #64748b;
}

.calendar-day,
.lk-attendance-day {
    height: 31px;
    min-height: 0;
    margin: 2px;
    padding: 0;
    border-radius: 9px;
    color: #142238;
    font-size: 12px;
    font-weight: 800;
}

.calendar-day.is-muted,
.lk-attendance-day.is-muted {
    color: #b7c0cf;
    font-weight: 700;
}

.calendar-day.is-today,
.lk-attendance-day.is-today {
    border-color: rgba(47, 102, 216, 0.45);
}

.calendar-day.is-selected,
.lk-attendance-day.is-selected {
    background: #dce9ff;
    border-color: #7da8ff;
    color: #1646b3;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.attendance-controls,
.calendar-attendance-controls,
.attendance-status-card,
.lk-attendance-editor {
    margin-top: 0;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(188, 205, 236, 0.9);
    background: rgba(247, 250, 255, 0.94);
}

.attendance-controls label,
.calendar-attendance-controls label,
.attendance-status-card label,
.lk-attendance-editor label {
    font-size: 12px;
    font-weight: 800;
    color: #50627f;
}

.attendance-controls select,
.calendar-attendance-controls select,
.attendance-status-card select,
.lk-attendance-editor select {
    width: 100%;
    height: 34px;
    margin-top: 4px;
    padding: 0 34px 0 10px;
    border-radius: 10px;
    border: 1px solid #b8c9ea;
    background-color: #fff;
    color: #1d2b44;
    font-size: 13px;
    font-weight: 700;
    outline: none;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #52709a 50%),
        linear-gradient(135deg, #52709a 50%, transparent 50%);
    background-position:
        calc(100% - 16px) 14px,
        calc(100% - 11px) 14px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.attendance-controls select:focus,
.calendar-attendance-controls select:focus,
.attendance-status-card select:focus,
.lk-attendance-editor select:focus {
    border-color: #7da8ff;
    box-shadow: 0 0 0 3px rgba(47, 102, 216, 0.12);
}

.attendance-controls input[type="checkbox"],
.calendar-attendance-controls input[type="checkbox"],
.attendance-status-card input[type="checkbox"],
.lk-attendance-editor input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    accent-color: #2f66d8;
}

.attendance-controls .checkbox-row,
.calendar-attendance-controls .checkbox-row,
.attendance-status-card .checkbox-row,
.lk-attendance-comment-toggle.checkbox-row {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    width: fit-content;
    margin-top: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 12px;
    font-weight: 800;
    color: #50627f;
}

.lk-attendance-editor {
    gap: 8px;
}

.lk-attendance-editor__date {
    flex: 1 1 100%;
    font-size: 12px;
}

.attendance-save,
button[type="submit"].attendance-save,
.calendar-save-button {
    height: 36px;
    min-height: 36px;
    padding: 0 18px;
    border: none;
    border-radius: 11px;
    background: #2f66d8;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(47, 102, 216, 0.22);
}

.attendance-save:hover,
button[type="submit"].attendance-save:hover,
.calendar-save-button:hover {
    background: #285bc4;
}

.lk-attendance-form__actions,
.lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
    padding: 10px 14px 14px 174px;
}

.calendar-popover.is-hidden,
[data-calendar-popover].is-hidden {
    display: none;
}

@media (max-width: 640px) {
    .lk-attendance-popover {
        width: min(380px, calc(100vw - 24px));
    }

    .calendar-shell,
    .lk-attendance-board,
    .lk-attendance-board.is-comment-open {
        width: min(360px, calc(100vw - 24px));
        grid-template-columns: 1fr;
    }

    .calendar-side,
    .lk-attendance-side {
        padding: 14px 16px;
    }

    .calendar-main,
    .lk-attendance-main {
        padding: 16px;
    }

    .calendar-day,
    .lk-attendance-day {
        height: 30px;
    }

    .lk-attendance-form__actions,
    .lk-attendance-board.is-comment-open + .lk-attendance-form__actions {
        padding: 10px 16px 16px;
    }
}

.lk-attendance-popover {
    width: min(540px, calc(100vw - 32px));
    max-height: calc(100vh - 80px);
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lk-attendance-popover__head,
.lk-attendance-popover__meta,
.lk-attendance-editor,
.lk-attendance-form__actions {
    display: none !important;
}

.lk-attendance-popover__close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid rgba(184, 201, 234, 0.9);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.94);
    color: #466183;
    box-shadow: 0 8px 18px rgba(22, 44, 82, 0.14);
    font-size: 18px;
    line-height: 1;
}

.lk-attendance-popover__close:hover {
    background: #f6f9ff;
    color: #244c9f;
}

.calendar-shell,
.lk-attendance-board,
.lk-attendance-board.is-comment-open {
    width: min(540px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 160px 1fr;
    overflow: hidden;
    border: 1px solid rgba(174, 195, 230, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 45px rgba(22, 44, 82, 0.16);
}

.calendar-side,
.lk-attendance-side {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 18px 16px;
    color: #fff;
    background: linear-gradient(180deg, #74a8dd, #4f87c8);
}

.calendar-side__label {
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.86;
}

.calendar-side__weekday {
    font-size: 21px;
    line-height: 1.15;
    font-weight: 800;
}

.calendar-side__date,
.lk-attendance-side__date {
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
    opacity: 0.95;
}

.lk-attendance-side-controls {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.lk-attendance-side-controls[hidden] {
    display: none !important;
}

.lk-attendance-side-controls label,
.lk-attendance-comment-box {
    color: rgba(255, 255, 255, 0.94);
    font-size: 11px;
    font-weight: 800;
}

.lk-attendance-side-controls select {
    width: 100%;
    height: 32px;
    margin-top: 4px;
    padding: 0 30px 0 9px;
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 9px;
    background-color: #fff;
    background-image:
        linear-gradient(45deg, transparent 50%, #52709a 50%),
        linear-gradient(135deg, #52709a 50%, transparent 50%);
    background-position:
        calc(100% - 15px) 13px,
        calc(100% - 10px) 13px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    color: #1d2b44;
    font-size: 12px;
    font-weight: 800;
    outline: none;
    appearance: none;
}

.lk-attendance-side-controls select:focus {
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

.lk-attendance-side .lk-attendance-comment-toggle.checkbox-row {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    width: 100%;
    margin: 0;
    padding: 7px 8px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.95);
    font-size: 12px;
    font-weight: 800;
}

.lk-attendance-side .lk-attendance-comment-toggle input {
    width: 16px;
    height: 16px;
    margin: 0;
    border-radius: 5px;
    accent-color: #2f66d8;
}

.lk-attendance-comment-box {
    margin-top: 4px !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-4px);
    transition:
        max-height 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.2s ease,
        transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.lk-attendance-comment-box.is-open {
    max-height: 152px;
    opacity: 1;
    transform: translateY(0);
}

.lk-attendance-side textarea {
    width: 100%;
    height: 136px;
    min-height: 136px;
    max-height: 136px;
    margin-top: 4px;
    padding: 8px 9px;
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    color: #1d2b44;
    font-size: 12px;
    font-weight: 600;
    overflow-y: auto;
    resize: none;
}

.calendar-main,
.lk-attendance-main {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 18px 20px 16px;
}

.calendar-head,
.lk-attendance-calendar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.calendar-title {
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b2b48;
}

.calendar-nav {
    width: 28px;
    height: 28px;
    border: 1px solid #b8c9ea;
    border-radius: 9px;
    background: #f8fbff;
    color: #2f66d8;
    font-size: 15px;
    font-weight: 800;
}

.calendar-weekdays,
.lk-attendance-weekdays {
    margin-bottom: 6px;
}

.calendar-weekday,
.lk-attendance-weekdays span {
    font-size: 10px;
    font-weight: 800;
    color: #64748b;
}

.calendar-day,
.lk-attendance-day {
    height: 31px;
    min-height: 0;
    margin: 2px;
    padding: 0;
    border-radius: 9px;
    color: #142238;
    font-size: 12px;
    font-weight: 800;
}

.calendar-day.is-selected,
.lk-attendance-day.is-selected {
    background: #dce9ff;
    border-color: #7da8ff;
    color: #1646b3;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.lk-attendance-board.is-saving {
    opacity: 1;
}

.lk-attendance-board.is-save-error {
    box-shadow: 0 0 0 3px rgba(212, 68, 78, 0.16), 0 18px 45px rgba(22, 44, 82, 0.16);
}

@media (max-width: 640px) {
    .lk-attendance-popover {
        width: min(360px, calc(100vw - 24px));
    }

    .calendar-shell,
    .lk-attendance-board,
    .lk-attendance-board.is-comment-open {
        width: min(360px, calc(100vw - 24px));
        grid-template-columns: 1fr;
    }

    .calendar-side,
    .lk-attendance-side {
        padding: 14px 16px;
    }

    .calendar-main,
    .lk-attendance-main {
        padding: 16px;
    }

    .calendar-day,
    .lk-attendance-day {
        height: 30px;
    }
}

.lk-attendance-popover {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1300;
    width: min(590px, calc(100vw - 32px));
    max-height: calc(100vh - 64px);
    transform: translate(-50%, -50%);
}

.lk-attendance-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1290;
    background: rgba(12, 27, 52, 0.48);
    backdrop-filter: blur(3px);
}

.lk-attendance-backdrop[hidden] {
    display: none;
}

.is-attendance-modal-open {
    overflow: hidden;
}

.lk-attendance-popover__close {
    display: none !important;
}

.calendar-shell,
.lk-attendance-board,
.lk-attendance-board.is-comment-open {
    width: min(590px, calc(100vw - 32px));
    grid-template-columns: 190px 1fr;
    background: rgba(239, 245, 255, 0.97);
    border-color: rgba(122, 158, 214, 0.7);
    box-shadow: 0 22px 58px rgba(8, 24, 50, 0.28);
}

.lk-attendance-main {
    background: rgba(248, 251, 255, 0.94);
}

.calendar-side,
.lk-attendance-side {
    grid-template-rows: auto 52px auto auto 1fr;
    align-content: stretch;
    min-width: 0;
}

.calendar-side__weekday {
    min-height: 52px;
    overflow-wrap: normal;
    word-break: normal;
    font-size: 20px;
}

.lk-attendance-side-controls {
    align-self: start;
    margin-top: 12px;
}

.lk-attendance-comment-box {
    align-self: start;
}

.lk-attendance-main .lk-attendance-comment-box {
    position: relative;
    width: 100%;
    margin-top: 2px !important;
    border: 1px solid #b8c9ea;
    border-radius: 12px;
    background: rgba(247, 250, 255, 0.96);
    color: #50627f;
    font-size: 12px;
    font-weight: 800;
}

.lk-attendance-main .lk-attendance-comment-box.is-open {
    max-height: 112px;
}

.lk-attendance-main .lk-attendance-comment-box textarea {
    width: 100%;
    height: 96px;
    min-height: 96px;
    max-height: 96px;
    padding: 5px 12px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #1d2b44;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    outline: none;
    overflow-y: auto;
    resize: none;
}

.lk-attendance-main .lk-attendance-comment-box::before,
.lk-attendance-main .lk-attendance-comment-box::after {
    content: "";
    position: absolute;
    left: 1px;
    right: 18px;
    z-index: 1;
    height: 10px;
    pointer-events: none;
}

.lk-attendance-main .lk-attendance-comment-box::before {
    top: 1px;
    border-radius: 11px 0 0 0;
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.96), rgba(247, 250, 255, 0));
}

.lk-attendance-main .lk-attendance-comment-box::after {
    bottom: 1px;
    border-radius: 0 0 0 11px;
    background: linear-gradient(0deg, rgba(247, 250, 255, 0.96), rgba(247, 250, 255, 0));
}

.lk-attendance-main .lk-attendance-comment-box textarea:focus {
    box-shadow: none;
}

.lk-attendance-main .lk-attendance-comment-box:focus-within {
    border-color: #7da8ff;
    box-shadow: 0 0 0 3px rgba(47, 102, 216, 0.12);
}

@media (max-width: 640px) {
    .lk-attendance-popover {
        width: min(360px, calc(100vw - 24px));
        max-height: calc(100vh - 24px);
    }

    .calendar-shell,
    .lk-attendance-board,
    .lk-attendance-board.is-comment-open {
        width: min(360px, calc(100vw - 24px));
        grid-template-columns: 1fr;
    }

    .calendar-side,
    .lk-attendance-side {
        grid-template-rows: none;
    }

    .calendar-side__weekday {
        min-height: 0;
    }
}

.is-contact-modal-open {
    overflow: hidden;
}

.lk-stream-detail {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.lk-stream-detail__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(232, 239, 255, 0.82);
    color: var(--lk-blue);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.lk-stream-detail h2 {
    margin: 0;
    color: #10233d;
    font-size: 28px;
    line-height: 1.18;
    letter-spacing: 0;
}

.lk-stream-detail p {
    margin: 8px 0 0;
    color: #66758c;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.lk-stream-detail__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.lk-stream-detail__stats span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(239, 244, 254, 0.96);
    color: #3169dc;
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
}

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

.lk-detail-grid > div,
.lk-detail-note {
    border: 1px solid rgba(207, 218, 235, 0.78);
    border-radius: 14px;
    padding: 13px 15px;
    background: rgba(255, 255, 255, 0.72);
}

.lk-detail-grid span,
.lk-detail-note span {
    display: block;
    margin-bottom: 5px;
    color: #66758c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 900;
}

.lk-detail-grid strong,
.lk-detail-note p {
    margin: 0;
    color: #10233d;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.lk-detail-note {
    margin-top: 10px;
}

.lk-detail-note p {
    font-weight: 750;
}

.lk-access-filter-popover {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.lk-access-filter-button.is-open {
    background: #eaf0ff;
    border-color: rgba(91, 124, 255, 0.38);
}

.lk-access-filter-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 80;
    width: min(420px, calc(100vw - 48px));
    padding: 16px;
    border: 1px solid rgba(166, 190, 235, 0.55);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 60px rgba(15, 35, 74, 0.2);
}

.lk-access-filter-panel[hidden] {
    display: none;
}

.lk-access-filter-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.lk-access-filter-panel__head h3 {
    margin: 0;
    color: var(--lk-ink);
    font-size: 17px;
    font-weight: 900;
}

.lk-access-filter-panel__close {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(166, 190, 235, 0.7);
    border-radius: 10px;
    background: #fff;
    color: var(--lk-muted);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.lk-access-filter {
    display: grid;
    gap: 12px;
}

.lk-access-filter label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: var(--lk-muted);
    font-size: 13px;
    font-weight: 800;
}

.lk-access-filter .lk-input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border-radius: 12px;
}

.lk-access-filter select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #c5cedd;
    border-radius: 12px;
    padding: 11px 42px 11px 12px;
    background-color: #fff;
    color: var(--lk-ink);
    font-size: 15px;
    line-height: 1.25;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235b7cff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
}

.lk-access-filter select:focus {
    outline: none;
    border-color: #6f8efb;
    box-shadow: 0 0 0 3px rgba(91, 124, 255, 0.15);
}

.lk-access-filter-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.lk-access-edit {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.lk-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 10px;
    border: 1px solid rgba(21, 41, 66, 0.12);
    background: rgba(255, 255, 255, 0.55);
    color: var(--lk-muted);
    font-weight: 700;
    white-space: nowrap;
}

/* Chat */
.chat-box {
    height: 380px;
    overflow: auto;
    padding: 20px 24px;
    border-radius: 0;
    border: 0;
    border-top: 1px solid rgba(21, 41, 66, 0.08);
    border-bottom: 1px solid rgba(21, 41, 66, 0.08);
    background:
        radial-gradient(circle at 12% 12%, rgba(45, 93, 225, 0.055), transparent 28%),
        linear-gradient(180deg, rgba(248, 251, 255, 0.96) 0%, rgba(242, 247, 253, 0.96) 100%);
    scrollbar-width: thin;
    scrollbar-color: rgba(103, 122, 148, 0.38) transparent;
}

.chat-box::-webkit-scrollbar {
    width: 8px;
}

.chat-box::-webkit-scrollbar-track {
    background: transparent;
}

.chat-box::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(103, 122, 148, 0.34);
}

.lk-chat-msg {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 8px;
    max-width: min(64%, 680px);
}

.lk-chat-msg.is-me {
    margin-left: auto;
    align-items: flex-end;
    max-width: min(58%, 620px);
}

.lk-chat-msg.is-grouped {
    margin-top: -3px;
    margin-bottom: 3px;
}

.lk-chat-day-divider {
    display: flex;
    justify-content: center;
    margin: 16px 0 12px;
    pointer-events: none;
}

.lk-chat-day-divider span {
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(21, 41, 66, 0.08);
    color: #55657a;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    box-shadow: 0 8px 18px rgba(15, 29, 46, 0.06);
}

.lk-chat-row {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    max-width: 100%;
}

.lk-chat-msg.is-me .lk-chat-row {
    flex-direction: row-reverse;
}

.lk-chat-avatar {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #e9f1ff 0%, #d9e7ff 100%);
    border: 1px solid rgba(47, 103, 226, 0.22);
    color: #2f66d8;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 5px 12px rgba(21, 41, 66, 0.08);
}

.lk-chat-msg.is-grouped .lk-chat-avatar {
    visibility: hidden;
}

.lk-chat-bubble {
    display: block;
    width: fit-content;
    max-width: 100%;
    min-width: 74px;
    padding: 9px 11px 6px;
    border-radius: 15px 15px 15px 6px;
    background: #ffffff;
    border: 1px solid rgba(21, 41, 66, 0.09);
    box-shadow: 0 8px 18px rgba(21, 41, 66, 0.075);
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.lk-chat-msg.is-me .lk-chat-bubble {
    border-radius: 15px 15px 6px 15px;
    background: #e8f2ff;
    border-color: rgba(47, 103, 226, 0.18);
}

.lk-chat-msg.is-grouped:not(.is-me) .lk-chat-bubble {
    border-top-left-radius: 9px;
}

.lk-chat-msg.is-grouped.is-me .lk-chat-bubble {
    border-top-right-radius: 9px;
}

.lk-chat-sender {
    margin-bottom: 3px;
    color: #244fbf;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
}

.lk-chat-channel-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 4px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.09);
    color: #244fbf;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
}

.lk-chat-text {
    display: inline;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lk-chat-bubble-meta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    float: right;
    margin: 4px 0 0 9px;
    line-height: 1;
    white-space: nowrap;
    transform: translateY(2px);
}

.lk-chat-time {
    color: rgba(18, 34, 56, 0.48);
    font-size: 12px;
    font-weight: 700;
}

.lk-chat-msg.is-me .lk-chat-time {
    color: rgba(255, 255, 255, 0.88);
}

.lk-chat-status {
    position: relative;
    width: 15px;
    height: 13px;
    flex: 0 0 15px;
    display: inline-block;
    color: rgba(255, 255, 255, 0.92);
}

.lk-chat-status.is-clock {
    width: 13px;
    flex-basis: 13px;
    border: 2px solid currentColor;
    border-radius: 999px;
    box-sizing: border-box;
}

.lk-chat-status.is-clock::before,
.lk-chat-status.is-clock::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 50%;
    width: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: bottom center;
}

.lk-chat-status.is-clock::before {
    height: 4px;
    transform: translateX(-50%) rotate(0deg);
}

.lk-chat-status.is-clock::after {
    height: 5px;
    transform: translateX(-50%) rotate(120deg);
}

.lk-chat-status.is-tick::before,
.lk-chat-status.is-double::before,
.lk-chat-status.is-double::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 1px;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.lk-chat-status.is-tick::before {
    left: 4px;
    top: 0;
}

.lk-chat-status.is-double::before {
    left: 1px;
    top: 1px;
}

.lk-chat-status.is-double::after {
    left: 7px;
    top: 1px;
}

.lk-chat-status.is-error {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
    border-radius: 999px;
    background: #d92c3a;
}

.lk-chat-status.is-error::before {
    content: "!";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
}

.lk-chat-attachment {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: min(320px, 100%);
    min-width: min(280px, 100%);
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(45, 93, 225, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(245, 248, 255, 0.92) 100%);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 29, 46, 0.06);
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.lk-chat-attachment:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 29, 46, 0.10);
    border-color: rgba(45, 93, 225, 0.28);
}

.lk-chat-attachment__icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(45, 93, 225, 0.14) 0%, rgba(45, 93, 225, 0.06) 100%);
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lk-chat-attachment__content {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.lk-chat-attachment__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
}

.lk-chat-attachment__meta {
    font-size: 12px;
    color: var(--lk-muted);
}

.lk-chat-msg.is-me .lk-chat-bubble {
    background: linear-gradient(180deg, rgba(45, 93, 225, 0.95) 0%, rgba(36, 79, 200, 0.95) 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

.lk-chat-msg.is-me .lk-chat-channel-badge {
    background: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.94);
}

.lk-chat-msg.is-me .lk-chat-attachment {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.20);
    color: #fff;
    box-shadow: none;
}

.lk-chat-msg.is-me .lk-chat-attachment__icon {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.lk-chat-msg.is-me .lk-chat-attachment__meta {
    color: rgba(255, 255, 255, 0.78);
}

.lk-card h2 {
    margin: 18px 0 12px;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-course-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}

.lk-course-card {
    border: 1px solid rgba(21, 41, 66, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    min-height: 296px;
    height: 100%;
}

.lk-course-badge-row {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.lk-course-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.12);
    color: var(--lk-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lk-course-title {
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1.25;
    min-height: 3.75em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lk-course-meta {
    font-size: 12px;
    color: var(--lk-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 800;
    line-height: 1.35;
    min-height: 3.2em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lk-course-desc {
    margin: 0;
    color: var(--lk-muted);
    font-size: 14px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.05em;
}

.lk-course-card .lk-actions {
    width: 100%;
    margin-top: auto;
    justify-content: flex-start;
}

.lk-course-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

.lk-course-actions .lk-btn {
    width: 100%;
}

.lk-catalog-filters,
.lk-card .filters {
    margin: 16px 0 14px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    background: var(--lk-card);
    box-shadow: 0 14px 32px rgba(15, 29, 46, 0.06);
}

.lk-card .filters {
    margin-bottom: 14px;
}

.lk-card .filter-input,
.lk-card .filter-select {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(21, 41, 66, 0.14);
    color: var(--lk-ink);
}

.lk-card .filter-input::placeholder {
    color: var(--lk-muted);
}

.lk-catalog-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.lk-catalog-filter-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
}

.lk-catalog-filter-actions .lk-btn {
    white-space: nowrap;
}

.lk-catalog-results {
    margin: 0 0 12px;
    color: var(--lk-muted);
    font-size: 14px;
    font-weight: 700;
}

.lk-programs-page {
    min-height: 430px;
    padding: 40px 28px 30px;
}

.lk-programs-page .lk-header {
    justify-content: center;
}

.lk-programs-page .lk-header > div {
    width: 100%;
}

.lk-programs-page .lk-dashboard-section-title {
    text-align: center;
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    color: #13243b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
}

.lk-program-overview-grid {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}

.lk-program-overview-card {
    display: grid;
    gap: 12px;
    min-height: 280px;
    padding: 22px;
    border-radius: 22px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    background: rgba(255, 255, 255, 0.80);
    box-shadow: 0 14px 32px rgba(15, 29, 46, 0.08);
    text-decoration: none;
    color: inherit;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.lk-program-overview-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(15, 29, 46, 0.12);
    border-color: rgba(45, 93, 225, 0.18);
}

.lk-program-overview-card__icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(180deg, #5b82f0 0%, #355fc8 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
    color: #fff;
    font-weight: 900;
    line-height: 1;
}

.lk-program-overview-card__icon img {
    display: block;
    object-fit: contain;
}

.lk-program-overview-card__icon--qualification,
.lk-program-overview-card__icon--retraining,
.lk-program-overview-card__icon--other {
    background: linear-gradient(180deg, #5b82f0 0%, #355fc8 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.lk-program-overview-card__icon-image--qualification,
.lk-program-overview-card__icon-image--retraining,
.lk-program-overview-card__icon-image--other {
    filter: brightness(0) invert(1);
}

/* PNG sources have different inner padding, so sizes are tuned separately. */
.lk-program-overview-card__icon-image--qualification {
    width: 30px;
    height: 30px;
}

.lk-program-overview-card__icon-image--retraining {
    width: 36px;
    height: 36px;
}

.lk-program-overview-card__icon-image--other {
    width: 24px;
    height: 24px;
}

.lk-program-overview-card__title {
    width: 100%;
    max-width: 100%;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: #13243b;
    text-wrap: balance;
}

.lk-program-overview-card--qualification .lk-program-overview-card__title {
    max-width: 14ch;
}

.lk-program-overview-card__desc {
    width: 100%;
    max-width: 100%;
    color: #60728f;
    font-size: 15px;
    line-height: 1.52;
    letter-spacing: -0.01em;
    text-align: left;
}

.lk-program-overview-card__meta {
    margin-top: auto;
    color: #7384a0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.lk-program-overview-card__meta strong {
    color: #13243b;
    font-weight: 900;
}

.lk-program-overview-card__cta {
    color: #2c5fe5;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-program-overview-card__cta::after {
    content: " \203A";
    font-size: 16px;
}

.lk-course-meta--secondary {
    min-height: 0;
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    color: rgba(82, 99, 127, 0.96);
}

.lk-page .lk-shell,
.lk-page .lk-main,
.lk-page .lk-container--main {
    position: relative;
    z-index: 1;
}

.lk-dashboard-stack--student {
    gap: 18px;
}

.lk-dashboard-hero--student,
.lk-dashboard-panel--student {
    background: rgba(245, 248, 255, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.32);
    box-shadow: 0 24px 60px rgba(7, 17, 34, 0.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.lk-dashboard-hero--student {
    background:
        linear-gradient(135deg, rgba(247, 250, 255, 0.90) 0%, rgba(235, 242, 255, 0.78) 100%),
        rgba(245, 248, 255, 0.84);
    overflow: hidden;
}

.lk-dashboard-hero--student::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent 34%),
        radial-gradient(32% 90% at 100% 0%, rgba(45, 93, 225, 0.16), transparent 78%);
    pointer-events: none;
}

.lk-dashboard-hero--student .lk-dashboard-hero__main,
.lk-dashboard-hero--student .lk-dashboard-hero__actions {
    position: relative;
    z-index: 1;
}

.lk-dashboard-hero--student .lk-dashboard-title {
    font-size: 32px;
}

.lk-dashboard-hero--student .lk-dashboard-subtitle {
    color: rgba(49, 69, 102, 0.92);
}

.lk-dashboard-hero--student .lk-dashboard-chip {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(45, 93, 225, 0.12);
    color: rgba(58, 76, 107, 0.96);
}

.lk-dashboard-panel--student .lk-dashboard-tile,
.lk-dashboard-panel--student .lk-course-card {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(114, 138, 184, 0.18);
    box-shadow: 0 16px 32px rgba(17, 31, 54, 0.08);
}

.lk-dashboard-panel--student .lk-dashboard-tile:hover,
.lk-dashboard-panel--student .lk-course-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 40px rgba(17, 31, 54, 0.12);
}

/* Dashboard */
.lk-dashboard-stack {
    display: grid;
    gap: 14px;
}

.lk-dashboard-hero {
    display: grid;
    grid-template-columns: 1.2fr auto;
    gap: 18px;
    align-items: start;
    background:
        radial-gradient(420px 180px at 8% 10%, rgba(45, 93, 225, 0.14), transparent 72%),
        radial-gradient(380px 160px at 90% 14%, rgba(31, 102, 194, 0.12), transparent 72%),
        rgba(255, 255, 255, 0.78);
}

.lk-dashboard-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(231, 240, 255, 0.9);
    border: 1px solid rgba(45, 93, 225, 0.16);
    color: var(--lk-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lk-dashboard-title {
    margin: 12px 0 8px;
    font-size: 28px;
    line-height: 1.05;
    font-weight: 1000;
    letter-spacing: -0.03em;
}

.lk-dashboard-subtitle {
    margin: 0;
    color: var(--lk-muted);
    max-width: 62ch;
    line-height: 1.45;
}

.lk-dashboard-subtitle strong {
    color: var(--lk-ink);
}

.lk-dashboard-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.lk-dashboard-chip {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    background: rgba(255, 255, 255, 0.72);
    color: var(--lk-muted);
    font-size: 12px;
    font-weight: 800;
}

.lk-dashboard-hero__actions {
    display: grid;
    gap: 10px;
    min-width: 180px;
    justify-items: stretch;
}

.lk-dashboard-hero__actions .lk-btn {
    width: 100%;
}

.lk-dashboard-section-title {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-dashboard-section-subtitle {
    margin: 6px 0 0;
    color: var(--lk-muted);
    font-size: 14px;
}

.lk-dashboard-catalog {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.lk-dashboard-tile {
    position: relative;
    display: grid;
    grid-template-rows: minmax(58px, auto) minmax(52px, 1fr) auto;
    align-content: start;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    min-height: 188px;
    padding: 16px 16px 14px;
    border-radius: 16px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 28px rgba(15, 29, 46, 0.05);
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.lk-dashboard-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(15, 29, 46, 0.10);
    border-color: rgba(45, 93, 225, 0.18);
}

.lk-dashboard-tile__group {
    width: fit-content;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lk-muted);
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(21, 41, 66, 0.05);
}

.lk-dashboard-tile__title {
    margin: 0;
    font-family: "Segoe UI Variable Display", "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.lk-dashboard-tile__desc {
    margin: 0;
    align-self: start;
    color: var(--lk-muted);
    font-size: 14px;
    line-height: 1.42;
}

.lk-dashboard-tile__cta {
    margin-top: auto;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 10px;
    background: rgba(45, 93, 225, 0.08);
    color: var(--lk-blue);
    font-size: 13px;
    font-weight: 800;
}

.lk-dashboard-tile--primary {
    background:
        radial-gradient(240px 100px at 10% 0%, rgba(45, 93, 225, 0.10), transparent 80%),
        rgba(255, 255, 255, 0.78);
}

.lk-dashboard-tile--accent {
    background:
        radial-gradient(240px 100px at 90% 0%, rgba(17, 184, 166, 0.10), transparent 80%),
        rgba(255, 255, 255, 0.78);
}

.lk-dashboard-tile--danger {
    background:
        radial-gradient(220px 90px at 92% 6%, rgba(180, 35, 24, 0.08), transparent 78%),
        rgba(255, 255, 255, 0.78);
}

.lk-dashboard-tile--danger .lk-dashboard-tile__cta {
    color: #b42318;
}

.lk-side-card {
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
    margin-bottom: 14px;
}

.lk-sidebar-mobile-head {
    margin-bottom: 14px;
    padding: 8px 6px 2px;
}

.lk-sidebar-mobile-title {
    font-size: 17px;
}

.lk-avatar {
    width: 52px;
    height: 52px;
    border-radius: 18px;
}

.lk-dashboard-stack {
    display: grid;
    gap: 18px;
}

.lk-dashboard-hero {
    grid-template-columns: 1.25fr 220px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 18px 40px rgba(15, 29, 46, 0.10);
}

.lk-dashboard-title {
    font-size: 28px;
    margin-bottom: 10px;
}

.lk-dashboard-subtitle {
    max-width: 62ch;
}

.lk-dashboard-chip {
    background: rgba(255, 255, 255, 0.88);
}

.lk-dashboard-hero__actions {
    min-width: 200px;
    align-content: start;
}

.lk-dashboard-hero__actions .lk-btn {
    width: 100%;
    box-shadow: none;
}

.lk-dashboard-hero__btn-main {
    background: rgba(45, 93, 225, 0.14);
    border-color: rgba(45, 93, 225, 0.18);
    color: var(--lk-blue);
}

.lk-dashboard-hero__btn-main:hover {
    filter: none;
    background: rgba(45, 93, 225, 0.18);
}

.lk-dashboard-groups {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
}

.lk-dashboard-group {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lk-dashboard-group[data-section="programs"],
.lk-dashboard-group[data-section="cabinet"],
.lk-dashboard-group[data-section="applications"],
.lk-dashboard-group[data-section="system"] {
    grid-column: 1 / -1;
}

.lk-dashboard-group-head {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lk-dashboard-group-title {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-dashboard-group-subtitle {
    display: none;
}

.lk-dashboard-catalog--group {
    margin-top: 0;
}

.lk-dashboard-group[data-section="programs"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="cabinet"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="applications"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="system"] .lk-dashboard-catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lk-dashboard-group[data-section="cabinet"] .lk-dashboard-tile {
    min-height: 172px;
}

.lk-dashboard-tile {
    min-height: 190px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.80);
    box-shadow: 0 10px 24px rgba(15, 29, 46, 0.05);
}

.lk-dashboard-tile:hover {
    box-shadow: 0 14px 28px rgba(15, 29, 46, 0.08);
}

.lk-dashboard-tile__group {
    margin-bottom: 4px;
}

.lk-dashboard-tile__title {
}

.lk-dashboard-tile--neutral,
.lk-dashboard-tile--danger {
    min-height: 150px;
}

.lk-dashboard-tile--primary {
    background:
        radial-gradient(240px 100px at 10% 0%, rgba(45, 93, 225, 0.07), transparent 80%),
        rgba(255, 255, 255, 0.80);
}

.lk-dashboard-tile--accent {
    background:
        radial-gradient(240px 100px at 90% 0%, rgba(17, 184, 166, 0.07), transparent 80%),
        rgba(255, 255, 255, 0.80);
}

.lk-dashboard-tile--danger {
    background:
        radial-gradient(220px 90px at 92% 6%, rgba(180, 35, 24, 0.06), transparent 78%),
        rgba(255, 255, 255, 0.80);
}

.lk-dashboard-tile--danger .lk-dashboard-tile__cta {
    background: rgba(180, 35, 24, 0.08);
}

/* Dashboard refresh */
.lk-dashboard-stack {
    gap: 16px;
}

.lk-dashboard-hero,
.lk-dashboard-hero--student {
    position: relative;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
    align-items: stretch;
    min-height: 230px;
    padding: 28px;
    border-radius: 22px;
    border: 1px solid rgba(203, 219, 240, 0.78);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(241, 246, 255, 0.90) 100%),
        rgba(255, 255, 255, 0.88);
    box-shadow: 0 22px 54px rgba(15, 29, 46, 0.14);
    overflow: hidden;
}

.lk-dashboard-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(420px 220px at 2% 0%, rgba(45, 93, 225, 0.13), transparent 70%),
        radial-gradient(360px 190px at 100% 18%, rgba(15, 118, 180, 0.12), transparent 76%);
    pointer-events: none;
}

.lk-dashboard-hero__main,
.lk-dashboard-hero__actions {
    position: relative;
    z-index: 1;
}

.lk-dashboard-kicker {
    min-height: 32px;
    padding: 8px 12px;
    background: rgba(232, 240, 255, 0.92);
    border-color: rgba(45, 93, 225, 0.22);
    color: #244fbf;
    letter-spacing: 0;
}

.lk-dashboard-title,
.lk-dashboard-hero--student .lk-dashboard-title {
    max-width: 880px;
    margin: 18px 0 10px;
    color: #102033;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.04;
    letter-spacing: 0;
    text-wrap: balance;
}

.lk-dashboard-subtitle {
    display: block;
    max-width: 720px;
    color: #53637a;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
}

.lk-dashboard-chips {
    gap: 8px;
    margin-top: 18px;
}

.lk-dashboard-chip {
    min-height: 34px;
    padding: 8px 12px;
    border-color: rgba(45, 93, 225, 0.14);
    background: rgba(255, 255, 255, 0.88);
    color: #42536c;
    font-size: 13px;
    font-weight: 900;
}

.lk-dashboard-hero__actions {
    align-self: stretch;
    display: grid;
    align-content: center;
    gap: 10px;
    min-width: 0;
}

.lk-dashboard-hero__actions .lk-btn {
    min-height: 42px;
    justify-content: center;
    border-radius: 12px;
}

.lk-dashboard-hero__btn-main {
    background: #2d5de1;
    border-color: #2d5de1;
    color: #ffffff;
}

.lk-dashboard-hero__btn-main:hover {
    background: #244fbf;
    border-color: #244fbf;
}

.lk-dashboard-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.lk-dashboard-action-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(203, 219, 240, 0.86);
    background: rgba(255, 255, 255, 0.94);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(15, 29, 46, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.lk-dashboard-action-card:hover {
    transform: translateY(-2px);
    border-color: rgba(45, 93, 225, 0.24);
    box-shadow: 0 18px 38px rgba(15, 29, 46, 0.12);
}

.lk-dashboard-action-card:focus-visible,
.lk-dashboard-tile:focus-visible {
    outline: 3px solid rgba(45, 93, 225, 0.28);
    outline-offset: 3px;
}

.lk-dashboard-action-card strong,
.lk-dashboard-action-card small {
    display: block;
    min-width: 0;
}

.lk-dashboard-action-card strong {
    color: #102033;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 900;
}

.lk-dashboard-action-card small {
    margin-top: 4px;
    color: #5f6f86;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
}

.lk-dashboard-panel {
    padding: 24px 28px 28px;
    border-radius: 22px;
    border-color: rgba(203, 219, 240, 0.70);
    background: rgba(244, 248, 255, 0.78);
    box-shadow: 0 18px 42px rgba(15, 29, 46, 0.11);
}

.lk-dashboard-groups {
    margin-top: 0;
    gap: 26px;
}

.lk-dashboard-group {
    gap: 12px;
}

.lk-dashboard-group-head {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.lk-dashboard-group-title {
    color: #102033;
    font-size: 20px;
    line-height: 1.2;
}

.lk-dashboard-group-subtitle {
    display: block;
    max-width: 560px;
    margin: 0;
    color: #617087;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 750;
    text-align: right;
}

.lk-dashboard-group[data-section="programs"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="cabinet"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="applications"] .lk-dashboard-catalog,
.lk-dashboard-group[data-section="system"] .lk-dashboard-catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lk-dashboard-tile,
.lk-dashboard-panel--student .lk-dashboard-tile {
    grid-template-rows: auto auto minmax(58px, 1fr) auto;
    gap: 10px;
    min-height: 186px;
    padding: 16px;
    border-radius: 18px;
    border-color: rgba(203, 219, 240, 0.74);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 28px rgba(15, 29, 46, 0.07);
}

.lk-dashboard-tile:hover,
.lk-dashboard-panel--student .lk-dashboard-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(45, 93, 225, 0.24);
    box-shadow: 0 18px 36px rgba(15, 29, 46, 0.11);
}

.lk-dashboard-tile__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}

.lk-dashboard-icon {
    position: relative;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(45, 93, 225, 0.10);
    color: #2d5de1;
}

.lk-dashboard-icon::before,
.lk-dashboard-icon::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}

.lk-dashboard-icon::before {
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.lk-dashboard-icon::after {
    width: 8px;
    height: 8px;
    right: 11px;
    bottom: 11px;
    border-radius: 999px;
    background: currentColor;
}

.lk-dashboard-icon--chat::before {
    border-radius: 8px;
}

.lk-dashboard-icon--chat::after {
    width: 7px;
    height: 7px;
    right: 10px;
    bottom: 9px;
    border-radius: 0 0 8px 0;
    background: transparent;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(30deg);
}

.lk-dashboard-icon--calendar::before {
    border-radius: 4px;
}

.lk-dashboard-icon--calendar::after {
    width: 16px;
    height: 2px;
    left: 13px;
    top: 17px;
    border-radius: 999px;
}

.lk-dashboard-icon--user::before,
.lk-dashboard-icon--users::before {
    width: 14px;
    height: 14px;
    top: 10px;
    border-radius: 999px;
}

.lk-dashboard-icon--user::after,
.lk-dashboard-icon--users::after {
    width: 20px;
    height: 10px;
    left: 11px;
    bottom: 9px;
    border-radius: 12px 12px 4px 4px;
    background: transparent;
    border: 2px solid currentColor;
    border-bottom: 0;
}

.lk-dashboard-icon--play::before {
    width: 0;
    height: 0;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 15px solid currentColor;
    border-radius: 0;
    transform: translateX(2px);
}

.lk-dashboard-icon--play::after {
    display: none;
}

.lk-dashboard-icon--key::before,
.lk-dashboard-icon--settings::before {
    border-radius: 999px;
}

.lk-dashboard-icon--key::after {
    width: 16px;
    height: 2px;
    right: 8px;
    bottom: 14px;
    border-radius: 999px;
}

.lk-dashboard-icon--award::before {
    border-radius: 999px;
}

.lk-dashboard-icon--award::after {
    width: 12px;
    height: 12px;
    left: 15px;
    bottom: 8px;
    border-radius: 0;
    background: transparent;
    border-left: 5px solid currentColor;
    border-right: 5px solid currentColor;
    border-top: 8px solid transparent;
}

.lk-dashboard-icon--plus::before {
    width: 20px;
    height: 2px;
    border: 0;
    border-radius: 999px;
    background: currentColor;
}

.lk-dashboard-icon--plus::after {
    width: 2px;
    height: 20px;
    inset: auto;
    border-radius: 999px;
}

.lk-dashboard-icon--external::after,
.lk-dashboard-icon--logout::after {
    width: 12px;
    height: 12px;
    right: 11px;
    top: 11px;
    background: transparent;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    border-radius: 0;
}

.lk-dashboard-tile__group {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
    padding: 5px 8px;
    background: rgba(21, 41, 66, 0.055);
    color: #5b6980;
    letter-spacing: 0;
}

.lk-dashboard-tile__title {
    color: #102033;
    font-size: 18px;
    line-height: 1.18;
    letter-spacing: 0;
}

.lk-dashboard-tile__desc {
    color: #637289;
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.lk-dashboard-tile__cta {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.09);
    font-weight: 900;
}

.lk-dashboard-tile--accent .lk-dashboard-icon {
    background: rgba(17, 184, 166, 0.10);
    color: #0f766e;
}

.lk-dashboard-tile--danger .lk-dashboard-icon {
    background: rgba(180, 35, 24, 0.08);
    color: #b42318;
}

@media (prefers-reduced-motion: reduce) {
    .lk-dashboard-action-card,
    .lk-dashboard-tile {
        transition: none;
    }

    .lk-dashboard-action-card:hover,
    .lk-dashboard-tile:hover {
        transform: none;
    }
}

@media (max-width: 980px) {
    .lk-dashboard-hero,
    .lk-dashboard-hero--student {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 22px;
    }

    .lk-dashboard-overview {
        grid-template-columns: 1fr;
    }

    .lk-dashboard-group-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .lk-dashboard-group-subtitle {
        max-width: none;
        text-align: left;
    }

    .lk-dashboard-group[data-section="programs"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="cabinet"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="applications"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="system"] .lk-dashboard-catalog {
        grid-template-columns: 1fr;
    }

    .lk-course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lk-catalog-filter-grid {
        grid-template-columns: 1fr;
    }

    .lk-catalog-filter-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 980px) {
    .lk-shell {
        grid-template-columns: 1fr;
    }

    .lk-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(340px, 92vw);
        max-height: none;
        padding: 16px 14px 20px;
        transform: translateX(0);
        border-radius: 0 28px 28px 0;
        z-index: 70;
        display: none;
    }

    .lk-shell.is-nav-open .lk-sidebar {
        display: block;
        animation: lk-mobile-sidebar-in 0.18s ease;
    }

    .lk-shell.is-nav-open .lk-sidebar-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .lk-sidebar-mobile-head {
        display: flex;
    }

    .lk-nav-toggle {
        display: inline-flex;
    }
}

@keyframes lk-mobile-sidebar-in {
    from {
        opacity: 0;
        transform: translateX(-18px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 760px) {
    html, body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .lk-page,
    .lk-container,
    .lk-shell,
    .lk-main,
    .lk-container--main {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .lk-container {
        margin-top: 20px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .lk-shell {
        grid-template-columns: 1fr;
        margin-top: 18px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .lk-main,
    .lk-container--main,
    .lk-topbar,
    .lk-card {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    .lk-sidebar { width: min(360px, 94vw); }
    .lk-card { padding: 18px; }
    .lk-title { font-size: 22px; }
    .lk-topbar { align-items: flex-start; flex-direction: column; }
    .lk-topbar-main { width: 100%; gap: 10px; }
    .lk-topbar-breadcrumb { flex-wrap: wrap; }
    .lk-nav-toggle { width: 42px; height: 42px; }
    .lk-inline-form { flex-direction: column; align-items: stretch; }
    .lk-inline-form input[type="email"],
    .lk-inline-form input[type="text"],
    .lk-inline-form input[type="password"],
    .lk-inline-form select { min-width: 0; width: 100%; }
    .lk-phone-control {
        grid-template-columns: 78px minmax(0, 1fr);
    }
    .lk-table-wrap--manager-applications { overflow-x: auto; }
    .lk-table { min-width: 640px; }
    .lk-form-grid,
    .lk-form-grid--4 { grid-template-columns: 1fr; }
    .lk-card--manager-card-edit .lk-form-grid--2,
    .lk-card--manager-card-edit .lk-form-grid--3,
    .lk-card--manager-card-edit .lk-form-grid--4 { grid-template-columns: 1fr; }
    .lk-row--span2 { grid-column: auto; }
    
    .lk-edu-doc-meta-grid { grid-template-columns: 1fr; }
    .lk-employment-admission-grid { grid-template-columns: 1fr; }
    .lk-employment-date-grid { grid-template-columns: 1fr; }
    .lk-row--under-issued-by { grid-column: auto; }
    .lk-chat-msg { max-width: 92%; }
    .lk-dashboard-hero {
        grid-template-columns: 1fr;
    }
    .lk-dashboard-hero__actions {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        min-width: 0;
    }
    .lk-dashboard-title {
        font-size: 23px;
    }
    .lk-topbar { padding: 10px 12px; }
    .lk-topbar-breadcrumb { gap: 8px; }
    .lk-dashboard-hero {
        grid-template-columns: 1fr;
    }
    .lk-dashboard-hero__actions {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        min-width: 0;
    }
    .lk-dashboard-groups {
        grid-template-columns: 1fr;
    }
    .lk-course-grid {
        grid-template-columns: 1fr;
    }
    .lk-dashboard-group[data-section="programs"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="students"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="applications"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="support"] .lk-dashboard-catalog,
    .lk-dashboard-group[data-section="system"] .lk-dashboard-catalog,
    .lk-dashboard-catalog {
        grid-template-columns: 1fr;
    }

    .lk-dashboard-tile {
        min-height: 0;
        width: 100%;
    }
}

.lk-passport-ocr-raw textarea {
    min-height: 120px;
    max-height: none;
    resize: vertical;
}

.lk-btn-flat {
    background: rgba(231, 240, 255, 0.72);
    border: 1px solid rgba(45, 93, 225, 0.25);
    color: var(--lk-blue);
    box-shadow: none;
}

.lk-btn-flat:hover {
    filter: none;
    background: rgba(231, 240, 255, 0.95);
}

.lk-actions--edu-add {
    margin-top: 8px;
    width: 100%;
}

.lk-edu-docs-list {
    display: block;
    min-height: 14px;
}

.lk-edu-doc-card {
    position: relative;
    z-index: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    padding: 0;
    margin-bottom: 12px;
    overflow: visible;
    will-change: height, opacity, transform;
    transform-origin: top center;
}

.lk-edu-doc-fields {
    transform-origin: top center;
    will-change: opacity, transform;
}

.lk-edu-doc-fields .lk-row {
    will-change: opacity, transform;
}

.lk-emp-doc-card {
    position: relative;
    overflow: visible;
    will-change: height, opacity, transform;
    transform-origin: top center;
}

.lk-edu-doc-card:focus-within,
.lk-emp-doc-card:focus-within,
.lk-edu-doc-card.is-picker-open,
.lk-emp-doc-card.is-picker-open {
    z-index: 12;
}

.js-emp-admission-fields {
    transform-origin: top center;
    will-change: opacity, transform;
}

.js-emp-admission-fields .lk-row {
    will-change: opacity, transform;
}

.lk-edu-doc-head {
    display: flex;
    gap: 10px;
    align-items: end;
    justify-content: space-between;
}

.lk-edu-doc-head .lk-row {
    flex: 1 1 auto;
    margin-bottom: 0;
}


.lk-edu-doc-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.lk-edu-doc-meta-grid .lk-row {
    margin-bottom: 0;
}

#edu-doc-add,
#employment-doc-add {
    width: 100%;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 14px 26px;
    font-size: 16px;
    font-weight: 600;
    color: #5b7cff;
    border: 2px solid #6f8efb;
    border-radius: 12px;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .3s ease;
}

#edu-doc-add:hover,
#employment-doc-add:hover {
    box-shadow:
        0 8px 20px rgba(91, 124, 255, 0.18);
    background: rgba(91, 124, 255, 0.06);
}

#edu-doc-add:active,
#employment-doc-add:active {
    transform: none;
}

#employment-doc-add {
    overflow: hidden;
    max-height: 72px;
    opacity: 1;
    transition:
        opacity .32s cubic-bezier(0.4, 0, 0.2, 1),
        max-height .32s cubic-bezier(0.4, 0, 0.2, 1),
        padding-top .32s cubic-bezier(0.4, 0, 0.2, 1),
        padding-bottom .32s cubic-bezier(0.4, 0, 0.2, 1),
        border-width .32s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow .2s ease,
        background .3s ease;
}

#employment-doc-add.lk-add-btn-hidden {
    opacity: 0;
    max-height: 0;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 0;
    margin-top: 0;
    pointer-events: none;
    box-shadow: none;
}

.js-emp-workplace-other {
    margin-top: 10px;
}

.js-edu-specialty-other {
    margin-top: 10px;
}

.lk-employment-admission-grid,
.lk-employment-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.lk-employment-admission-grid .lk-row,
.lk-employment-date-grid .lk-row {
    margin-bottom: 0;
}

.lk-workplace-picker {
    position: relative;
}

.lk-workplace-picker.is-open {
    z-index: 260;
}

.lk-workplace-trigger {
    width: 100%;
    min-height: 44px;
    border: 1px solid #c5cedd;
    border-radius: 12px;
    background: #fff;
    color: #1f2f46;
    font-size: 15px;
    line-height: 1.25;
    text-align: left;
    padding: 10px 44px 10px 14px;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
    position: relative;
}

.lk-workplace-trigger::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #5b7cff;
    border-bottom: 2px solid #5b7cff;
    transform: translateY(-60%) rotate(45deg);
    transition: transform .16s ease;
}

.lk-workplace-picker.is-open .lk-workplace-trigger {
    border-color: #6f8efb;
    box-shadow: 0 0 0 3px rgba(91, 124, 255, 0.15);
    background: #fbfcff;
}

.lk-workplace-picker.is-open .lk-workplace-trigger::after {
    transform: translateY(-35%) rotate(-135deg);
}

.lk-workplace-menu {
    position: absolute;
    z-index: 270;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: var(--lk-picker-max-height, 280px);
    overflow: auto;
    border: 1px solid #c5cedd;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(24, 45, 88, 0.14);
    padding: 6px;
}

.lk-workplace-picker.is-drop-up .lk-workplace-menu {
    top: auto;
    bottom: calc(100% + 6px);
}

.lk-enhanced-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}

.lk-workplace-option {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    color: #1f2f46;
    font-size: 15px;
    line-height: 1.35;
    padding: 8px 10px;
    border-radius: 9px;
    cursor: pointer;
}

.lk-workplace-option:hover {
    background: rgba(91, 124, 255, 0.12);
}

.lk-workplace-option.is-selected {
    background: rgba(91, 124, 255, 0.14);
    color: #244fc8;
    font-weight: 700;
}

.lk-workplace-option:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.lk-workplace-option:active {
    background: rgba(91, 124, 255, 0.2);
}

body.lk-modal-open-body {
    overflow: hidden;
}

.lk-passport-guide-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 18px;
}

.lk-passport-guide-modal[hidden] {
    display: none;
}

.lk-passport-guide-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 16, 28, 0.58);
    backdrop-filter: blur(2px);
}

.lk-passport-guide-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    border-radius: 16px;
    border: 1px solid rgba(21, 41, 66, 0.14);
    background: #fff;
    box-shadow: 0 20px 52px rgba(15, 29, 46, 0.26);
    padding: 20px;
}

.lk-passport-guide-modal__dialog h3 {
    margin: 0 0 10px;
    font-weight: 900;
    color: var(--lk-ink);
}

.lk-passport-guide-modal__dialog p {
    margin: 0 0 10px;
    color: var(--lk-muted);
}

.lk-passport-guide-copy--education,
.lk-passport-guide-copy-block--education,
.lk-passport-guide-modal__list--education,
.lk-passport-guide-illustration--education {
    display: none;
}

.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy--main,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy-block--main,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-modal__list--main,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-illustration--main,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-illustration--registration {
    display: none;
}

.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy-block--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-modal__list--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-illustration--education {
    display: block;
}

.lk-passport-guide-illustration__paper--education {
    display: grid;
    grid-template-columns: 1fr 1.06fr;
    min-height: 220px;
}

.lk-passport-guide-illustration__education-cover {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 34px;
    border-right: 2px solid rgba(91, 124, 255, 0.55);
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.3) 0%, rgba(255, 255, 255, 0.96) 100%);
}

.lk-passport-guide-illustration__education-title {
    color: rgba(45, 93, 225, 0.92);
    font-size: 28px;
    line-height: 1;
    letter-spacing: 0.06em;
}

.lk-passport-guide-illustration__education-number,
.lk-passport-guide-illustration__education-date {
    width: 110px;
    height: 2px;
    background: rgba(45, 93, 225, 0.72);
}

.lk-passport-guide-illustration__education-date {
    width: 74px;
    margin-top: 28px;
}

.lk-passport-guide-illustration__education-page {
    position: relative;
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.24) 0%, rgba(255, 255, 255, 0.96) 100%);
}

.lk-passport-guide-illustration__education-header {
    position: absolute;
    top: 26px;
    left: 24px;
    width: calc(100% - 48px);
    height: 26px;
    background:
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 0 / 100% 2px no-repeat,
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 18px / 100% 2px no-repeat;
}

.lk-passport-guide-illustration__education-lines {
    position: absolute;
    top: 112px;
    left: 24px;
    width: calc(100% - 48px);
    height: 88px;
    background:
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 0 / 100% 2px no-repeat,
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 18px / 100% 2px no-repeat,
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 36px / 100% 2px no-repeat,
        linear-gradient(rgba(45, 93, 225, 0.72), rgba(45, 93, 225, 0.72)) 0 54px / 100% 2px no-repeat;
}

.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-copy-block--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-modal__list--education,
.lk-passport-guide-modal[data-guide-kind="education"] .lk-passport-guide-illustration--education {
    display: block;
}

.lk-passport-guide-modal__list {
    margin: 0 0 14px 18px;
    padding: 0;
    color: var(--lk-ink);
}

.lk-passport-guide-modal__list li {
    margin: 0 0 8px;
}

.lk-passport-guide-illustration {
    margin: 10px 0 14px;
    padding: 10px;
    width: min(360px, 100%);
    margin-left: auto;
    margin-right: auto;
    border-radius: 14px;
    border: 1px solid rgba(45, 93, 225, 0.2);
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.76) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.lk-passport-guide-illustration--registration {
    display: none;
}

.lk-passport-guide-modal[data-guide-kind="registration"] .lk-passport-guide-illustration--main {
    display: none;
}

.lk-passport-guide-modal[data-guide-kind="registration"] .lk-passport-guide-illustration--registration {
    display: block;
}

.lk-passport-guide-illustration__paper {
    border: 2px solid rgba(91, 124, 255, 0.55);
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.lk-passport-guide-illustration__top-lines {
    height: 124px;
    border-bottom: 2px solid rgba(91, 124, 255, 0.35);
    background:
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 18px 24px / calc(100% - 36px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 18px 48px / calc(100% - 36px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 18px 72px / calc(100% - 36px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 18px 98px / calc(100% - 36px) 2px no-repeat;
}

.lk-passport-guide-illustration__bottom {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 14px;
    padding: 14px 18px;
}

.lk-passport-guide-illustration__photo {
    border: 2px solid rgba(91, 124, 255, 0.4);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 30%, rgba(91, 124, 255, 0.28) 0 14px, transparent 14px),
        linear-gradient(rgba(91, 124, 255, 0.28), rgba(91, 124, 255, 0.28)) center 70% / 52px 20px no-repeat;
}

.lk-passport-guide-illustration__text-lines {
    min-height: 96px;
    background:
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 0 12px / 100% 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 0 30px / 100% 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 0 48px / 100% 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 0 66px / 100% 2px no-repeat;
}

.lk-passport-guide-illustration__paper--registration {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 220px;
}

.lk-passport-guide-illustration__spread-left {
    border-right: 2px solid rgba(91, 124, 255, 0.55);
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.28) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.lk-passport-guide-illustration__spread-right {
    position: relative;
    background: linear-gradient(180deg, rgba(240, 246, 255, 0.28) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.lk-passport-guide-illustration__stamp-lines {
    position: absolute;
    top: 12px;
    right: 12px;
    width: min(180px, calc(100% - 24px));
    height: 112px;
    border: 2px solid rgba(91, 124, 255, 0.35);
    border-radius: 6px;
    background:
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 12px 24px / calc(100% - 24px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 12px 44px / calc(100% - 24px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 12px 64px / calc(100% - 24px) 2px no-repeat,
        linear-gradient(rgba(91, 124, 255, 0.35), rgba(91, 124, 255, 0.35)) 12px 84px / calc(100% - 24px) 2px no-repeat;
}

.lk-passport-guide-modal__actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.lk-listener-file-warning {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: grid;
    place-items: center;
    padding: 16px;
}

.lk-listener-file-warning[hidden] {
    display: none;
}

.lk-listener-file-warning__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 16, 28, 0.64);
    backdrop-filter: blur(3px);
}

.lk-listener-file-warning__dialog {
    position: relative;
    z-index: 1;
    width: min(560px, calc(100vw - 32px));
    max-height: min(420px, calc(100vh - 32px));
    overflow: auto;
    box-sizing: border-box;
    border: 1px solid rgba(45, 93, 225, 0.26);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 68px rgba(8, 16, 28, 0.32);
    padding: 22px;
    color: var(--lk-ink);
}

.lk-listener-file-warning__dialog:focus-visible {
    outline: 3px solid rgba(45, 93, 225, 0.46);
    outline-offset: 3px;
}

.lk-listener-file-warning__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.lk-listener-file-warning__eyebrow {
    margin-bottom: 5px;
    color: var(--lk-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lk-listener-file-warning__head h2 {
    margin: 0;
    color: #1d4ed8;
    font-size: 28px;
    line-height: 1.1;
}

.lk-listener-file-warning__dismiss {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 92px;
    min-height: 28px;
}

.lk-listener-file-warning__countdown {
    color: #7b8494;
    font-size: 12px;
    white-space: nowrap;
}

.lk-listener-file-warning__close {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
}

.lk-listener-file-warning__close:hover,
.lk-listener-file-warning__close:focus-visible {
    background: rgba(45, 93, 225, 0.1);
    color: #1d4ed8;
    outline: none;
}

.lk-listener-file-warning__dialog p {
    margin: 18px 0 0;
    color: #2c3b52;
    font-size: 16px;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .lk-passport-guide-modal__dialog {
        padding: 16px;
    }
    .lk-passport-guide-modal__dialog h3 {
        font-size: 20px;
    }
    .lk-passport-guide-illustration__bottom {
        grid-template-columns: 80px 1fr;
        gap: 10px;
        padding: 10px 12px;
    }

    .lk-listener-file-warning {
        padding: 14px;
    }

    .lk-listener-file-warning__dialog {
        width: min(560px, calc(100vw - 28px));
        max-height: calc(100vh - 28px);
        padding: 18px;
        border-radius: 16px;
    }

    .lk-listener-file-warning__head h2 {
        font-size: 24px;
    }

    .lk-listener-file-warning__dialog p {
        margin-top: 14px;
        font-size: 15px;
    }
}


.lk-card--user-edit {
    max-width: 980px;
    margin: 0 auto;
}


.lk-status-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid rgba(21, 41, 66, 0.18);
    background: rgba(255, 255, 255, 0.72);
    color: var(--lk-ink);
    white-space: nowrap;
}

.lk-status-chip.is-draft {
    border-color: rgba(95, 111, 134, 0.3);
    background: rgba(95, 111, 134, 0.14);
    color: #3d4a5f;
}

.lk-status-chip.is-pending {
    border-color: rgba(184, 133, 24, 0.3);
    background: rgba(255, 236, 200, 0.9);
    color: #8b5e00;
}

.lk-status-chip.is-approved {
    border-color: rgba(18, 128, 86, 0.28);
    background: rgba(225, 247, 238, 0.95);
    color: #0f5f41;
}

.lk-status-chip.is-rejected {
    border-color: rgba(180, 35, 24, 0.3);
    background: rgba(255, 236, 236, 0.95);
    color: #9f1d14;
}

.lk-review-banner {
    margin: 0 auto 14px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(21, 41, 66, 0.12);
    background: rgba(255, 255, 255, 0.8);
    max-width: 680px;
}

.lk-review-banner__head {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 8px;
}

.lk-review-banner__message {
    margin: 0 0 8px;
    font-weight: 700;
}

.lk-review-banner__comment {
    margin: 0;
    color: var(--lk-ink);
    line-height: 1.45;
}

.lk-review-banner.is-approved {
    border-color: rgba(18, 128, 86, 0.28);
    background: rgba(225, 247, 238, 0.78);
}

.lk-review-banner.is-rejected {
    border-color: rgba(180, 35, 24, 0.28);
    background: rgba(255, 236, 236, 0.9);
}

.lk-review-banner.is-pending {
    border-color: rgba(184, 133, 24, 0.28);
    background: rgba(255, 248, 227, 0.95);
}

.lk-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.lk-review-title {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.lk-review-meta {
    color: var(--lk-muted);
    font-size: 13px;
    margin-top: 4px;
}

.lk-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.lk-review-field {
    padding: 8px 10px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.6);
    word-break: break-word;
}

.lk-review-comment {
    margin: 0;
    line-height: 1.5;
}

.lk-review-list {
    display: grid;
    gap: 10px;
}

.lk-review-item {
    border: 1px solid rgba(21, 41, 66, 0.10);
    border-radius: 12px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.62);
    display: grid;
    gap: 6px;
}

.lk-review-item--actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.lk-review-item--actions .lk-btn,
.lk-review-item__file-action .lk-btn {
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 14px;
    font-size: 15px;
}

.lk-inline-form--review select {
    min-width: 240px;
}

.lk-review-toggle {
    margin-top: 10px;
}

@media (max-width: 800px) {
    .lk-review-grid {
        grid-template-columns: 1fr;
    }
}

.lk-card--listener-profile {
    width: 100%;
    max-width: none;
    padding: 0;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 255, 0.92)),
        rgba(255, 255, 255, 0.94);
}

.lk-card--listener-profile .lk-form {
    width: 100%;
    max-width: none;
    padding: 22px 28px 28px;
    box-sizing: border-box;
}

.lk-card--listener-profile .lk-form-shell,
.lk-card--listener-profile .lk-form-consent-stack,
.lk-card--listener-profile .lk-review-banner {
    width: 100%;
    max-width: none;
}

.lk-card--listener-profile .lk-ok,
.lk-card--listener-profile .lk-error,
.lk-card--listener-profile .lk-review-banner {
    margin: 18px 28px 0;
}

.lk-listener-profile-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 370px);
    gap: 22px;
    align-items: stretch;
    padding: 28px;
    border-bottom: 1px solid rgba(21, 41, 66, 0.10);
    background:
        radial-gradient(circle at 12% 18%, rgba(76, 111, 255, 0.14), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.90), rgba(230, 238, 255, 0.72));
}

.lk-listener-profile-hero__main {
    min-width: 0;
}

.lk-listener-profile-hero h2 {
    margin: 12px 0 10px;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.12;
    color: #152942;
    letter-spacing: 0;
}

.lk-listener-profile-hero p {
    max-width: 760px;
    margin: 0;
    color: #60708c;
    font-size: 15px;
    line-height: 1.55;
}

.lk-listener-profile-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 18px;
}

.lk-listener-profile-pill {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border-radius: 999px;
    border: 1px solid rgba(66, 112, 221, 0.18);
    background: rgba(255, 255, 255, 0.76);
    color: #34506f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.lk-listener-profile-progress {
    display: block;
    width: min(520px, 100%);
    height: 8px;
    margin-top: 16px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: rgba(21, 41, 66, 0.10);
}

.lk-listener-profile-progress::-webkit-progress-bar {
    border-radius: inherit;
    background: rgba(21, 41, 66, 0.10);
}

.lk-listener-profile-progress::-webkit-progress-value {
    border-radius: inherit;
    background: linear-gradient(90deg, #2f66d8, #22a06b);
}

.lk-listener-profile-progress::-moz-progress-bar {
    border-radius: inherit;
    background: linear-gradient(90deg, #2f66d8, #22a06b);
}

.lk-listener-profile-map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: start;
    min-width: 0;
}

.lk-listener-profile-map a {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid rgba(66, 112, 221, 0.20);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.74);
    color: #2456ce;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(40, 60, 90, 0.08);
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.lk-listener-profile-map a:hover {
    border-color: rgba(47, 102, 216, 0.46);
    background: rgba(236, 242, 255, 0.92);
    color: #1747b9;
}

.lk-listener-profile-map a:focus-visible {
    outline: 3px solid rgba(47, 102, 216, 0.30);
    outline-offset: 2px;
}

.lk-card--listener-profile .lk-form-section {
    width: 100%;
    max-width: none;
    padding: 20px;
    margin: 0 0 18px;
    border-color: rgba(21, 41, 66, 0.11);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 16px 34px rgba(32, 48, 78, 0.08);
    scroll-margin-top: 22px;
    box-sizing: border-box;
}

.lk-card--listener-profile .lk-form-section > h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: #152942;
    font-size: 20px;
    line-height: 1.2;
}

.lk-card--listener-profile .lk-form-section > h2::before {
    content: "";
    flex: 0 0 auto;
    width: 10px;
    height: 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #2f66d8, #22a06b);
}

.lk-card--listener-profile .lk-form-section:focus-within {
    border-color: rgba(47, 102, 216, 0.38);
    box-shadow: 0 18px 40px rgba(47, 102, 216, 0.14);
}

.lk-card--listener-profile .lk-form-grid {
    gap: 16px;
}

.lk-card--listener-profile .lk-form-consent-stack {
    margin-top: 4px;
}

.lk-card--listener-profile .lk-actions--submit {
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .lk-listener-profile-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .lk-card--listener-profile {
        padding: 0;
    }

    .lk-listener-profile-hero {
        padding: 18px;
    }

    .lk-listener-profile-map {
        grid-template-columns: 1fr;
    }

    .lk-card--listener-profile .lk-ok,
    .lk-card--listener-profile .lk-error,
    .lk-card--listener-profile .lk-review-banner {
        margin-left: 16px;
        margin-right: 16px;
    }

    .lk-card--listener-profile .lk-form {
        padding: 18px 16px 20px;
    }

    .lk-card--listener-profile .lk-form-section {
        padding: 16px;
        border-radius: 16px;
    }

    .lk-card--listener-profile .lk-actions--submit .lk-btn {
        width: 100%;
    }
}

.lk-card--manager-card-edit,
.lk-card--manager-card-edit .lk-form,
.lk-card--manager-card-edit .lk-form-section {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.lk-card--manager-card-edit .lk-form-section {
    padding: 18px;
    margin-left: 0;
    margin-right: 0;
}

.lk-card--manager-card-edit .lk-form-grid,
.lk-card--manager-card-edit .lk-form-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lk-card--manager-card-edit .lk-form-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lk-card--manager-card-edit .lk-form-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lk-card--manager-card-edit .lk-review-item {
    min-width: 0;
    padding: 14px;
    box-sizing: border-box;
}

.lk-card--manager-card-edit input,
.lk-card--manager-card-edit select,
.lk-card--manager-card-edit textarea,
.lk-card--manager-card-edit .lk-btn {
    max-width: 100%;
    box-sizing: border-box;
}

.lk-card--manager-card-edit .lk-review-item > .lk-btn {
    justify-self: start;
    width: auto;
}

.lk-file-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 10px;
}

.lk-file-preview-modal[hidden] {
    display: none;
}

.lk-file-preview-modal__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.74);
    backdrop-filter: blur(4px);
}

.lk-file-preview-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1760px, calc(100vw - 20px));
    height: min(94dvh, calc(100vh - 20px));
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    border-radius: 22px;
    background: #f8fbff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
    overflow: hidden;
}

.lk-file-preview-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(37, 99, 235, 0.35);
}

.lk-file-preview-modal__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding-right: 64px;
}

.lk-file-preview-modal__title {
    font-weight: 800;
    color: #0f172a;
}

.lk-file-preview-modal__controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lk-file-preview-modal__control {
    min-width: 54px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 999px;
    background: #eaf2ff;
    color: #1d4ed8;
    font-weight: 700;
    cursor: pointer;
}

.lk-file-preview-modal__viewport {
    position: relative;
    flex: 1;
    min-height: 0;
    display: block;
    border-radius: 16px;
    background: #dbeafe;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 8px;
    cursor: default;
}

.lk-file-preview-modal__viewport.is-pannable {
    overflow: auto;
    cursor: grab;
}

.lk-file-preview-modal__viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.lk-file-preview-modal__canvas {
    min-width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lk-file-preview-modal__canvas.is-pannable {
    min-width: max-content;
    min-height: max-content;
    align-items: flex-start;
    justify-content: flex-start;
}

.lk-file-preview-modal__image,
.lk-file-preview-modal__frame {
    flex: 0 0 auto;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.lk-file-preview-modal__image[hidden],
.lk-file-preview-modal__frame[hidden] {
    display: none !important;
}

.lk-file-preview-modal__image {
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: fill;
    background: transparent;
}

.lk-file-preview-modal__frame {
    width: min(1200px, 100%);
    height: calc(90dvh - 190px);
}

@media (max-width: 900px) {
    .lk-file-preview-modal {
        padding: 10px;
    }

    .lk-file-preview-modal__dialog {
        width: calc(100vw - 20px);
        height: calc(100dvh - 20px);
        padding: 16px;
        border-radius: 22px;
    }

    .lk-file-preview-modal__toolbar {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding-right: 56px;
    }

    .lk-file-preview-modal__controls {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .lk-file-preview-modal__viewport {
        padding: 12px;
    }

    .lk-file-preview-modal__image {
        max-width: 100%;
        max-height: calc(100dvh - 190px);
    }

    .lk-file-preview-modal__frame {
        width: 100%;
        height: calc(100dvh - 190px);
    }
}



.lk-support-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.lk-support-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lk-support-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.lk-support-summary-item {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(45, 93, 225, 0.12);
    color: var(--lk-muted);
    font-weight: 700;
}

.lk-support-row--unread td {
    background: rgba(45, 93, 225, 0.06);
}

.lk-support-link {
    font-weight: 800;
    color: var(--lk-ink);
    text-decoration: none;
}

.lk-support-link:hover {
    color: var(--lk-brand);
}

.lk-support-preview {
    min-width: 220px;
    max-width: 360px;
    color: var(--lk-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lk-support-unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.16);
    color: var(--lk-brand);
    font-weight: 900;
}

.lk-support-chat-card {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 158px);
    min-height: 540px;
    margin-top: 18px;
    padding: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
}

.lk-support-chat-card .chat-box {
    flex: 1 1 auto;
    height: auto;
    min-height: 260px;
}

.lk-support-composer {
    flex: 0 0 auto;
    display: block;
    width: 100% !important;
    min-width: 100%;
    max-width: none !important;
    margin-top: 0;
    padding: 14px 24px 18px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
}

.lk-support-delivery {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.lk-support-delivery label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(47, 103, 226, 0.18);
    border-radius: 999px;
    background: rgba(239, 244, 254, 0.78);
    color: #10233d;
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
}

.lk-support-delivery input {
    width: 14px;
    height: 14px;
    margin: 0;
    accent-color: var(--lk-blue);
}

.lk-support-delivery label:has(input:checked) {
    border-color: rgba(47, 103, 226, 0.42);
    background: #ffffff;
    color: var(--lk-blue);
}

.lk-support-composer .lk-support-composer__label,
.lk-support-composer .lk-support-composer__shell,
.lk-support-composer .lk-support-composer__meta {
    width: 100%;
}

.lk-support-composer__file-input {
    display: none;
}

.lk-support-composer__label {
    font-size: 12px;
    font-weight: 800;
    color: var(--lk-muted);
}

.lk-support-composer__shell {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid rgba(21, 41, 66, 0.12);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 29, 46, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.lk-support-composer__shell:focus-within {
    border-color: rgba(45, 93, 225, 0.42);
    box-shadow: 0 0 0 3px rgba(45, 93, 225, 0.14), 0 10px 24px rgba(15, 29, 46, 0.06);
}

.lk-support-composer__icon-btn {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(21, 41, 66, 0.14);
    border-radius: 999px;
    background: rgba(21, 41, 66, 0.04);
    color: var(--lk-muted);
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.lk-support-composer__icon-btn svg,
.lk-support-composer__submit svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lk-support-composer__icon-btn:hover {
    border-color: rgba(45, 93, 225, 0.28);
    background: rgba(45, 93, 225, 0.07);
    color: var(--lk-blue);
}

.lk-support-composer__icon-btn:focus-visible,
.lk-support-composer__file-remove:focus-visible {
    outline: 3px solid rgba(45, 93, 225, 0.28);
    outline-offset: 2px;
}

.lk-support-composer__icon-btn:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.lk-support-composer textarea {
    flex: 1 1 auto;
    width: 100%;
    min-height: 44px;
    max-height: 140px;
    padding: 10px 4px;
    margin: 0;
    resize: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lk-support-composer textarea:focus {
    outline: 2px solid transparent;
    box-shadow: none;
}

.lk-support-composer__submit {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 136px;
    min-height: 44px;
    touch-action: manipulation;
}

.lk-support-composer__submit:disabled {
    cursor: not-allowed;
    opacity: 0.52;
    box-shadow: none;
}

.lk-support-composer__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.lk-support-composer__file[hidden] {
    display: none !important;
}

.lk-support-composer__file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(45, 93, 225, 0.08);
    color: var(--lk-blue);
}

.lk-support-composer__file-name {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
}

.lk-support-composer__file-remove {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
}

@media (prefers-reduced-motion: reduce) {
    .lk-support-composer__icon-btn,
    .lk-chat-attachment {
        transition: none;
    }
}


.lk-support-chat-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.lk-support-chat-head--dialog {
    flex: 0 0 auto;
    margin: 0;
    padding: 18px 24px;
    border-bottom: 1px solid rgba(21, 41, 66, 0.08);
    background: rgba(255, 255, 255, 0.88);
}

.lk-support-chat-head h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.2;
}

.lk-support-chat-meta {
    display: grid;
    gap: 4px;
    color: var(--lk-muted);
}

.lk-support-chat-person {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.lk-support-chat-person__avatar {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #eaf2ff 0%, #dce9ff 100%);
    border: 1px solid rgba(47, 103, 226, 0.2);
    color: var(--lk-blue);
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(21, 41, 66, 0.08);
}

.lk-support-chat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lk-support-empty {
    padding: 24px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px dashed rgba(21, 41, 66, 0.16);
    color: var(--lk-muted);
}

.lk-support-modal {
    position: fixed;
    inset: 0;
    z-index: 130;
    display: grid;
    place-items: center;
    padding: 18px;
}

.lk-support-modal[hidden] {
    display: none;
}

.lk-support-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 16, 28, 0.58);
    backdrop-filter: blur(2px);
}

.lk-support-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(980px, 100%);
    max-height: min(86vh, 920px);
    overflow: auto;
    border-radius: 16px;
    border: 1px solid rgba(21, 41, 66, 0.14);
    background: #fff;
    box-shadow: 0 20px 52px rgba(15, 29, 46, 0.26);
    padding: 20px;
}

.lk-support-modal__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.lk-support-modal__head h3 {
    margin: 0;
    font-weight: 900;
    color: var(--lk-ink);
}

.lk-support-modal__search {
    margin-bottom: 14px;
}

.lk-support-picker-row {
    cursor: pointer;
}

.lk-support-picker-row.is-selected td {
    background: rgba(45, 93, 225, 0.08);
}

.lk-support-picker-radio {
    width: 18px;
    height: 18px;
}

.lk-support-student-note {
    margin-bottom: 14px;
}

.lk-access-modal {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.lk-access-modal[hidden] {
    display: none;
}

.lk-access-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 16, 28, 0.62);
    backdrop-filter: blur(3px);
}

.lk-access-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, calc(100vw - 48px));
    max-height: min(82vh, 760px);
    overflow: auto;
    border-radius: 24px;
    border: 1px solid rgba(203, 219, 240, 0.92);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.98));
    box-shadow: 0 28px 70px rgba(8, 16, 28, 0.34);
    padding: 0;
}

.lk-access-modal__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(21, 41, 66, 0.1);
    background: rgba(255, 255, 255, 0.74);
}

.lk-access-modal__head h3,
.lk-access-modal__section h4 {
    margin: 0;
    color: var(--lk-ink);
    font-weight: 900;
}

.lk-access-modal__head p {
    margin: 4px 0 0;
    color: var(--lk-muted);
}

.lk-access-modal__section {
    padding: 18px 24px;
    border-top: 1px solid rgba(21, 41, 66, 0.1);
}

.lk-access-modal__section:first-of-type {
    border-top: 0;
}

.lk-access-modal__section h4 {
    margin-bottom: 8px;
    font-size: 15px;
}

.lk-access-modal__section .lk-form {
    display: grid;
    gap: 12px;
}

.lk-access-modal__section .lk-form label {
    margin: 0;
}

.lk-access-modal__section .lk-enhanced-select,
.lk-access-modal__section .lk-workplace-menu {
    width: 100%;
    min-width: 100%;
}

.lk-access-modal__section .lk-actions {
    margin-top: 8px;
}

@media (max-width: 900px) {
    .lk-support-toolbar,
    .lk-support-chat-head,
    .lk-support-modal__head {
        flex-direction: column;
        align-items: stretch;
    }

    .lk-support-chat-card {
        height: calc(100dvh - 96px);
        min-height: 480px;
    }

    .lk-support-chat-head--dialog,
    .lk-support-composer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .chat-box {
        padding: 16px;
    }

    .lk-chat-msg,
    .lk-chat-msg.is-me {
        max-width: 88%;
    }

    .lk-support-composer__submit {
        min-width: 48px;
        width: 48px;
        padding-left: 0;
        padding-right: 0;
    }

    .lk-support-composer__submit span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .lk-support-preview {
        max-width: none;
        white-space: normal;
    }
}


.lk-apply-shell {
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.lk-apply-course-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(246,250,255,0.92) 100%);
}

.lk-apply-course-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.lk-apply-course-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(70,112,231,0.16) 0%, rgba(70,112,231,0.08) 100%);
    color: var(--lk-blue);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.lk-apply-course-card__kicker {
    font-size: 13px;
    font-weight: 700;
    color: var(--lk-blue);
}

.lk-apply-course-card__title {
    margin: 0;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.1;
}

.lk-apply-course-card__meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.lk-apply-course-card__meta-item {
    border-radius: 16px;
    border: 1px solid rgba(21, 41, 66, 0.10);
    background: rgba(255,255,255,0.72);
    padding: 14px 16px;
}

.lk-apply-course-card__meta-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--lk-muted);
}

.lk-apply-course-card__desc {
    margin: 18px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(70, 112, 231, 0.12);
    border-radius: 16px;
    background: rgba(244, 248, 255, 0.72);
}

.lk-apply-course-card__desc-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--lk-blue);
}

.lk-apply-course-card__desc p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: var(--lk-muted);
    overflow-wrap: anywhere;
}

.lk-apply-status-card {
    border: 1px solid rgba(21, 41, 66, 0.10);
    padding: 22px 24px;
}

.lk-apply-status-card__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.lk-apply-status-card__title {
    font-size: 17px;
    font-weight: 800;
    color: var(--lk-ink);
    line-height: 1.25;
}

.lk-apply-status-card__actions {
    flex-shrink: 0;
}

.lk-apply-status-card__text {
    margin: 8px 0 0;
    color: var(--lk-muted);
    line-height: 1.6;
    max-width: 620px;
}

.lk-apply-status-card__chips {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.lk-apply-status-card__subnote {
    color: var(--lk-muted);
    font-size: 13px;
}

.lk-apply-status-card__subnote + .lk-apply-status-card__subnote {
    position: relative;
}

.lk-apply-form-card .lk-header--compact {
    margin-bottom: 6px;
}

.lk-apply-status-card__comment {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(21, 41, 66, 0.10);
    line-height: 1.55;
}

.lk-apply-status-card.is-approved {
    background: linear-gradient(180deg, rgba(232,248,240,0.94) 0%, rgba(255,255,255,0.94) 100%);
    border-color: rgba(18, 128, 86, 0.18);
}

.lk-apply-status-card.is-pending {
    background: linear-gradient(180deg, rgba(241,246,255,0.94) 0%, rgba(255,255,255,0.94) 100%);
    border-color: rgba(70, 112, 231, 0.14);
}

.lk-apply-status-card.is-rejected,
.lk-apply-status-card.is-missing,
.lk-apply-status-card.is-draft {
    background: linear-gradient(180deg, rgba(255,247,243,0.96) 0%, rgba(255,255,255,0.94) 100%);
    border-color: rgba(180, 35, 24, 0.12);
}

.lk-apply-feedback {
    margin: 0;
}

.lk-apply-feedback__actions {
    margin-top: 12px;
}

.lk-apply-form-card,
.lk-apply-success-card {
    padding: 22px 24px;
}

.lk-apply-form-card__note {
    max-width: 620px;
    margin: 4px 0 0;
}

.lk-apply-form__intro {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--lk-ink);
}

.lk-apply-form {
    max-width: 860px;
    display: grid;
    gap: 12px;
}

.lk-apply-form__locked-course {
    margin-bottom: 6px;
}

.lk-apply-form__course-pill {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(70, 112, 231, 0.18);
    background: linear-gradient(180deg, rgba(241,246,255,0.98) 0%, rgba(255,255,255,0.98) 100%);
    font-size: 16px;
    font-weight: 700;
    color: var(--lk-ink);
}

.lk-apply-form__actions {
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.lk-apply-form .lk-row {
    margin: 0;
}

.lk-apply-request-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.lk-apply-request-grid .lk-row {
    min-width: 0;
}

.lk-apply-request-grid textarea {
    min-height: 92px;
    resize: vertical;
}

.lk-apply-request-grid .js-payer-organization-row,
.lk-apply-request-grid .js-payer-organization-request-row {
    grid-column: 1 / -1;
}

.lk-btn--wide {
    min-width: 220px;
    min-height: 52px;
    font-size: 17px;
}

.lk-apply-form .lk-btn-secondary,
.lk-apply-success-card .lk-btn-secondary,
.lk-apply-status-card .lk-btn-secondary {
    background: rgba(255,255,255,0.76);
}

.lk-apply-success-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    align-items: start;
    background: linear-gradient(180deg, rgba(235,249,241,0.96) 0%, rgba(255,255,255,0.96) 100%);
    border: 1px solid rgba(18, 128, 86, 0.18);
}

.lk-apply-success-card__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(180deg, #3c67e1 0%, #27b58c 100%);
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    box-shadow: 0 16px 26px rgba(39, 181, 140, 0.18);
}

.lk-apply-success-card__content h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.15;
}

.lk-apply-success-card__lead {
    margin: 10px 0 0;
    font-size: 16px;
    color: var(--lk-ink);
}

.lk-apply-success-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.lk-apply-success-card__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(21, 41, 66, 0.08);
    color: var(--lk-muted);
    font-size: 14px;
}

.lk-apply-success-card__actions {
    margin-top: 16px;
}

@media (max-width: 900px) {
    .lk-apply-course-card__meta-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .lk-apply-status-card__main,
    .lk-apply-success-card {
        grid-template-columns: 1fr;
        display: grid;
    }

    .lk-apply-success-card__icon {
        width: 52px;
        height: 52px;
        border-radius: 16px;
    }
}


.lk-apply-stream-picker {
    margin-top: 0;
    display: grid;
    gap: 8px;
    width: 100%;
    max-width: 780px;
    justify-self: center;
}

.lk-apply-stream-list {
    display: grid;
    gap: 12px;
    margin-top: 0;
}

.lk-apply-stream-option {
    position: relative;
    display: block;
    cursor: pointer;
}

.lk-apply-stream-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lk-apply-stream-option .flow-card {
    width: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 104px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(203, 213, 225, 0.9);
    border-radius: 16px;
    color: #10233d;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.lk-apply-stream-option:hover .flow-card {
    border-color: rgba(47, 103, 226, 0.35);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.09), 0 0 0 3px rgba(47, 103, 226, 0.06);
    transform: translateY(-1px);
}

.lk-apply-stream-option input:checked + .flow-card {
    background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
    border-color: rgba(47, 103, 226, 0.62);
    box-shadow: 0 10px 26px rgba(37, 99, 235, 0.13), 0 0 0 3px rgba(47, 103, 226, 0.13);
}

.flow-date {
    width: 74px;
    height: 74px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #eef4ff;
    border-radius: 14px;
    color: #10233d;
}

.flow-date-day {
    font-size: 30px;
    line-height: 0.95;
    font-weight: 850;
    letter-spacing: 0;
}

.flow-date-month {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1;
    font-weight: 850;
    text-transform: uppercase;
}

.flow-date-year {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    color: #40516b;
}

.flow-content {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.flow-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.flow-title {
    min-width: 0;
    font-size: 15px;
    line-height: 1.22;
    font-weight: 850;
    color: #10233d;
    overflow-wrap: anywhere;
}

.flow-check {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e8eef8;
    color: transparent;
}

.flow-check svg {
    width: 14px;
    height: 14px;
}

.flow-check path {
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lk-apply-stream-option input:checked + .flow-card .flow-check {
    background: #2f67e2;
    color: #ffffff;
}

.flow-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
    color: #61718a;
}

.flow-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #9aa8bb;
}

.flow-note {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
    color: #10233d;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.flow-person {
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    color: #61718a;
}

.lk-apply-stream-note {
    margin-top: 8px;
}

.lk-stream-card-list {
    display: grid;
    gap: 18px;
}

.lk-stream-card {
    display: grid;
    grid-template-columns: 168px minmax(260px, 360px) minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    min-height: 188px;
    padding: 28px 34px;
    border: 1px solid rgba(135, 154, 184, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 46px rgba(32, 55, 92, 0.08);
}

.lk-stream-card__date {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 132px;
    padding: 18px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(244, 248, 255, 0.98) 0%, rgba(235, 242, 253, 0.98) 100%);
    color: #14263d;
    text-align: center;
}

.lk-stream-card__calendar {
    position: relative;
    width: 28px;
    height: 28px;
    margin-bottom: 6px;
    border: 3px solid #3169dc;
    border-radius: 7px;
}

.lk-stream-card__calendar::before,
.lk-stream-card__calendar::after {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    height: 3px;
    background: #3169dc;
}

.lk-stream-card__calendar::before {
    top: 6px;
}

.lk-stream-card__calendar::after {
    top: -7px;
    width: 14px;
    left: 4px;
    right: auto;
    border-radius: 999px;
    box-shadow: 10px 0 0 #3169dc;
}

.lk-stream-card__date strong {
    font-size: 52px;
    line-height: 0.95;
    letter-spacing: 0;
}

.lk-stream-card__date span {
    margin-top: 4px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}

.lk-stream-card__date small {
    margin-top: 4px;
    font-size: 18px;
    color: #30455f;
}

.lk-stream-card__meta {
    display: grid;
    gap: 22px;
    min-width: 0;
    padding-left: 30px;
    border-left: 1px solid rgba(135, 154, 184, 0.24);
}

.lk-stream-card__meta-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.lk-stream-card__meta-row strong {
    display: block;
    margin-top: 8px;
    color: #14263d;
    font-size: 20px;
    line-height: 1.25;
}

.lk-stream-card__label {
    display: block;
    color: #69778a;
    font-size: 19px;
    line-height: 1.2;
}

.lk-stream-card__divider {
    height: 1px;
    margin-left: 50px;
    background: rgba(135, 154, 184, 0.18);
}

.lk-stream-card__meta-icon {
    position: relative;
    width: 28px;
    height: 28px;
    border: 3px solid #3169dc;
    border-radius: 50%;
}

.lk-stream-card__meta-icon--time::before,
.lk-stream-card__meta-icon--time::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 5px;
    width: 3px;
    height: 10px;
    border-radius: 999px;
    background: #3169dc;
    transform-origin: bottom center;
}

.lk-stream-card__meta-icon--time::after {
    top: 12px;
    height: 8px;
    transform: rotate(45deg);
}

.lk-stream-card__meta-icon--org {
    border-radius: 5px;
}

.lk-stream-card__meta-icon--org::before {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 4px;
    height: 12px;
    border-left: 3px solid #3169dc;
    border-right: 3px solid #3169dc;
    box-shadow: inset 7px 0 0 rgba(49, 105, 220, 0.18);
}

.lk-stream-card__body {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.lk-stream-card__course {
    color: #65758a;
    font-size: 14px;
    font-weight: 800;
}

.lk-stream-card__body h3 {
    margin: 0;
    color: #14263d;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.25;
}

.lk-stream-card__chips,
.lk-stream-card__listeners {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.lk-stream-card__chip,
.lk-stream-card__listeners span,
.lk-stream-card__action {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(239, 244, 254, 0.96);
    color: #3169dc;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.lk-stream-card__listeners span {
    gap: 7px;
    color: #485a72;
    background: rgba(248, 250, 253, 0.96);
}

.lk-stream-card__listeners .lk-contact-card-button {
    padding: 4px 9px;
    font-size: 11px;
}

.lk-stream-card__action {
    margin-top: 4px;
    padding-inline: 18px;
    color: #3169dc;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lk-stream-card__action:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(49, 105, 220, 0.12);
}

@media (max-width: 720px) {
    .lk-apply-stream-option .flow-card {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
        min-height: 96px;
    }

    .flow-date {
        width: 64px;
        height: 64px;
    }

    .flow-date-day {
        font-size: 26px;
    }

    .flow-title {
        font-size: 14px;
    }

    .flow-note {
        font-size: 13px;
    }

    .lk-apply-request-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .lk-stream-card {
        grid-template-columns: 140px minmax(220px, 300px) minmax(0, 1fr);
        gap: 24px;
        padding: 24px;
    }

    .lk-stream-card__body h3 {
        font-size: 25px;
    }
}

@media (max-width: 900px) {
    .lk-stream-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .lk-stream-card__body {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .lk-stream-card {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 18px;
        border-radius: 18px;
    }

    .lk-stream-card__date {
        min-height: 118px;
    }

    .lk-stream-card__meta {
        padding-left: 0;
        border-left: 0;
    }

    .lk-stream-card__body h3 {
        font-size: 22px;
    }

    .lk-contact-modal {
        padding: 14px;
    }

    .lk-contact-modal__dialog {
        padding: 18px;
        border-radius: 18px;
    }

    .lk-contact-modal__grid {
        grid-template-columns: 1fr;
    }

    .lk-contact-modal__head h3 {
        font-size: 21px;
    }

    .lk-stream-detail {
        display: grid;
    }

    .lk-stream-detail__stats {
        justify-content: flex-start;
    }

    .lk-detail-grid {
        grid-template-columns: 1fr;
    }
}


.lk-learning-shell {
    display: grid;
    gap: 14px;
}

.lk-learning-placeholder {
    display: grid;
    min-height: 260px;
    place-items: center;
    padding: 32px 24px;
    border: 1px solid rgba(203, 219, 240, 0.88);
    background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(244, 248, 255, 0.98));
    text-align: center;
}

.lk-learning-placeholder__content {
    max-width: 560px;
}

.lk-learning-placeholder h2 {
    margin: 0;
    color: #223451;
    font-size: clamp(21px, 2.4vw, 30px);
    line-height: 1.2;
}

.lk-learning-placeholder p {
    margin: 12px 0 0;
    color: #667b97;
    font-size: 15px;
    line-height: 1.6;
}

.lk-learning-banner {
    position: relative;
    overflow: hidden;
    min-height: 0;
    padding: 20px 24px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(18px);
    box-shadow: var(--lk-shadow);
}

.lk-learning-banner__overlay {
    display: none;
}

.lk-learning-banner__content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    max-width: 560px;
}

.lk-learning-status-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #324966;
    font-size: 16px;
    font-weight: 600;
}

.lk-learning-status-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(238, 244, 255, 0.92), rgba(223, 234, 251, 0.92));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}

.lk-learning-status-copy strong {
    color: #223451;
}

.lk-learning-banner__title {
    margin: 0;
    font-size: clamp(18px, 2.2vw, 28px);
    line-height: 1.18;
    color: #1f2f49;
    letter-spacing: -0.02em;
}

.lk-learning-banner__lead {
    margin: 0;
    max-width: 520px;
    color: #667b97;
    font-size: 16px;
    line-height: 1.7;
}

.lk-learning-banner__btn {
    min-width: 300px;
    justify-content: center;
    min-height: 54px;
    border-radius: 16px;
    background: linear-gradient(180deg, #5f92eb 0%, #3e71d4 100%);
    box-shadow: 0 14px 24px rgba(56, 97, 184, 0.24);
}

.lk-learning-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.lk-learning-panel {
    border-radius: 22px;
    overflow: hidden;
}

.lk-learning-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px 8px;
}

.lk-learning-panel__title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lk-learning-panel__icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(239, 245, 255, 0.95), rgba(224, 235, 251, 0.95));
    color: #6b88af;
}

.lk-learning-panel__icon img,
.lk-learning-status-icon img,
.lk-learning-ghost-link__icon img,
.lk-learning-action__icon img,
.lk-learning-documents-empty__icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    opacity: 0.82;
}

.lk-learning-panel__title {
    margin: 0;
    color: #223451;
    font-size: 18px;
    line-height: 1.2;
}

.lk-learning-panel__dots {
    color: #adb9cf;
    letter-spacing: 0.2em;
    font-size: 18px;
}

.lk-learning-empty-copy {
    padding: 14px 20px 8px;
}

.lk-learning-empty-copy h4 {
    margin: 0;
    color: #23344f;
    font-size: 14px;
    line-height: 1.35;
}

.lk-learning-ghost-link {
    margin: 12px 20px 20px;
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    border-radius: 16px;
    text-decoration: none;
    color: #466a98;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(241, 246, 255, 0.98));
    border: 1px solid rgba(212, 225, 244, 0.9);
    font-size: 15px;
}

.lk-learning-ghost-link__icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(227, 237, 252, 0.96), rgba(208, 223, 246, 0.96));
    color: #5a7ead;
}

.lk-learning-course-list {
    display: grid;
    gap: 10px;
    padding: 0;
}

.lk-learning-course-item {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(203, 219, 240, 0.88);
    background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(244, 248, 255, 0.98));
}

.lk-learning-course-item__certificate {
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    max-width: min(260px, calc(100% - 32px));
    padding: 8px 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: normal;
}

.lk-learning-course-item__certificate--pending {
    border: 1px solid rgba(245, 158, 11, 0.42);
    background: rgba(255, 237, 213, 0.96);
    color: #9a3412;
    cursor: default;
}

.lk-learning-course-item__certificate--ready {
    border: 1px solid rgba(59, 130, 246, 0.36);
    background: rgba(219, 234, 254, 0.96);
    color: #2563eb;
}

.lk-learning-course-item__meta,
.lk-learning-course-item__details,
.lk-learning-course-item__footer,
.lk-learning-course-item__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.lk-learning-course-item__chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(232, 240, 252, 0.96);
    border: 1px solid rgba(194, 210, 235, 0.95);
    color: #506b92;
    font-size: 12px;
    font-weight: 700;
}

.lk-learning-course-item__chip--progress {
    background: rgba(224, 244, 236, 0.96);
    border-color: rgba(157, 219, 192, 0.95);
    color: #207052;
}

.lk-learning-course-item__title {
    margin: 0;
    font-size: 21px;
    line-height: 1.2;
    color: #223451;
}

.lk-learning-course-item__details {
    color: #617895;
    font-weight: 600;
    font-size: 14px;
}

.lk-learning-course-item__desc {
    margin: 0;
    color: #6c7f99;
    font-size: 14px;
    line-height: 1.55;
}

.lk-learning-progress {
    display: grid;
    gap: 6px;
}

.lk-learning-progress__bar {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(213, 225, 241, 0.9);
}

.lk-learning-progress__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2f63d8;
}

.lk-learning-progress__note {
    color: #8a6f2a;
    font-size: 12px;
    font-weight: 700;
}

.lk-learning-course-item__footer {
    justify-content: space-between;
    align-items: flex-end;
}

.lk-learning-course-item__stream {
    color: #45688f;
    font-size: 13px;
    font-weight: 700;
}

.lk-learning-actions-list {
    display: grid;
    padding: 14px 22px 18px;
}

.lk-learning-action {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 4px;
    text-decoration: none;
    color: #354a68;
}

.lk-learning-action__icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(239, 244, 255, 0.96), rgba(225, 235, 250, 0.96));
    color: #6b87ad;
}

.lk-learning-action__text {
    font-size: 17px;
    color: #374c68;
}

.lk-learning-panel--documents {
    padding-bottom: 6px;
}

.lk-learning-documents-empty {
    margin: 0 24px 24px;
    min-height: 86px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    border-radius: 18px;
    border: 1px solid rgba(212, 225, 243, 0.92);
    background: linear-gradient(180deg, rgba(252, 253, 255, 0.98), rgba(246, 249, 255, 0.98));
}

.lk-learning-documents-empty__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(239, 245, 255, 0.96), rgba(224, 234, 249, 0.96));
    color: #6d88ad;
}

.lk-learning-documents-empty__text {
    color: #6a809d;
    font-size: 18px;
}

.lk-dashboard-group[data-section="learning"] .lk-dashboard-tile {
    min-height: 172px;
}

/* Compact dashboard navigation panels. */
.lk-dashboard-function-tables {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.lk-dashboard-function-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(203, 219, 240, 0.82);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 28px rgba(15, 29, 46, 0.06);
    backdrop-filter: blur(10px);
}

.lk-dashboard-function-panel__head {
    padding: 17px 18px 12px;
}

.lk-dashboard-function-panel__head h3 {
    margin: 0;
    color: #102033;
    font-size: 19px;
    line-height: 1.2;
}

.lk-dashboard-function-panel__head p {
    margin: 6px 0 0;
    color: #637289;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.lk-dashboard-function-list {
    display: grid;
    border-top: 1px solid rgba(203, 219, 240, 0.70);
}

.lk-dashboard-function-row {
    min-width: 0;
    min-height: 47px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 18px;
    color: #203651;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color .16s ease, color .16s ease;
}

.lk-dashboard-function-row + .lk-dashboard-function-row {
    border-top: 1px solid rgba(203, 219, 240, 0.64);
}

.lk-dashboard-function-row:hover {
    color: #2455c8;
    background: rgba(45, 93, 225, 0.065);
}

.lk-dashboard-function-row:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(45, 93, 225, 0.30);
    outline-offset: -3px;
    color: #2455c8;
    background: rgba(45, 93, 225, 0.08);
}

.lk-dashboard-function-row__chevron {
    flex: 0 0 auto;
    color: #8292a8;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transition: transform .16s ease, color .16s ease;
}

.lk-dashboard-function-row:hover .lk-dashboard-function-row__chevron,
.lk-dashboard-function-row:focus-visible .lk-dashboard-function-row__chevron {
    color: #2455c8;
    transform: translateX(2px);
}

/* Desktop workspace layout: persistent sidebar and subordinate background image. */
.lk-page {
    background:
        linear-gradient(180deg, rgba(239, 244, 251, 0.82) 0%, rgba(230, 237, 247, 0.88) 100%),
        url('/img/AstGMU_pan.png') center center / cover no-repeat fixed;
}

.lk-page::before {
    background: rgba(16, 35, 64, 0.18);
}

@media (min-width: 981px) {
    .lk-shell {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 0;
        width: 100%;
        max-width: none;
        min-height: 100vh;
        margin: 0;
        padding: 0;
        align-items: stretch;
        z-index: 1;
    }

    .lk-sidebar {
        position: sticky;
        top: 0;
        width: 280px;
        height: 100vh;
        max-height: 100vh;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        padding: 20px 16px 18px;
        overflow: hidden auto;
        border: 0;
        border-right: 1px solid rgba(27, 53, 88, 0.12);
        border-radius: 0;
        box-shadow: 10px 0 28px rgba(15, 29, 46, 0.10);
        background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(240, 246, 255, 0.96));
    }

    .lk-side-card {
        padding: 4px 4px 15px;
        border: 0;
        border-bottom: 1px solid rgba(27, 53, 88, 0.10);
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .lk-nav {
        min-height: 0;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        margin-top: 10px;
        padding: 4px 0 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .lk-nav-group + .lk-nav-group {
        margin-top: 5px;
    }

    .lk-nav-link {
        min-height: 46px;
        padding: 6px 10px;
        font-size: 16px;
    }

    .lk-nav-link--section .lk-nav-link-text {
        font-size: 16px;
    }

    .lk-nav-link-icon,
    .lk-nav-link-icon img {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .lk-nav-mega-trigger {
        width: 32px;
        min-width: 32px;
        min-height: 42px;
        margin: 2px 0;
        border-radius: 10px;
        font-size: 21px;
    }

    .lk-nav-logout {
        margin-top: auto;
        padding-top: 18px;
        border-top: 1px solid rgba(27, 53, 88, 0.10);
    }

    .lk-nav-logout-btn {
        min-height: 42px;
        border-radius: 11px;
        box-shadow: none;
        font-size: 14px;
    }

    .lk-main {
        min-width: 0;
        padding: 28px 34px 56px;
    }

    .lk-container--main {
        width: min(100%, 1500px);
        margin: 0 auto;
    }

    .lk-nav-mega {
        width: min(740px, calc(100vw - 328px));
        max-height: min(620px, calc(100vh - 36px));
        padding: 34px 36px;
        border-radius: 24px;
        box-shadow: 0 28px 70px rgba(18, 40, 72, 0.22);
    }

    .lk-nav-mega__grid {
        gap: 34px 64px;
    }

    .lk-nav-mega__group h3 {
        margin-bottom: 14px;
        font-size: 20px;
    }

    .lk-nav-mega__links {
        gap: 10px;
    }

    .lk-nav-mega__links a {
        font-size: 16px;
        line-height: 1.45;
    }
}

/* Sidebar mega navigation. */
.lk-nav-group__main {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.lk-nav-group__main .lk-nav-link {
    flex: 1 1 auto;
    min-width: 0;
}

.lk-nav-mega-trigger {
    width: 34px;
    min-width: 34px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #73849a;
    background: transparent;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, transform .14s ease;
}

.lk-nav-mega-trigger:hover,
.lk-nav-mega-trigger:focus-visible,
.lk-nav-mega-trigger[aria-expanded="true"] {
    color: var(--lk-blue);
    background: rgba(45, 93, 225, 0.09);
    border-color: rgba(45, 93, 225, 0.18);
    outline: none;
}

.lk-nav-mega-trigger[aria-expanded="true"] span {
    transform: rotate(90deg);
}

.lk-nav-mega-layer {
    position: static;
}

.lk-nav-mega {
    position: fixed;
    z-index: 90;
    width: min(680px, calc(100vw - 380px));
    max-height: min(560px, calc(100vh - 36px));
    overflow: auto;
    padding: 30px;
    border: 1px solid rgba(210, 221, 239, 0.88);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 24px 60px rgba(18, 40, 72, 0.20);
    backdrop-filter: blur(18px);
}

.lk-nav-mega[hidden] {
    display: none;
}

.lk-nav-mega__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 42px;
}

.lk-nav-mega__group h3 {
    margin: 0 0 12px;
    color: #172b45;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.lk-nav-mega__links {
    display: grid;
    gap: 8px;
}

.lk-nav-mega__links a {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 9px;
    border-radius: 8px;
    color: #526882;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
}

.lk-nav-mega__links a:hover,
.lk-nav-mega__links a:focus-visible {
    color: var(--lk-blue);
    background: #f2f6fb;
    text-decoration: none;
    outline: none;
}

@media (max-width: 980px) {
    .lk-nav-mega {
        width: calc(100vw - 24px);
        max-height: min(70vh, calc(100vh - 24px));
        padding: 24px;
        border-radius: 18px;
    }

    .lk-nav-mega__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 1100px) {
    .lk-learning-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .lk-learning-banner {
        padding: 16px 16px 18px;
        min-height: 0;
        background: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(18px);
    }

    .lk-learning-banner__title {
        font-size: 22px;
    }

    .lk-learning-banner__btn {
        min-width: 100%;
    }

    .lk-learning-panel__head {
        padding: 16px 16px 12px;
    }

    .lk-learning-empty-copy {
        padding: 12px 16px 8px;
    }

    .lk-learning-ghost-link,
    .lk-learning-documents-empty {
        margin-left: 16px;
        margin-right: 16px;
    }

    .lk-learning-course-list,
    .lk-learning-actions-list {
        padding-left: 16px;
        padding-right: 16px;
    }

    .lk-learning-course-item__certificate {
        position: static;
        width: 100%;
        max-width: none;
    }

    .lk-learning-course-item__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .lk-dashboard-group[data-section="learning"] .lk-dashboard-catalog {
        grid-template-columns: 1fr;
    }

}

/* Keep the fixed mega layer out of the shell grid and apply final desktop sizing. */
.lk-nav-mega-layer {
    display: contents;
}

@media (min-width: 981px) {
    .lk-nav-mega {
        width: min(740px, calc(100vw - 328px));
        max-height: min(620px, calc(100vh - 36px));
        padding: 34px 36px;
        border-radius: 24px;
        box-shadow: 0 28px 70px rgba(18, 40, 72, 0.22);
    }
}

/* Neutral administrative skin for the persistent navigation and dashboard. */
.lk-page {
    background: #f4f6f9;
}

.lk-page::before {
    display: none;
}

.lk-topbar,
.lk-dashboard-hero,
.lk-dashboard-hero--student,
.lk-dashboard-panel,
.lk-dashboard-panel--student {
    border-color: #dfe5ed;
    border-radius: 12px;
    box-shadow: none;
    background: #fff;
    backdrop-filter: none;
}

.lk-dashboard-hero::before,
.lk-dashboard-hero--student::before,
.lk-dashboard-hero--student::after {
    display: none;
}

.lk-dashboard-hero {
    min-height: 0;
}

.lk-dashboard-title,
.lk-dashboard-hero--student .lk-dashboard-title {
    font-size: 25px;
}

.lk-dashboard-kicker {
    min-height: 0;
    padding: 6px 10px;
    border-radius: 7px;
    background: #f0f4fa;
}

.lk-dashboard-chip {
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 7px;
    background: #f8fafc;
    border-color: #e0e6ef;
}

.lk-dashboard-hero__btn-main {
    background: #2f5f9e;
    border-color: #2f5f9e;
}

.lk-dashboard-hero__btn-main:hover {
    background: #264f84;
    border-color: #264f84;
}

.lk-dashboard-function-panel {
    border-color: #dfe5ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    backdrop-filter: none;
}

.lk-dashboard-function-panel__head {
    padding: 15px 16px 11px;
}

.lk-dashboard-function-panel__head h3 {
    font-size: 17px;
}

.lk-dashboard-function-panel__head p {
    color: #68778b;
    font-size: 12px;
    font-weight: 600;
}

.lk-dashboard-function-list,
.lk-dashboard-function-row + .lk-dashboard-function-row {
    border-color: #e5eaf1;
}

.lk-dashboard-function-row {
    min-height: 42px;
    padding: 9px 16px;
    color: #2a3a4f;
    font-size: 14px;
    font-weight: 650;
}

.lk-dashboard-function-row:hover,
.lk-dashboard-function-row:focus-visible {
    color: #24558e;
    background: #f2f6fb;
}

.lk-dashboard-function-row__chevron {
    color: #8391a3;
    font-size: 19px;
}

/* Compact, read-only admin overview. Contract generation connects here in the next stage. */
.lk-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.lk-dashboard-kpi {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 124px;
    padding: 16px;
    border: 1px solid #dfe5ed;
    border-radius: 12px;
    background: #fff;
    color: #29394e;
    text-decoration: none;
    transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.lk-dashboard-kpi:hover,
.lk-dashboard-kpi:focus-visible {
    border-color: #bed0e5;
    box-shadow: 0 6px 16px rgba(36, 85, 142, 0.10);
    color: #24558e;
    outline: none;
    transform: translateY(-1px);
}

.lk-dashboard-kpi__label {
    display: inline-flex;
    align-self: flex-start;
    padding: 4px 7px;
    border-radius: 6px;
    background: #eef3f8;
    color: #4b6380;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.lk-dashboard-kpi strong {
    margin-top: 11px;
    color: #25384f;
    font-size: 30px;
    font-weight: 750;
    line-height: 1;
}

.lk-dashboard-kpi__weekly {
    margin-top: auto;
    padding-top: 11px;
    color: #4d7a62;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.lk-dashboard-function-panel__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lk-dashboard-function-panel__title-row h3 {
    margin: 0;
}

.lk-dashboard-function-panel__badge {
    flex: 0 0 auto;
    padding: 3px 6px;
    border-radius: 5px;
    background: #eef3f8;
    color: #5b718a;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .02em;
    line-height: 1.1;
}

/* Controlled masonry-like dashboard sections: balanced server-side columns, no JavaScript. */
.lk-dashboard-function-tables {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.lk-dashboard-function-tables--tablet,
.lk-dashboard-function-tables--mobile {
    display: none;
}

.lk-dashboard-function-column {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 14px;
}

.lk-dashboard-function-panel {
    height: auto;
}

.lk-dashboard-function-panel__head {
    padding: 13px 15px 9px;
}

.lk-dashboard-function-panel__head h3 {
    color: #25384f;
    font-size: 17px;
    font-weight: 750;
}

.lk-dashboard-function-panel__head p {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.3;
}

.lk-dashboard-function-panel__badge {
    padding: 2px 5px;
    border-radius: 4px;
    background: #f3f6fa;
    color: #718198;
    font-size: 9px;
    font-weight: 700;
}

.lk-dashboard-function-row {
    min-height: 38px;
    padding: 7px 15px;
    font-size: 13px;
    line-height: 1.25;
}

.lk-dashboard-function-row__chevron {
    font-size: 18px;
}

@media (max-width: 1180px) {
    .lk-dashboard-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lk-dashboard-function-tables {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lk-dashboard-function-tables--desktop {
        display: none;
    }

    .lk-dashboard-function-tables--tablet {
        display: grid;
    }
}

@media (max-width: 640px) {
    .lk-dashboard-kpis {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .lk-dashboard-kpi {
        min-height: 108px;
    }

    .lk-dashboard-function-tables {
        grid-template-columns: 1fr;
    }

    .lk-dashboard-function-tables--tablet {
        display: none;
    }

    .lk-dashboard-function-tables--mobile {
        display: grid;
    }
}

/* On wide screens only, let the main programs panel fill its balanced column.
   Other section panels keep their natural content height. */
@media (min-width: 1181px) {
    .lk-dashboard-function-tables--desktop {
        align-items: stretch;
    }

    .lk-dashboard-function-tables--desktop .lk-dashboard-function-column {
        display: flex;
        flex-direction: column;
    }

    .lk-dashboard-function-tables--desktop .lk-dashboard-function-panel--main {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

    .lk-dashboard-function-panel--main .lk-dashboard-function-list {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

    .lk-dashboard-function-panel--main .lk-dashboard-function-row {
        flex: 1 0 38px;
    }
}

/* Unified catalogue of DPO programs. */
.lk-program-catalog-page {
    padding: 24px;
}

.lk-program-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .85fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, .85fr) max-content;
    gap: 10px 12px;
    align-items: end;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #dce4ee;
    border-radius: 12px;
    background: #f8fafc;
}

.lk-program-filter-form > * {
    min-width: 0;
    max-width: 100%;
}

.lk-program-filter-form__field {
    display: grid;
    min-width: 0;
    max-width: 100%;
    grid-template-rows: 16px 38px;
    gap: 4px;
}

.lk-program-filter-form label {
    overflow: hidden;
    color: #56677a;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-program-filter-form input,
.lk-program-filter-form select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 38px;
    height: 38px !important;
    max-height: 38px;
    padding: 0 10px;
    border: 1px solid #ccd7e3;
    border-radius: 8px;
    background: #fff;
    color: #28384b;
    font: inherit;
    line-height: normal;
    vertical-align: middle;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lk-program-filter-form input:focus,
.lk-program-filter-form select:focus {
    outline: 2px solid rgba(42, 117, 187, .22);
    border-color: #5c9bd6;
}

.lk-filter-dropdown,
.lk-program-filter-dropdown {
    position: relative;
    min-width: 0;
}

.lk-filter-dropdown__trigger,
.lk-program-filter-dropdown__trigger {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 0 38px 0 10px;
    overflow: hidden;
    border: 1px solid #ccd7e3;
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 6 3.5 3.5L11.5 6' fill='none' stroke='%2356677a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center / 16px 16px;
    color: #28384b;
    cursor: pointer;
    font: inherit;
    line-height: normal;
    text-align: left;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.lk-filter-dropdown__trigger:hover,
.lk-filter-dropdown__trigger[aria-expanded="true"],
.lk-program-filter-dropdown__trigger:hover,
.lk-program-filter-dropdown__trigger[aria-expanded="true"] {
    border-color: #aebed0;
    background-color: #fbfdff;
}

.lk-filter-dropdown__trigger:focus-visible,
.lk-program-filter-dropdown__trigger:focus-visible {
    outline: 2px solid rgba(42, 117, 187, .22);
    border-color: #5c9bd6;
}

.lk-filter-dropdown__trigger-label,
.lk-program-filter-dropdown__trigger-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-filter-dropdown__menu,
.lk-program-filter-dropdown__menu {
    position: absolute;
    z-index: 320;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    max-height: 280px;
    padding: 6px;
    overflow-y: auto;
    border: 1px solid #cbd8e6;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(31, 57, 92, .16);
}

.lk-filter-dropdown__option,
.lk-program-filter-dropdown__option {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #28384b;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
}

.lk-filter-dropdown__option:hover,
.lk-filter-dropdown__option:focus-visible,
.lk-program-filter-dropdown__option:hover,
.lk-program-filter-dropdown__option:focus-visible {
    outline: none;
    background: #edf5fd;
    color: #1e5f9f;
}

.lk-filter-dropdown__option.is-selected,
.lk-filter-dropdown__option[aria-selected="true"],
.lk-program-filter-dropdown__option.is-selected,
.lk-program-filter-dropdown__option[aria-selected="true"] {
    background: #e4f0fb;
    color: #1d5f9f;
    font-weight: 600;
}

.lk-program-filter-form__actions {
    display: flex;
    min-width: 0;
    flex-wrap: nowrap;
    align-self: end;
    gap: 8px;
    height: 38px;
}

.lk-program-filter-form__actions .lk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    min-height: 38px;
    white-space: nowrap;
}

.lk-program-catalog-results {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 2px 12px;
    color: #65758a;
    font-size: 13px;
}

.lk-program-catalog-results strong {
    color: #26374b;
}

.lk-program-list {
    display: grid;
    gap: 10px;
}

.lk-program-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    min-height: 138px;
    padding: 16px 18px;
    border: 1px solid #dce4ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(31, 57, 81, .04);
}

.lk-program-row--clickable {
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lk-program-row--clickable:hover {
    border-color: #b9cee3;
    box-shadow: 0 5px 14px rgba(31, 57, 81, .08);
    transform: translateY(-1px);
}

.lk-program-row--clickable:focus-visible {
    outline: 3px solid rgba(56, 127, 196, .28);
    outline-offset: 2px;
}

.lk-program-row__surface-link {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
}

.lk-program-row__surface-link:focus-visible {
    outline: 3px solid rgba(56, 127, 196, .28);
    outline-offset: 2px;
}

.lk-program-row__content {
    position: relative;
    z-index: 2;
    min-width: 0;
    pointer-events: none;
}

.lk-program-row__badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 6px;
    background: #edf4fb;
    color: #376b9d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.lk-program-row__title {
    margin: 7px 0 5px;
    color: #23354a;
    font-size: 17px;
    line-height: 1.32;
}

.lk-program-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 0;
    color: #53657a;
    font-size: 13px;
    line-height: 1.45;
}

.lk-program-row__meta span + span::before {
    content: "·";
    margin: 0 7px;
    color: #97a5b5;
}

.lk-program-row__department {
    margin-top: 4px;
    color: #44576d;
    font-size: 13px;
}

.lk-program-row__description {
    display: -webkit-box;
    overflow: hidden;
    margin: 7px 0 0;
    color: #718094;
    font-size: 13px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.lk-program-row__actions {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: 190px;
}

.lk-program-row__actions .lk-btn {
    min-height: 36px;
    white-space: nowrap;
}

@media (max-width: 1480px) {
    .lk-program-filter-form {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lk-program-filter-form__field--search {
        grid-column: span 2;
    }

    .lk-program-filter-form__actions {
        grid-column: span 2;
        justify-content: flex-end;
    }
}

@media (max-width: 980px) {
    .lk-program-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lk-program-filter-form__field--search {
        grid-column: 1 / -1;
    }

    .lk-program-filter-form__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 700px) {
    .lk-program-catalog-page {
        padding: 18px;
    }

    .lk-program-filter-form {
        grid-template-columns: 1fr;
    }

    .lk-program-filter-form__field--search {
        grid-column: auto;
    }

    .lk-program-catalog-results {
        flex-direction: column;
        gap: 4px;
    }

    .lk-program-row {
        grid-template-columns: 1fr;
        gap: 14px;
        min-height: 0;
        padding: 15px;
    }

    .lk-program-row__actions {
        justify-content: flex-start;
        max-width: none;
    }
}

@media (min-width: 981px) {
    .lk-shell {
        grid-template-columns: 272px minmax(0, 1fr);
    }

    .lk-sidebar {
        width: 272px;
        padding: 16px 14px;
        border-right-color: #dbe2eb;
        box-shadow: none;
        background: #fff;
    }

    .lk-side-card {
        padding: 2px 4px 13px;
        border-bottom-color: #e2e7ee;
    }

    .lk-nav {
        margin-top: 8px;
    }

    .lk-nav-group + .lk-nav-group {
        margin-top: 2px;
    }

    .lk-nav-link {
        min-height: 42px;
        padding: 5px 9px;
        border-radius: 8px;
        color: #29394e;
    }

    .lk-nav-link--section .lk-nav-link-text {
        font-size: 15px;
        font-weight: 700;
    }

    .lk-nav-link:hover {
        background: #f3f6fa;
    }

    .lk-nav-link.is-active {
        color: #24558e;
        border-color: #d6e2f1;
        background: #eaf1f8;
    }

    .lk-nav-mega-trigger {
        width: 28px;
        min-width: 28px;
        min-height: 36px;
        margin: 3px 0;
        border: 0;
        border-radius: 7px;
        color: #7c8b9e;
        font-size: 19px;
    }

    .lk-nav-mega-trigger:hover,
    .lk-nav-mega-trigger:focus-visible,
    .lk-nav-mega-trigger[aria-expanded="true"] {
        color: #24558e;
        border: 0;
        background: #eef3f8;
    }

    .lk-nav-logout {
        padding-top: 14px;
        border-top-color: #e2e7ee;
    }

    .lk-nav-logout-btn {
        min-height: 38px;
        border: 1px solid #e4c5c7;
        border-radius: 8px;
        box-shadow: none;
        background: #c84248;
        font-size: 13px;
    }

    .lk-main {
        padding: 22px 28px 48px;
    }

    .lk-nav-mega {
        width: min(296px, calc(100vw - 296px));
        max-height: min(480px, calc(100vh - 28px));
        padding: 16px;
        border: 1px solid #dce3ec;
        border-radius: 12px;
        box-shadow: 0 12px 26px rgba(25, 43, 68, 0.14);
        background: #fff;
        backdrop-filter: none;
    }

    .lk-nav-mega__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .lk-nav-mega__group h3 {
        margin-bottom: 7px;
        color: #25384f;
        font-size: 16px;
        font-weight: 750;
    }

    .lk-nav-mega__links {
        gap: 3px;
    }

    .lk-nav-mega__links a {
        color: #52657b;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
    }

    .lk-nav-mega__links a:hover,
    .lk-nav-mega__links a:focus-visible {
        color: #24558e;
    }
}

/* Useful next steps without decorative dashboard noise. */
.lk-dashboard-workflow {
    border: 1px solid #dfe5ed;
    border-radius: 12px;
    background: #fff;
}

.lk-dashboard-workflow__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px 12px;
}

.lk-dashboard-workflow__head h3 {
    margin: 0;
    color: #25384f;
    font-size: 17px;
}

.lk-dashboard-workflow__head p {
    margin: 0;
    color: #68778b;
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

.lk-dashboard-workflow__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    border-top: 1px solid #e5eaf1;
}

.lk-dashboard-workflow__item {
    min-width: 0;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 18px;
    color: #2a3a4f;
    text-decoration: none;
}

.lk-dashboard-workflow__item + .lk-dashboard-workflow__item {
    border-left: 1px solid #e5eaf1;
}

.lk-dashboard-workflow__item strong,
.lk-dashboard-workflow__item small {
    display: block;
}

.lk-dashboard-workflow__item strong {
    font-size: 14px;
    line-height: 1.3;
}

.lk-dashboard-workflow__item small {
    margin-top: 4px;
    color: #68778b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.lk-dashboard-workflow__item > span:last-child {
    color: #8391a3;
    font-size: 20px;
}

.lk-dashboard-workflow__item:hover,
.lk-dashboard-workflow__item:focus-visible {
    color: #24558e;
    background: #f2f6fb;
    outline: none;
}

/* Student dashboard: a guided workflow, kept isolated from manager/admin dashboards. */
.lk-student-workflow {
    width: min(100%, 1180px);
    display: grid;
    gap: 16px;
    margin: 0 auto;
}

.lk-student-workflow__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
}

/* Keep the student sidebar header focused on the account, not the role label. */
.lk-dashboard-student .lk-user-role {
    display: none;
}

.lk-student-workflow__eyebrow {
    margin-bottom: 7px;
    color: #53708c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lk-student-workflow__hero h2,
.lk-student-workflow__hero h3,
.lk-student-workflow__section-head h3 {
    margin: 0;
    color: #25384f;
}

.lk-student-workflow__hero h2 {
    font-size: clamp(22px, 2.1vw, 30px);
    line-height: 1.15;
}

.lk-student-workflow__hero h3 {
    margin-top: 12px;
    font-size: 18px;
    line-height: 1.3;
}

.lk-student-workflow__hero p,
.lk-student-workflow__section-head p {
    margin: 7px 0 0;
    color: #68778b;
    font-size: 14px;
    line-height: 1.5;
}

.lk-student-workflow__cta {
    flex: 0 0 auto;
    white-space: nowrap;
}

.lk-student-workflow__timeline-card,
.lk-student-workflow__courses {
    padding: 22px 24px;
}

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

.lk-student-workflow__section-head h3 {
    font-size: 18px;
    line-height: 1.3;
}

.lk-student-workflow__timeline-head {
    align-items: center;
}

.lk-student-workflow__timeline-course-form {
    flex: 0 1 240px;
    min-width: 0;
    width: auto;
    max-width: 240px;
}

.lk-student-workflow__timeline-course-chip {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 36px;
    padding: 0 12px;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #536c84;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 34px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lk-student-workflow__timeline-course-chip {
    width: auto;
    max-width: min(240px, 100%);
    background: transparent;
    color: #647b91;
}

.lk-student-workflow__timeline-course-chip--muted {
    background: transparent;
    color: #708093;
    font-weight: 600;
}

.lk-student-workflow__timeline {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.lk-student-workflow__timeline-step {
    position: relative;
    min-width: 0;
    color: #8391a3;
    text-align: center;
}

.lk-student-workflow__timeline-link {
    display: block;
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
}

.lk-student-workflow__timeline-link.is-disabled {
    cursor: default;
}

.lk-student-workflow__timeline-link:hover .lk-student-workflow__timeline-marker {
    border-color: #7aa3cd;
    background: #f4f8fc;
}

.lk-student-workflow__timeline-link:hover .lk-student-workflow__timeline-label {
    color: #24558e;
}

.lk-student-workflow__timeline-link:focus-visible {
    outline: 2px solid rgba(45, 111, 172, .45);
    outline-offset: 3px;
}

.lk-student-workflow__courses-head h3 {
    margin: 0;
    color: #25384f;
    font-size: 18px;
    line-height: 1.35;
}

.lk-student-workflow__course-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 4px;
    margin-top: 16px;
    border: 1px solid #dce8f3;
    border-radius: 12px;
    background: #eff5fa;
}

.lk-student-workflow__course-tab {
    min-width: 0;
    min-height: 34px;
    padding: 7px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #536b83;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.lk-student-workflow__course-tab:hover {
    background: #e2edf7;
    color: #245f98;
}

.lk-student-workflow__course-tab.is-active {
    background: #2d78bd;
    color: #fff;
    box-shadow: 0 3px 8px rgba(34, 103, 164, .2);
}

.lk-student-workflow__course-tab:focus-visible {
    outline: 2px solid rgba(45, 120, 189, .52);
    outline-offset: 2px;
}

.lk-student-workflow__course-panel {
    margin-top: 14px;
}

.lk-student-workflow__course-list {
    display: grid;
    gap: 10px;
}

.lk-student-workflow__course-item {
    min-width: 0;
    gap: 8px;
    padding: 15px;
}

.lk-student-workflow__course-status-badge {
    background: rgba(232, 240, 252, 0.96);
    border-color: rgba(194, 210, 235, 0.95);
    color: #365f8c;
}

.lk-student-workflow__course-hint {
    padding: 7px 10px;
    border-left: 3px solid #b9d4ed;
    border-radius: 0 8px 8px 0;
    background: #f4f8fc;
    color: #58718a;
}

.lk-student-workflow__courses-empty {
    display: grid;
    min-height: 228px;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 22px;
    text-align: center;
}

.lk-student-workflow__courses-empty img {
    display: block;
    width: min(148px, 54vw);
    height: auto;
    margin-bottom: 5px;
    object-fit: contain;
}

.lk-student-workflow__courses-empty strong {
    color: #3d5872;
    font-size: 18px;
    line-height: 1.3;
}

.lk-student-workflow__courses-empty span {
    color: #8290a0;
    font-size: 13px;
    line-height: 1.4;
}

.lk-student-workflow__timeline-step::before {
    position: absolute;
    z-index: 0;
    top: 25px;
    right: calc(50% + 16px);
    left: calc(-50% + 16px);
    height: 2px;
    background: #dce4ed;
    content: '';
}

.lk-student-workflow__timeline-step:first-child::before {
    display: none;
}

.lk-student-workflow__timeline-marker {
    position: relative;
    z-index: 1;
    display: inline-grid;
    width: 32px;
    height: 32px;
    margin-top: 9px;
    place-items: center;
    border: 2px solid #dce4ed;
    border-radius: 50%;
    background: #fff;
    color: #8090a3;
    font-size: 12px;
    font-weight: 800;
}

.lk-student-workflow__timeline-label,
.lk-student-workflow__timeline-step small {
    display: block;
}

.lk-student-workflow__timeline-label {
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.lk-student-workflow__timeline-step small {
    margin-top: 4px;
    color: #98a4b3;
    font-size: 10px;
    line-height: 1.2;
}

.lk-student-workflow__timeline-step.is-done,
.lk-student-workflow__timeline-step.is-current {
    color: #255b94;
}

.lk-student-workflow__timeline-step.is-done::before,
.lk-student-workflow__timeline-step.is-current::before {
    background: #7da7d3;
}

.lk-student-workflow__timeline-step.is-done .lk-student-workflow__timeline-marker {
    border-color: #5e95c8;
    background: #5e95c8;
    color: #fff;
}

.lk-student-workflow__timeline-step.is-current .lk-student-workflow__timeline-marker {
    width: 50px;
    height: 50px;
    margin-top: 0;
    border-color: #2d6fac;
    box-shadow: 0 0 0 4px rgba(45, 111, 172, .12);
    color: #2d6fac;
    font-size: 15px;
}

.lk-student-workflow__timeline-step.is-current::before {
    right: calc(50% + 25px);
}

.lk-student-workflow__timeline-step.is-next {
    color: #4b739d;
}

.lk-student-workflow__timeline-step.is-next .lk-student-workflow__timeline-marker {
    width: 40px;
    height: 40px;
    margin-top: 5px;
    border-color: #91b7d9;
    background: #f5f9fd;
    color: #376f9f;
    font-size: 13px;
}

.lk-student-workflow__timeline-step.is-next::before {
    right: calc(50% + 20px);
    left: calc(-50% + 25px);
}

.lk-student-workflow__timeline-step.is-planned .lk-student-workflow__timeline-marker {
    border-style: dashed;
}

.lk-student-workflow__application-list {
    border-top: 1px solid #e5eaf1;
}

.lk-student-workflow__application {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 2px;
    border-bottom: 1px solid #e5eaf1;
    color: #293d53;
    text-decoration: none;
}

.lk-student-workflow__application strong,
.lk-student-workflow__application small,
.lk-student-workflow__application-meta em,
.lk-student-workflow__application-meta b {
    display: block;
}

.lk-student-workflow__application strong {
    font-size: 15px;
    line-height: 1.35;
}

.lk-student-workflow__application small {
    margin-top: 3px;
    color: #718197;
    font-size: 13px;
}

.lk-student-workflow__application-meta {
    flex: 0 0 auto;
    text-align: right;
}

.lk-student-workflow__application-meta em {
    color: #63758a;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.lk-student-workflow__application-meta b {
    margin-top: 4px;
    color: #2d6fac;
    font-size: 13px;
}

.lk-student-workflow__application:hover,
.lk-student-workflow__application:focus-visible,
.lk-student-workflow__quick-item:hover,
.lk-student-workflow__quick-item:focus-visible {
    color: #24558e;
    outline: none;
}

.lk-student-workflow__empty {
    padding: 17px 18px;
    border: 1px dashed #d6e0ea;
    border-radius: 8px;
    background: #f8fafc;
    color: #64758a;
    font-size: 14px;
    line-height: 1.5;
}

.lk-student-workflow__quick {
    padding: 2px 0 0;
}

.lk-student-workflow__quick-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #e1e8f0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .82);
    overflow: hidden;
}

.lk-student-workflow__quick-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    gap: 12px;
    padding: 11px 15px;
    border-left: 1px solid #e5eaf1;
    color: #354b64;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.lk-student-workflow__quick-item:first-child {
    border-left: 0;
}

.lk-student-workflow__quick-item > span:last-child {
    color: #8595a8;
    font-size: 20px;
}

.lk-sidebar-quick-actions {
    display: grid;
    gap: 2px;
    margin: 18px 2px 0;
    padding: 14px 10px 10px;
    border-top: 1px solid rgba(79, 107, 137, .18);
}

.lk-sidebar-nav-spacer {
    flex: 1 1 auto;
    min-height: 22px;
}

.lk-sidebar-quick-actions__title {
    margin: 0 4px 6px;
    color: #718197;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.lk-sidebar-quick-actions a {
    padding: 7px 4px;
    border-radius: 6px;
    color: #49627c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.lk-sidebar-quick-actions a:hover,
.lk-sidebar-quick-actions a:focus-visible {
    background: rgba(45, 93, 225, .07);
    color: #24558e;
    outline: none;
}

.lk-sidebar-quick-actions__link.is-disabled {
    display: block;
    padding: 7px 4px;
    color: #718197;
    cursor: not-allowed;
    opacity: 0.62;
}

/* Dashboard baseline sidebar: calm navigation panel shared by all LK modes. */
@media (min-width: 981px) {
    .lk-sidebar {
        min-height: calc(100vh - 44px);
        display: flex;
        flex-direction: column;
        padding: 12px;
        border-color: rgba(49, 77, 109, .13);
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(27, 54, 84, .10);
        background: rgba(250, 252, 255, .96);
        backdrop-filter: none;
    }

    .lk-side-card {
        margin-bottom: 8px;
        padding: 10px 8px 14px;
        border: 0;
        border-bottom: 1px solid rgba(49, 77, 109, .12);
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        backdrop-filter: none;
    }

    .lk-nav {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        padding: 4px 0 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        backdrop-filter: none;
    }

    .lk-avatar {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        font-size: 15px;
    }

    .lk-nav-group + .lk-nav-group {
        margin-top: 3px;
    }

    .lk-nav-link,
    .lk-nav-section-heading,
    .lk-nav-link--section {
        min-height: 43px;
        gap: 11px;
        padding: 6px 10px;
        border-radius: 9px;
    }

    .lk-nav-link--section .lk-nav-link-text,
    .lk-nav-section-title {
        font-size: 14px;
        font-weight: 700;
    }

    .lk-nav-link-icon,
    .lk-nav-link-icon img {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
        margin-left: 0;
    }

    .lk-nav-link:hover,
    .lk-nav-section-heading:hover {
        background: #edf4fb;
    }

    .lk-nav-link.is-active,
    .lk-nav-section-heading.is-active {
        border-color: #c8dcf0;
        background: #e7f1fc;
        color: #1f64a8;
    }

    .lk-nav-logout {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid rgba(49, 77, 109, .12);
    }

    .lk-nav-logout-btn {
        min-height: 40px;
        border-color: #edc9cd;
        border-radius: 9px;
        background: #fff8f8;
        box-shadow: none;
        color: #b7444d;
    }

    .lk-nav-logout-btn:hover,
    .lk-nav-logout-btn:focus-visible {
        border-color: #dda8ae;
        background: #fff0f1;
        filter: none;
        transform: none;
    }
}

@media (min-width: 981px) {
    .lk-student-workflow__quick {
        display: none;
    }

    .lk-dashboard-student .lk-sidebar {
        min-height: calc(100vh - 44px);
        display: flex;
        flex-direction: column;
    }

    .lk-dashboard-student .lk-nav {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

}

@media (max-width: 980px) {
    .lk-sidebar-quick-actions {
        display: none;
    }
}

@media (max-width: 1180px) {
    .lk-student-workflow__timeline {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        row-gap: 20px;
    }

    .lk-student-workflow__timeline-step:nth-child(6)::before {
        display: none;
    }

    .lk-student-workflow__quick-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lk-student-workflow__quick-item:nth-child(odd) {
        border-left: 0;
    }
}

@media (max-width: 720px) {
    .lk-student-workflow__hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px 20px;
    }

    .lk-student-workflow__courses {
        padding: 19px 18px;
    }

    .lk-student-workflow__course-item .lk-learning-course-item__certificate {
        position: static;
        width: 100%;
        max-width: none;
    }

    .lk-student-workflow__cta {
        width: 100%;
        text-align: center;
    }

    .lk-student-workflow__timeline-card {
        padding: 19px 18px;
    }

    .lk-student-workflow__timeline {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lk-student-workflow__timeline-step:nth-child(4)::before,
    .lk-student-workflow__timeline-step:nth-child(7)::before {
        display: none;
    }

    /* The sixth item follows the fifth item in the same mobile row. */
    .lk-student-workflow__timeline-step:nth-child(6)::before {
        display: block;
    }

    .lk-student-workflow__section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .lk-student-workflow__timeline-head {
        align-items: stretch;
    }

    .lk-student-workflow__timeline-course-form,
    .lk-student-workflow__timeline-course-chip {
        width: 100%;
        max-width: none;
    }

    .lk-student-workflow__timeline-course-form .lk-filter-dropdown__trigger {
        width: 100%;
    }

    .lk-student-workflow__application {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .lk-student-workflow__application-meta {
        text-align: left;
    }

    .lk-student-workflow__quick-list {
        grid-template-columns: 1fr;
    }

    .lk-student-workflow__quick-item,
    .lk-student-workflow__quick-item:nth-child(odd) {
        border-top: 1px solid #e5eaf1;
        border-left: 0;
    }

    .lk-student-workflow__quick-item:first-child {
        border-top: 0;
    }

    .lk-dashboard-workflow__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .lk-dashboard-workflow__head p {
        text-align: left;
    }

    .lk-dashboard-workflow__list {
        grid-template-columns: 1fr;
    }

    .lk-dashboard-workflow__item + .lk-dashboard-workflow__item {
        border-top: 1px solid #e5eaf1;
        border-left: 0;
    }
}

/* Keep the ambient layer visible after the neutral administrative skin rules above. */
.lk-page .lk-ambient-background {
    z-index: 1;
    opacity: 1;
}

.lk-page .lk-ambient-background::before {
    filter: blur(32px);
    opacity: .9;
    will-change: top, left;
}

.lk-page .lk-ambient-background::after {
    filter: blur(32px);
    opacity: .8;
}

.lk-page .lk-shell {
    position: relative;
    z-index: 2;
}

.lk-auth-page .lk-auth-wrap {
    z-index: 2;
}

/* Cursor spotlight and lava blobs replace the earlier corner-oriented ambient shapes. */
.lk-page .lk-ambient-background::before,
.lk-page .lk-ambient-background::after {
    display: none;
}

.lk-page .lk-cursor-glow {
    position: absolute;
    top: var(--lk-ambient-y);
    left: var(--lk-ambient-x);
    width: min(48vw, 680px);
    height: min(48vw, 680px);
    min-width: 400px;
    min-height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(87, 151, 218, .26) 0%, rgba(126, 183, 233, .15) 38%, rgba(177, 214, 244, .06) 58%, transparent 74%);
    filter: blur(26px);
    opacity: .92;
    transform: translate3d(-50%, -50%, 0);
    will-change: top, left;
}

.lk-page .lk-lava-blob {
    position: absolute;
    bottom: -28vh;
    display: block;
    border-radius: 46% 54% 51% 49% / 48% 45% 55% 52%;
    background: radial-gradient(circle at 38% 35%, rgba(177, 224, 245, .33), rgba(149, 204, 230, .14) 48%, transparent 74%);
    filter: blur(34px);
    opacity: .7;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
    animation: lk-lava-rise 27s ease-in-out infinite;
}

.lk-page .lk-lava-blob--one {
    left: 8vw;
    width: 330px;
    height: 420px;
    animation-delay: -8s;
}

.lk-page .lk-lava-blob--two {
    left: 46vw;
    width: 240px;
    height: 310px;
    background: radial-gradient(circle at 42% 38%, rgba(172, 221, 204, .28), rgba(143, 205, 188, .11) 49%, transparent 75%);
    animation-duration: 34s;
    animation-delay: -19s;
}

.lk-page .lk-lava-blob--three {
    right: 8vw;
    width: 285px;
    height: 360px;
    background: radial-gradient(circle at 45% 35%, rgba(171, 210, 245, .27), rgba(143, 183, 228, .10) 50%, transparent 75%);
    animation-duration: 30s;
    animation-delay: -13s;
}

@keyframes lk-lava-rise {
    0% {
        opacity: .18;
        transform: translate3d(-4vw, 12vh, 0) scale(.84);
    }
    45% {
        opacity: .72;
    }
    100% {
        opacity: .10;
        transform: translate3d(7vw, -126vh, 0) scale(1.16);
    }
}

@media (max-width: 980px) {
    .lk-page .lk-cursor-glow {
        display: none;
    }

    .lk-page .lk-lava-blob {
        animation: none;
        opacity: .28;
        transform: translate3d(0, 0, 0) scale(.8);
    }

    .lk-page .lk-lava-blob--one {
        left: -120px;
        bottom: -170px;
    }

    .lk-page .lk-lava-blob--two {
        display: none;
    }

    .lk-page .lk-lava-blob--three {
        right: -150px;
        bottom: -160px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lk-page .lk-cursor-glow {
        display: none;
    }

    .lk-page .lk-lava-blob {
        animation: none;
        opacity: .18;
        will-change: auto;
    }
}

/* Let the applications queue use the full work area without changing other LK pages. */
@media (min-width: 981px) {
    .lk-page--manager-applications .lk-main {
        padding: 24px 28px 48px;
    }

    .lk-page--manager-applications .lk-container--main,
    .lk-page--manager-applications .lk-card--manager-applications {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }
}

@media (max-width: 760px) {
    .lk-page--manager-applications .lk-table-wrap--manager-applications {
        overflow-x: auto;
    }

    .lk-page--manager-applications .lk-table.lk-manager-applications-table {
        min-width: 900px;
    }
}
