:root {
    --bg: #f5efe4;
    --surface: #fffdf8;
    --surface-strong: #ffffff;
    --ink: #1f2933;
    --muted: #6b7280;
    --line: #e6dccb;
    --primary: #126e5a;
    --primary-soft: #d8efe7;
    --danger: #b42318;
    --danger-soft: #fee4e2;
    --warning: #b54708;
    --warning-soft: #ffead5;
    --shadow: 0 14px 28px rgba(38, 46, 58, 0.08);
    --mobile-bg: #efedff;
    --mobile-purple: #643df4;
    --mobile-purple-dark: #4f2fe1;
    --mobile-green: #0b8c17;
    --mobile-mint: #86dfb7;
    --mobile-line: #ddd5fb;
    --mobile-card-shadow: 0 8px 18px rgba(85, 67, 176, 0.14);
}

.admin-body {
    background:
        radial-gradient(circle at top left, rgba(124, 58, 237, 0.18), transparent 30%),
        linear-gradient(180deg, #f5f7ff 0%, #eef1fb 100%);
    color: #1f2440;
}

.admin-body .app-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.admin-shell-wrap {
    min-height: 100vh;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.admin-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 246px minmax(0, 1fr);
}

.admin-sidebar {
    background: linear-gradient(180deg, #5a30dd 0%, #6b3df0 100%);
    color: #fff;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    box-shadow: 12px 0 32px rgba(82, 53, 190, 0.14);
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-brand__icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.14);
    font-size: 18px;
}

.admin-brand__title {
    font-size: 17px;
    font-weight: 700;
}

.admin-brand__subtitle {
    font-size: 12px;
    opacity: 0.8;
}

.admin-profile-card {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    padding: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.admin-profile-card__name {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
}

.admin-profile-card__desc,
.admin-profile-card__meta {
    margin-top: 4px;
    font-size: 13px;
    opacity: 0.88;
}

.admin-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-nav__item {
    display: block;
    padding: 13px 14px;
    border-radius: 16px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    background: transparent;
    transition: background 0.2s ease, transform 0.2s ease;
}

.admin-nav__item:hover,
.admin-nav__item.is-active {
    background: rgba(255, 255, 255, 0.14);
    transform: translateX(2px);
}

.admin-nav__item--danger {
    margin-top: auto;
}

.admin-main {
    min-width: 0;
    padding: 28px 28px 40px;
}

.admin-topbar {
    margin-bottom: 18px;
}

.admin-topbar__eyebrow {
    color: #7b7fa6;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-topbar__title {
    margin: 4px 0 0;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 800;
    color: #171c35;
}

.admin-content {
    padding: 0;
    width: 100%;
    min-width: 0;
}

.admin-page-head {
    margin-bottom: 18px;
}

.admin-page-head__eyebrow {
    color: #6c63a8;
    font-size: 13px;
    font-weight: 700;
}

.admin-page-head__title {
    margin: 6px 0 8px;
    font-size: 24px;
    font-weight: 800;
    color: #1b2040;
}

.admin-page-head__desc {
    margin: 0;
    color: #6f7394;
    max-width: 900px;
}

.admin-grid {
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
}

.admin-grid--settings {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
}

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

.admin-grid--single {
    grid-template-columns: 1fr;
}

.admin-grid--stretch {
    align-items: stretch;
}

.admin-card-soft {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(122, 95, 231, 0.12);
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(86, 85, 143, 0.08);
}

.admin-card-danger {
    border-color: rgba(253, 162, 155, 0.5);
}

.admin-line-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
    align-items: start;
}

.admin-line-preview__badge {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    background: #e9fff0;
    color: #0d8f5f;
    font-weight: 700;
    margin-bottom: 16px;
}

.admin-line-preview__item {
    background: #fff;
    border: 1px solid #e8eaf8;
    border-radius: 16px;
    padding: 14px 16px;
    margin-bottom: 12px;
}

.admin-line-preview__label {
    font-size: 12px;
    font-weight: 700;
    color: #6f7394;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.admin-line-preview__value {
    font-weight: 600;
    color: #1b2040;
    word-break: break-word;
}

.admin-line-preview__value a {
    color: #5a30dd;
    text-decoration: none;
}

.admin-line-preview__qr {
    background: #fff;
    border: 1px solid #e8eaf8;
    border-radius: 18px;
    padding: 14px;
}

.admin-line-preview__qr img {
    display: block;
    width: 100%;
    border-radius: 12px;
}

.admin-form-divider {
    grid-column: 1 / -1;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7b7fa6;
    padding-top: 6px;
    margin-top: 6px;
    border-top: 1px dashed #d8dcf2;
}

.admin-form-note {
    grid-column: 1 / -1;
    margin: -4px 0 2px;
    padding: 12px 14px;
    border: 1px solid #e6defb;
    border-radius: 12px;
    background: #f8f5ff;
    color: #665b83;
    line-height: 1.65;
}

.admin-table-wrap {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 24px;
    border: 1px solid rgba(122, 95, 231, 0.12);
    box-shadow: 0 20px 45px rgba(86, 85, 143, 0.08);
}

.admin-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.admin-pending-list {
    display: grid;
    gap: 18px;
}

.admin-pending-card {
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fbf9ff 100%);
    border: 1px solid #e5ddff;
    box-shadow: 0 18px 34px rgba(91, 72, 183, 0.08);
}

.admin-pending-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.admin-pending-card__identity,
.admin-line-profile-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-line-avatar {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    object-fit: cover;
    border: 1px solid #dfd8ff;
    box-shadow: 0 8px 18px rgba(91, 72, 183, 0.12);
}

.admin-line-avatar--tiny {
    width: 42px;
    height: 42px;
    border-radius: 14px;
}

.admin-line-avatar--fallback {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #5a30dd, #7a5fff);
    color: #fff;
    font-weight: 800;
}

.admin-pending-card__title {
    color: #1b2040;
    font-size: 1.08rem;
    font-weight: 800;
}

.admin-pending-card__sub {
    margin-top: 6px;
    color: #7377a0;
    font-size: 0.9rem;
    word-break: break-all;
}

.admin-pending-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    background: #f0e9ff;
    color: #5a30dd;
    font-weight: 700;
    white-space: nowrap;
}

.admin-pending-card__form {
    display: grid;
    gap: 14px;
}

.admin-pending-card__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.admin-pending-card__actions,
.admin-pending-card__reject {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.admin-workspace-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.8fr);
    gap: 20px;
    margin-bottom: 18px;
    padding: 28px 30px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(174, 150, 255, 0.45), transparent 24%),
        linear-gradient(135deg, #4f2fe1 0%, #734bf4 52%, #8b68ff 100%);
    color: #fff;
    box-shadow: 0 24px 48px rgba(87, 58, 201, 0.22);
}

.admin-workspace-hero__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

.admin-workspace-hero__title {
    margin: 10px 0 10px;
    font-size: 2rem;
    line-height: 1.08;
    font-weight: 800;
}

.admin-workspace-hero__desc {
    margin: 0;
    max-width: 720px;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
}

.admin-workspace-hero__side {
    display: flex;
    align-items: stretch;
}

.admin-glass-stat {
    width: 100%;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
}

.admin-glass-stat__label {
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    font-weight: 600;
}

.admin-glass-stat__value {
    margin-top: 12px;
    font-size: 2.3rem;
    line-height: 1;
    font-weight: 800;
}

.admin-glass-stat__sub {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
}

.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.admin-kpi-card {
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(122, 95, 231, 0.12);
    box-shadow: 0 16px 30px rgba(82, 71, 156, 0.08);
}

.admin-kpi-card--highlight {
    background: linear-gradient(135deg, #ffffff 0%, #f4efff 100%);
    border-color: rgba(99, 61, 244, 0.26);
}

.admin-kpi-card__label {
    color: #7a7fa7;
    font-size: 13px;
    font-weight: 700;
}

.admin-kpi-card__value {
    margin-top: 12px;
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    color: #1c2140;
}

.admin-kpi-card__meta {
    margin-top: 8px;
    font-size: 13px;
    color: #7a7fa7;
    line-height: 1.5;
}

.admin-board-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 18px;
    margin-bottom: 18px;
}

.admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-summary-item {
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f9f7ff 100%);
    border: 1px solid #ebe4ff;
}

.admin-summary-item--success {
    background: linear-gradient(180deg, #ffffff 0%, #edf9f0 100%);
    border-color: #d8f0df;
}

.admin-summary-item span {
    display: block;
    font-size: 12px;
    color: #7a7fa7;
    font-weight: 700;
    margin-bottom: 10px;
}

.admin-summary-item strong {
    display: block;
    font-size: 1.35rem;
    color: #1f2440;
}

.admin-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.admin-quick-card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid #ebe4ff;
    background: linear-gradient(180deg, #ffffff 0%, #f7f4ff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.admin-quick-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(95, 74, 196, 0.12);
}

.admin-quick-card strong {
    display: block;
    font-size: 16px;
    color: #1f2440;
    margin-bottom: 8px;
}

.admin-quick-card span {
    display: block;
    color: #747999;
    line-height: 1.6;
    font-size: 13px;
}

.admin-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.admin-team-card {
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
    border: 1px solid #e6dfff;
}

.admin-team-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.admin-team-card__head h4 {
    margin: 0;
    font-size: 18px;
}

.admin-team-card__head p {
    margin: 6px 0 0;
    color: #7c81a0;
    font-size: 13px;
}

.admin-team-card__pill {
    padding: 8px 12px;
    border-radius: 999px;
    background: #f1eaff;
    color: #5a30dd;
    font-size: 12px;
    font-weight: 700;
}

.admin-team-card__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.admin-team-card__grid div {
    padding: 12px 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #ede7ff;
}

.admin-team-card__grid span {
    display: block;
    color: #7c81a0;
    font-size: 12px;
    margin-bottom: 8px;
}

.admin-team-card__grid strong {
    display: block;
    font-size: 18px;
    color: #21274a;
}

.admin-filter-card {
    margin-bottom: 18px;
}

.admin-toolbar {
    display: flex;
    align-items: end;
    gap: 14px;
    flex-wrap: wrap;
}

.admin-toolbar label {
    display: grid;
    gap: 8px;
    min-width: 160px;
    color: #5d648d;
    font-size: 13px;
    font-weight: 700;
}

.admin-toolbar__grow {
    flex: 1 1 320px;
}

.admin-split-layout {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 18px;
}

.admin-customer-list {
    display: grid;
    gap: 12px;
    max-height: 980px;
    overflow: auto;
    padding-right: 4px;
}

.admin-customer-list__item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #ece4ff;
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%);
}

.admin-customer-list__item.is-active {
    border-color: rgba(99, 61, 244, 0.35);
    background: linear-gradient(180deg, #f7f1ff 0%, #ffffff 100%);
    box-shadow: 0 12px 26px rgba(100, 61, 244, 0.1);
}

.admin-customer-list__item strong {
    display: block;
    color: #202748;
    margin-bottom: 6px;
}

.admin-customer-list__item span,
.admin-customer-list__stats em {
    display: block;
    color: #7d83a4;
    font-size: 12px;
    font-style: normal;
}

.admin-form-stack {
    display: grid;
    gap: 18px;
}

.admin-form-grid {
    display: grid;
    gap: 14px;
}

.admin-form-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.admin-form-grid label {
    display: grid;
    gap: 8px;
    color: #5f668f;
    font-size: 13px;
    font-weight: 700;
}

.admin-form-grid__full {
    grid-column: 1 / -1;
}

.admin-permission-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-toggle-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border-radius: 18px;
    background: #faf7ff;
    border: 1px solid #e8dfff;
}

.admin-toggle-card input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

.admin-toggle-card strong {
    display: block;
    color: #21274a;
    margin-bottom: 6px;
}

.admin-toggle-card span {
    display: block;
    color: #7c81a0;
    font-size: 13px;
    line-height: 1.55;
}

.admin-gallery-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.admin-gallery-block h4 {
    margin: 0 0 12px;
    font-size: 16px;
    color: #1f2440;
}

.admin-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.admin-gallery--compact {
    margin-top: 14px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.admin-gallery__item {
    display: block;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid #e9e2ff;
    background: #fff;
    aspect-ratio: 1 / 1;
}

.admin-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.admin-history-compact {
    display: grid;
    gap: 12px;
}

.admin-history-compact__item {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #ebe4ff;
    background: #fff;
}

.admin-history-compact__head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.admin-history-compact__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #7c81a0;
    font-size: 12px;
}

.admin-customer-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.admin-customer-summary-grid div {
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%);
    border: 1px solid #ebe4ff;
}

.admin-customer-summary-grid span {
    display: block;
    color: #7c81a0;
    font-size: 12px;
    margin-bottom: 8px;
}

.admin-customer-summary-grid strong {
    display: block;
    color: #202748;
    font-size: 18px;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.admin-history-list {
    display: grid;
    gap: 16px;
}

.admin-history-accordion {
    border: 1px solid #e8e1ff;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
    overflow: hidden;
}

.admin-history-accordion__summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 20px;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    cursor: pointer;
}

.admin-history-accordion__summary::-webkit-details-marker {
    display: none;
}

.admin-history-accordion__summary-main {
    min-width: 0;
}

.admin-history-accordion__summary-date {
    color: #1f2440;
    font-size: 1rem;
    font-weight: 800;
}

.admin-history-accordion__summary-sub {
    margin-top: 4px;
    color: #7a7fa7;
    font-size: 0.84rem;
    overflow-wrap: anywhere;
}

.admin-history-accordion__summary-right {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.admin-history-accordion__summary-amount {
    color: #5a30dd;
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-history-accordion__summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.admin-history-accordion__arrow {
    width: 12px;
    height: 12px;
    border-right: 2px solid #9a90c8;
    border-bottom: 2px solid #9a90c8;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.admin-history-accordion[open] .admin-history-accordion__arrow {
    transform: rotate(225deg);
}

.admin-history-card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid #e8e1ff;
    background: linear-gradient(180deg, #ffffff 0%, #faf8ff 100%);
    overflow: hidden;
}

.admin-history-card--expanded {
    border: none;
    border-top: 1px solid #ede7ff;
    border-radius: 0;
    background: transparent;
}

.admin-history-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.admin-history-card__head > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.admin-history-card__head h4 {
    margin: 0;
    font-size: 18px;
}

.admin-history-card__head p {
    margin: 6px 0 0;
    color: #7a7fa7;
    font-size: 13px;
}

.admin-history-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
    justify-content: flex-end;
}
.admin-history-card__manage {
    margin-top: 8px;
    width: 100%;
    color: var(--admin-purple-dark, #4724bd);
}

.admin-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eff4ff;
    color: #3d4b8f;
    font-size: 12px;
    font-weight: 700;
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    text-align: center;
}

.admin-tag--accent {
    background: #f2e9ff;
    color: #5a30dd;
}

.admin-history-card__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.admin-history-card__grid--legacy {
    display: none;
}

.admin-history-card__grid div {
    padding: 12px 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #eee8ff;
}

.admin-history-card__grid span {
    display: block;
    color: #7a7fa7;
    font-size: 12px;
    margin-bottom: 8px;
}

.admin-payment-history {
    margin-top: 16px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e9e2ff;
}

.admin-log-list {
    display: grid;
    gap: 12px;
}

.admin-log-item {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #ebe4ff;
    background: #fff;
}

.admin-log-item__head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: #1e2445;
}

.admin-log-item__body {
    color: #7a7fa7;
    font-size: 13px;
    line-height: 1.6;
}

.admin-empty-state {
    padding: 18px;
    border-radius: 18px;
    background: #faf7ff;
    border: 1px dashed #ddd1ff;
    color: #7a7fa7;
    text-align: center;
}

.admin-empty-state--large {
    padding: 56px 24px;
}

.admin-table-wrap--wide {
    overflow-x: auto;
}

.admin-empty-table {
    text-align: center;
    color: #7b7fa3;
    padding: 22px 10px;
}

@media (max-width: 1320px) and (min-width: 901px) {
    .admin-split-layout {
        grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    }
    .admin-split-layout > article,
    .admin-history-card,
    .admin-history-accordion,
    .admin-history-accordion__summary-main {
        min-width: 0;
    }
    .admin-customer-summary-grid,
    .admin-history-card__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-history-accordion__summary {
        grid-template-columns: minmax(0, 1fr) auto 16px;
        gap: 10px;
        padding: 15px;
    }
}

@media (max-width: 1100px) {
    .admin-grid--settings,
    .admin-grid--split {
        grid-template-columns: 1fr;
    }

    .admin-line-preview {
        grid-template-columns: 1fr;
    }

    .admin-pending-card__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-kpi-grid,
    .admin-team-grid,
    .admin-customer-summary-grid,
    .admin-history-card__grid,
    .admin-permission-grid,
    .admin-form-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-workspace-hero,
    .admin-board-grid,
    .admin-split-layout,
    .admin-gallery-wrap {
        grid-template-columns: 1fr;
    }
}

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

    .admin-sidebar {
        padding-bottom: 14px;
    }

    .admin-nav__item--danger {
        margin-top: 0;
    }

    .admin-main {
        padding: 16px 14px 28px;
    }

    .admin-kpi-grid,
    .admin-summary-grid,
    .admin-quick-grid,
    .admin-team-card__grid,
    .admin-gallery,
    .admin-gallery--compact,
    .admin-customer-summary-grid,
    .admin-history-card__grid,
    .admin-permission-grid,
    .admin-form-grid--two,
    .admin-form-grid--three {
        grid-template-columns: 1fr;
    }

    .admin-toolbar {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .admin-toolbar label,
    .admin-toolbar__grow {
        min-width: 0;
        width: 100%;
    }
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "Prompt", sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at top left, rgba(18, 110, 90, 0.08), transparent 30%),
        linear-gradient(180deg, #f8f3ea 0%, #f4ede1 100%);
}
a { color: inherit; text-decoration: none; }
.app-shell { max-width: 1280px; margin: 0 auto; padding: 16px; }
.employee-body {
    background: var(--mobile-bg);
}
.employee-shell {
    max-width: 430px;
    min-height: 100vh;
    padding: 0 0 92px;
}

.admin-body .card,
.admin-body .metric,
.admin-body .table-wrap,
.admin-body .hero,
.admin-body .flash {
    border-radius: 24px;
}
.topbar, .card, .metric, .table-wrap, .flash, .hero {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
}
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 16px;
    padding: 20px;
}
.topbar h1 { margin: 0 0 6px; font-size: 1.6rem; }
.muted { margin: 0; color: var(--muted); font-size: 0.94rem; }
.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 18px;
}
.tabs a, .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: var(--surface-strong);
    font-weight: 600;
}
.tabs a:hover, .btn:hover { border-color: var(--primary); }
.btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }
.btn-light { background: #fff; }
.content { display: grid; gap: 16px; }
.mobile-content {
    gap: 14px;
    padding: 18px 4px 12px;
}
.grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.metric {
    padding: 18px;
    position: relative;
    overflow: hidden;
}
.metric::after {
    content: "";
    position: absolute;
    inset: auto -20px -20px auto;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(18, 110, 90, 0.08);
}
.metric h3 { margin: 0 0 10px; font-size: 0.95rem; color: var(--muted); }
.metric strong { font-size: 1.6rem; }
.card, .hero, .table-wrap { padding: 18px; }
.hero {
    background: linear-gradient(135deg, #0f5d4d 0%, #194f6e 100%);
    color: #fff;
}
.hero p { color: rgba(255, 255, 255, 0.86); }
.form-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
label { display: grid; gap: 6px; font-weight: 600; }
input, select, textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d6d3d1;
    border-radius: 12px;
    font: inherit;
    background: #fff;
}
button {
    font: inherit;
}
textarea { min-height: 90px; resize: vertical; }
table {
    width: 100%;
    border-collapse: collapse;
    min-width: 860px;
}
th, td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
th { color: var(--muted); font-weight: 700; font-size: 0.92rem; }
.table-wrap { overflow: auto; }
.flash { padding: 14px 18px; }
.flash-success { background: var(--primary-soft); }
.flash-error { background: var(--danger-soft); }
.badge {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 700;
    background: var(--primary-soft);
    color: var(--primary);
}
.badge-danger { background: var(--danger-soft); color: var(--danger); }
.badge-warning { background: var(--warning-soft); color: var(--warning); }
.text-danger { color: var(--danger); }
.row-danger td:first-child {
    background: rgba(180, 35, 24, 0.10);
}
.inline-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.small { font-size: 0.9rem; color: var(--muted); }
.login-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 20px;
}
.login-box {
    width: min(460px, 100%);
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.section-title {
    margin: 0 0 12px;
    font-size: 1.1rem;
}
.split {
    display: grid;
    gap: 16px;
    grid-template-columns: 2fr 1fr;
}
.mobile-appbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 14px;
    color: #fff;
    background: var(--mobile-purple);
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
    box-shadow: 0 8px 18px rgba(74, 48, 170, 0.16);
    backdrop-filter: blur(8px);
}
.mobile-appbar__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    font-size: 1.35rem;
    color: #fff;
}
.mobile-appbar__icon-btn {
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}
.mobile-appbar__title-wrap {
    text-align: center;
    line-height: 1.2;
}
.mobile-appbar__title {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.15;
}
.mobile-appbar__subtitle {
    margin-top: 2px;
    font-size: 0.74rem;
    line-height: 1.2;
    opacity: 0.82;
}
.mobile-flash {
    margin: 0 14px 10px;
    border-radius: 16px;
    box-shadow: var(--mobile-card-shadow);
}
.mobile-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
}
.mobile-drawer-overlay[hidden] {
    display: none;
}
.mobile-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(33, 26, 61, 0.46);
}
.mobile-drawer {
    position: relative;
    z-index: 1;
    width: min(78vw, 320px);
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    background: rgba(255, 255, 255, 0.99);
    box-shadow: 16px 0 36px rgba(36, 24, 81, 0.22);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.mobile-drawer__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 16px 14px;
    flex: 0 0 auto;
}
.mobile-drawer__profile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.mobile-drawer__avatar {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: linear-gradient(135deg, #5f39f3, #7a5cff);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(100, 61, 244, 0.24);
}
.mobile-drawer__name {
    color: #2c2453;
    font-size: 1rem;
    font-weight: 700;
}
.mobile-drawer__team {
    margin-top: 2px;
    color: #7b729d;
    font-size: 0.8rem;
}
.mobile-drawer__close {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #7c68d9;
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
}
.mobile-drawer__highlight {
    margin: 0 0 12px;
    padding: 14px;
    background: linear-gradient(135deg, #5f39f3 0%, #764fff 100%);
    color: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
    flex: 0 0 auto;
}
.mobile-drawer__highlight-label {
    font-size: 0.86rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.01em;
    opacity: 0.92;
    grid-column: 1;
}
.mobile-drawer__highlight-period {
    margin-top: -4px;
    font-size: 0.74rem;
    line-height: 1.15;
    opacity: 0.82;
    grid-column: 1;
}
.mobile-drawer__profit-card {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0;
    padding: 11px 12px 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(6px);
}
.mobile-drawer__profit-label {
    font-size: 0.78rem;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.78);
}
.mobile-drawer__profit-value {
    margin-top: 6px;
    font-size: 1.38rem;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}
.mobile-drawer__highlight-grid {
    grid-column: 1 / -1;
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-drawer__highlight-card {
    padding: 11px 12px 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(6px);
}
.mobile-drawer__highlight-card-label {
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.78);
}
.mobile-drawer__highlight-card-value {
    margin-top: 6px;
    font-size: 1.38rem;
    line-height: 1;
    font-weight: 800;
    color: #ffffff;
}
.mobile-drawer__highlight-card-value--percent {
    color: #d8ff7a;
}
.mobile-drawer__menu-title {
    padding: 0 16px 10px;
    color: #8b83aa;
    font-size: 0.88rem;
    font-weight: 600;
    flex: 0 0 auto;
}
.mobile-drawer__menu {
    display: grid;
    align-content: start;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
    flex: 1 1 auto;
    scrollbar-width: thin;
    scrollbar-color: #8161eb #f1edfb;
}
.mobile-drawer__menu::-webkit-scrollbar { width: 6px; }
.mobile-drawer__menu::-webkit-scrollbar-track { background: #f1edfb; }
.mobile-drawer__menu::-webkit-scrollbar-thumb { border-radius: 999px; background: #8161eb; }
.mobile-drawer__item {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: #2b2452;
}
.mobile-drawer__item:hover {
    background: rgba(107, 76, 244, 0.05);
}
.mobile-drawer__item-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: linear-gradient(135deg, #643df4, #7e61ff);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}
.mobile-drawer__item-label {
    font-size: 1rem;
    font-weight: 500;
}
.mobile-drawer__item-arrow {
    color: #c0b6e5;
    font-size: 1.3rem;
    line-height: 1;
}
.mobile-drawer__item--danger .mobile-drawer__item-icon {
    background: linear-gradient(135deg, #7a45ff, #5f39f3);
}
.mobile-drawer-open {
    overflow: hidden;
}
.mobile-page-loader {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: grid;
    place-items: center;
    padding: 24px;
}
.mobile-page-loader[hidden] {
    display: none;
}
.mobile-page-loader__backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top, rgba(149, 121, 255, 0.28), transparent 42%),
        rgba(26, 20, 54, 0.58);
    backdrop-filter: blur(10px);
}
.mobile-page-loader__card {
    position: relative;
    z-index: 1;
    width: min(100%, 300px);
    padding: 28px 24px 24px;
    border-radius: 28px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(245, 240, 255, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow:
        0 26px 60px rgba(41, 25, 99, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
    text-align: center;
    overflow: hidden;
}
.mobile-page-loader__halo {
    position: absolute;
    top: -82px;
    left: 50%;
    width: 220px;
    height: 220px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(124, 92, 255, 0.24) 0%, rgba(124, 92, 255, 0.08) 48%, transparent 72%);
    pointer-events: none;
}
.mobile-page-loader__spinner {
    position: relative;
    width: 84px;
    height: 84px;
    margin: 0 auto 18px;
}
.mobile-page-loader__spinner::before,
.mobile-page-loader__spinner::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
}
.mobile-page-loader__spinner::before {
    border: 4px solid rgba(114, 84, 248, 0.12);
}
.mobile-page-loader__spinner::after {
    border: 4px solid transparent;
    border-top-color: #6d49f7;
    border-right-color: #8a70ff;
    animation: mobilePageLoaderSpin 1.05s linear infinite;
    box-shadow: 0 0 26px rgba(109, 73, 247, 0.18);
}
.mobile-page-loader__spinner span {
    position: absolute;
    inset: 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6b43f5, #8c70ff);
    opacity: 0.12;
}
.mobile-page-loader__spinner span:nth-child(2) {
    inset: 24px;
    opacity: 0.18;
}
.mobile-page-loader__spinner span:nth-child(3) {
    inset: 34px;
    opacity: 0.24;
}
.mobile-page-loader__title {
    position: relative;
    z-index: 1;
    color: #2e255b;
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}
.mobile-page-loader__subtitle {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: #7e75a6;
    font-size: 0.88rem;
    line-height: 1.6;
}
@keyframes mobilePageLoaderSpin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.mobile-summary-card,
.mobile-sheet,
.mobile-table-card,
.mobile-modal-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--mobile-line);
    border-radius: 20px;
    box-shadow: var(--mobile-card-shadow);
}
.mobile-summary-card {
    padding: 16px;
}
.mobile-summary-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: end;
}
.mobile-summary-label {
    font-size: 1rem;
    font-weight: 800;
    color: #2e255b;
}
.mobile-summary-big {
    margin-top: 4px;
    font-size: 3rem;
    line-height: 1;
    font-weight: 900;
    color: var(--mobile-purple);
}
.mobile-summary-percent-label {
    text-align: right;
    font-size: 0.95rem;
    font-weight: 700;
    color: #352c63;
}
.mobile-summary-percent-value {
    text-align: right;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 900;
    color: var(--mobile-green);
}
.mobile-summary-loss {
    margin-top: 10px;
    color: #3f3660;
    font-size: 0.95rem;
    font-weight: 700;
}
.mobile-summary-loss strong { color: #ff2929; }
.mobile-divider {
    height: 1px;
    margin: 14px 0;
    background: linear-gradient(90deg, transparent, #d8d1f9 12%, #d8d1f9 88%, transparent);
}
.mobile-triple-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    text-align: center;
}
.mobile-triple-stats strong {
    display: block;
    color: var(--mobile-purple);
    font-size: 1.9rem;
    font-weight: 900;
}
.mobile-triple-stats span {
    display: block;
    margin-top: 4px;
    color: #756b9a;
    font-size: 0.95rem;
}
.mobile-action-btn {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    border-radius: 12px;
    background: linear-gradient(90deg, #80ddb5, #93dfbe);
    color: #fff;
    font-weight: 800;
}
.mobile-sheet {
    padding: 16px;
}
.mobile-sheet h2,
.mobile-modal-card h2 {
    margin: 0;
    text-align: center;
    color: #2f2657;
    font-size: 1.05rem;
    font-weight: 900;
}
.mobile-list {
    margin-top: 14px;
    border-top: 1px solid #ddd6fb;
}
.mobile-list-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #ddd6fb;
    color: #2f2656;
}
.mobile-list-row__value {
    font-size: 1.8rem;
    font-weight: 800;
    color: #2f2656;
}
.mobile-list-row__value--danger { color: #ff1f1f; }
.mobile-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 12px;
    background: var(--mobile-purple);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}
.mobile-amount-input {
    width: 100px;
    padding: 8px 10px;
    border: 1px solid #d6cff7;
    border-radius: 8px;
    text-align: right;
    font-size: 1rem;
}
.mobile-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 4px 0 2px;
    color: var(--mobile-purple);
    font-weight: 800;
}
.mobile-toolbar__title {
    flex: 1;
    text-align: center;
    font-size: 1rem;
    color: var(--mobile-purple);
}
.mobile-toolbar__action {
    display: inline-flex;
    align-items: center;
    min-width: 96px;
    font-size: 0.98rem;
    white-space: nowrap;
    color: var(--mobile-purple);
}
.mobile-date-heading {
    text-align: center;
    margin: 6px 0 8px;
    color: #302957;
    font-size: 1.05rem;
    font-weight: 900;
}
.mobile-table-card {
    padding: 0;
    overflow: hidden;
}
.mobile-table-card--worksheet {
    margin: 2px 0 0;
    border-radius: 16px;
    border: 1px solid rgba(129, 101, 244, 0.18);
    box-shadow: 0 12px 26px rgba(93, 66, 195, 0.10);
}

.mobile-table-card--bottom-safe {
    margin-bottom: calc(112px + env(safe-area-inset-bottom));
}
.mobile-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.mobile-loan-table {
    width: 100%;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0;
}
.mobile-loan-table thead th {
    padding: 9px 6px;
    background: linear-gradient(180deg, #e6dbff, #d5c5ff);
    color: #4c328f;
    font-size: 0.86rem;
    text-align: center;
    border-bottom: none;
    font-weight: 700;
}
.mobile-loan-table tbody td {
    padding: 0;
    border-bottom: 1px solid #ebe4ff;
    background: rgba(255, 255, 255, 0.98);
}
.mobile-loan-table tbody tr:last-child td { border-bottom: none; }
.mobile-loan-table tfoot td {
    padding: 0;
    border-top: 1px solid #d8cbff;
    background: linear-gradient(180deg, #efe7ff, #e5d9ff);
}
.mobile-loan-table__total-row td {
    position: sticky;
    bottom: 0;
    z-index: 2;
}
.mobile-loan-table__total-row .is-sticky {
    z-index: 8;
}
.mobile-loan-table__total-row .mobile-cell {
    font-weight: 900;
    color: #322568;
    background: linear-gradient(180deg, #efe7ff, #e5d9ff);
}
.mobile-loan-table__total-row .mobile-cell--name {
    color: #4f2fe1;
}
.mobile-loan-table .col-name { width: 27%; }
.mobile-loan-table .col-address { width: 28%; }
.mobile-loan-table .col-guarantor { width: 20%; }
.mobile-loan-table .col-principal { width: 16%; }
.mobile-loan-table .col-term { width: 12%; }
.mobile-loan-table .col-due { width: 18%; }
.mobile-loan-table .col-paid { width: 14%; }
.mobile-loan-table .col-festival { width: 13%; }
.mobile-loan-table--worksheet {
    width: max-content;
    min-width: 100%;
}
.mobile-loan-table--worksheet .col-name { width: 32vw; min-width: 92px; max-width: 118px; }
.mobile-loan-table--worksheet .col-address { width: 22vw; min-width: 90px; }
.mobile-loan-table--worksheet .col-guarantor { width: 22vw; min-width: 90px; }
.mobile-loan-table--worksheet .col-principal { width: 18vw; min-width: 82px; }
.mobile-loan-table--worksheet .col-term { width: 12vw; min-width: 58px; }
.mobile-loan-table--worksheet .col-due { width: 18vw; min-width: 74px; }
.mobile-loan-table--worksheet .col-paid { width: 22vw; min-width: 104px; }
.mobile-name-link,
.mobile-cell {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0 10px;
    color: #31265a;
}
.mobile-loan-table .is-alert .mobile-name-link {
    background: rgba(255, 40, 40, 0.12);
}
.mobile-cell--name,
.mobile-cell--address {
    justify-content: center;
    font-size: 0.98rem;
}
.worksheet-name-link {
    color: #4e2fb8;
    font-weight: 600;
}
.mobile-loan-table--worksheet .is-sticky {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 8px 0 18px rgba(111, 93, 198, 0.08);
}
.mobile-loan-table--worksheet thead .is-sticky {
    z-index: 3;
    background: linear-gradient(180deg, #d8c3ff, #c4acf2);
}
.mobile-loan-table--worksheet tbody .is-sticky {
    color: #40317c;
    font-weight: 700;
}
.mobile-loan-table--worksheet tfoot .is-sticky {
    position: sticky;
    left: 0;
    background: linear-gradient(180deg, #e8ddff, #ddceff);
    color: #35286e;
    z-index: 9;
    box-shadow: 10px 0 18px rgba(111, 93, 198, 0.12);
}
.mobile-cell--due {
    justify-content: center;
    font-size: 1rem;
    font-weight: 600;
    color: #4b3b86;
    background: rgba(255, 255, 255, 0.98);
}
.mobile-cell--center {
    justify-content: center;
    text-align: center;
}
.mobile-cell--due-alert {
    color: #7b2144;
    background: linear-gradient(180deg, #ffd8e5, #ffc6d7);
}
.mobile-input-cell input {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border: none;
    border-left: 1px solid #ebe4ff;
    border-right: 1px solid #ebe4ff;
    border-radius: 0;
    text-align: center;
    background: #fcfbff;
    color: #4e2fb8;
    font-weight: 600;
}
.mobile-input-cell input[readonly] {
    background: #f6f2ff;
    color: #6a35f0;
    cursor: not-allowed;
}
.mobile-input-cell--worksheet input {
    min-height: 36px;
    font-size: 1rem;
}
.mobile-loan-table--worksheet thead th:first-child {
    border-top-left-radius: 10px;
}
.mobile-loan-table--worksheet thead th:last-child {
    border-top-right-radius: 10px;
}
.mobile-loan-table--worksheet tbody tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}
.mobile-loan-table--worksheet tbody tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}
.mobile-table-empty-state {
    padding: 18px 12px;
    text-align: center;
    color: #786f99;
    font-size: 0.92rem;
    line-height: 1.5;
    background: linear-gradient(180deg, rgba(248, 245, 255, 0.96), rgba(255, 255, 255, 0.98));
}
.mobile-festival-cell {
    justify-content: center;
    font-weight: 800;
    color: var(--mobile-purple);
}
.mobile-note {
    padding: 0 8px;
    color: #6d6490;
    font-size: 0.8rem;
}
.mobile-modal-screen {
    min-height: calc(100vh - 72px);
    padding: 18px 14px 6px;
    background: rgba(31, 23, 53, 0.42);
    border-radius: 22px;
}
.mobile-modal-card {
    width: min(100%, 300px);
    margin: 0 auto;
    padding: 18px 20px 14px;
}
.mobile-modal-name {
    margin: -6px 0 16px;
    text-align: center;
    color: #2e2558;
    font-size: 1.05rem;
    font-weight: 900;
}
.mobile-detail-list {
    display: grid;
    gap: 0;
}
.mobile-detail-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e3ddfb;
}
.mobile-detail-row dt {
    font-weight: 800;
    color: #2e2558;
}
.mobile-detail-row dd {
    margin: 0;
    color: #2e2558;
}
.mobile-detail-row dd.is-danger {
    color: #ff2121;
    font-weight: 900;
}
.mobile-mini-table {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #d8cdf9;
    border-radius: 16px;
}
.mobile-mini-table table {
    min-width: 0;
}
.mobile-mini-table th {
    padding: 7px 6px;
    background: linear-gradient(180deg, #d5c0ff, #c1a8f1);
    color: #362d5d;
    font-size: 0.84rem;
    text-align: center;
    border-bottom: none;
}
.mobile-mini-table td {
    padding: 7px 6px;
    text-align: center;
    border-bottom: 1px solid #e1dafb;
}
.mobile-modal-close {
    display: block;
    margin: 18px auto 0;
    color: #8b99b1;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 800;
}
.worksheet-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 12px 0 88px;
    background: rgba(48, 42, 67, 0.52);
    overflow-y: auto;
}
.worksheet-modal-card {
    width: min(100%, 430px);
    min-height: 0;
    background: rgba(255, 255, 255, 0.98);
    border-radius: 0;
    box-shadow: 0 18px 40px rgba(42, 28, 89, 0.24);
    overflow: hidden;
}
.worksheet-modal-name {
    padding: 22px 20px 12px;
    text-align: center;
    color: #2f2756;
    font-size: 1.15rem;
    font-weight: 900;
}
.worksheet-detail-list {
    padding: 0 22px;
}
.worksheet-detail-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 11px 0;
    border-bottom: 1px solid #e5dffc;
}
.worksheet-detail-label {
    color: #2d2555;
    font-size: 0.98rem;
    font-weight: 800;
}
.worksheet-detail-value {
    color: #2d2555;
    font-size: 0.98rem;
}
.worksheet-detail-value--danger {
    color: #ff2222;
    font-weight: 900;
}
.worksheet-detail-value--overpaid {
    color: #6a35f0;
    font-weight: 900;
}
.worksheet-history-card {
    margin: 16px 20px 0;
    border: 1px solid #d8cdfb;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(116, 88, 209, 0.12);
}
.worksheet-history-table {
    width: 100%;
    min-width: 0;
}
.worksheet-history-table th {
    padding: 7px 6px;
    background: linear-gradient(180deg, #d8c3ff, #c4acf2);
    color: #392f62;
    font-size: 0.84rem;
    text-align: center;
    border-bottom: none;
}
.worksheet-history-table td {
    padding: 8px 6px;
    text-align: center;
    border-bottom: 1px solid #e6e0fb;
}
.worksheet-history-table tbody tr:last-child td {
    border-bottom: none;
}
.worksheet-modal-actions {
    display: grid;
    gap: 10px;
    padding: 18px 20px 0;
}
.worksheet-modal-close {
    display: block;
    margin-top: 20px;
    padding: 16px 0 18px;
    text-align: center;
    color: #94a1b7;
    font-size: 1.05rem;
    font-weight: 800;
    border-top: 1px solid #ece7fb;
    background: #fff;
}
.worksheet-cut-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 48px;
    padding: 0 18px;
    margin: 0;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-sizing: border-box;
    box-shadow: 0 12px 24px rgba(100, 61, 244, 0.22);
}
.worksheet-cut-hint {
    padding: 12px 14px;
    border: 1px solid #e6defd;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(248, 245, 255, 0.96), rgba(255, 255, 255, 0.98));
    color: #736998;
    font-size: 0.88rem;
    line-height: 1.5;
}
.mobile-form-hero,
.mobile-form-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--mobile-line);
    border-radius: 16px;
    box-shadow: var(--mobile-card-shadow);
}
.mobile-form-hero {
    padding: 16px;
}
.mobile-form-hero h2 {
    margin: 0;
    color: #2e255a;
    font-size: 1.1rem;
}
.mobile-form-hero p {
    margin: 8px 0 0;
    color: #6c6490;
    font-size: 0.9rem;
    line-height: 1.5;
}
.mobile-customer-form {
    display: grid;
    gap: 12px;
    padding-bottom: 72px;
}
.mobile-form-card {
    padding: 14px;
}
.mobile-form-card__title {
    margin-bottom: 12px;
    color: #2d2558;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.mobile-form-section-note {
    margin: -4px 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(109, 76, 255, 0.08), rgba(80, 210, 181, 0.1));
    color: #655b86;
    font-size: 0.82rem;
    line-height: 1.45;
}
.mobile-loan-summary-card {
    padding-top: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 245, 255, 0.98)),
        #fff;
    border-color: #d9d0fb;
}
.mobile-loan-summary-list {
    display: grid;
    gap: 10px;
}
.mobile-loan-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(245, 241, 255, 0.9);
    color: #32295d;
    font-size: 0.96rem;
    font-weight: 600;
}
.mobile-loan-summary-row span {
    color: #4c427a;
    font-weight: 600;
}
.mobile-loan-summary-row--total {
    margin-top: 4px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-top: 1px solid #e7e0fb;
    background: linear-gradient(90deg, rgba(229, 255, 239, 0.96), rgba(237, 250, 255, 0.96));
}
.mobile-loan-summary-note {
    padding: 2px 4px 0;
    color: #6f6793;
    font-size: 0.88rem;
    line-height: 1.45;
    font-weight: 400;
}
.loan-summary-highlight {
    color: #6a35f0;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.mobile-loan-summary-row [data-loan-summary-output="holiday_count"] {
    color: #7a3cff;
}
.mobile-loan-summary-row [data-loan-summary-output="daily_installment"] {
    color: #6a35f0;
}
.mobile-loan-summary-row [data-loan-summary-output="first_installment_amount"] {
    color: #7a46ff;
}
.mobile-loan-summary-row [data-loan-summary-output="commission_amount"] {
    color: #8a4dff;
}
.mobile-loan-summary-row [data-loan-summary-output="advance_deducted_amount"] {
    color: #8f4cff;
}
.mobile-loan-summary-row [data-loan-summary-output="holiday_deducted_amount"] {
    color: #9456ff;
}
.mobile-loan-summary-row [data-loan-summary-output="refinance_offset_amount"] {
    color: #9b63ff;
}
.mobile-loan-summary-row--total span {
    color: #4e2fb8;
}
.mobile-loan-summary-row--total [data-loan-summary-output="net_disbursed_amount"] {
    color: #5f2fff;
    font-size: 1.06rem;
    font-weight: 800;
}
.mobile-stack-fields {
    display: grid;
    gap: 12px;
}
.mobile-stack-fields label {
    font-size: 0.92rem;
    color: #342b5f;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.mobile-stack-fields input,
.mobile-stack-fields textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid #d8d0f7;
    border-radius: 12px;
    background: #fff;
    color: #2c2552;
}
.mobile-stack-fields input.is-readonly,
.mobile-stack-fields textarea.is-readonly {
    background: #f6f2ff;
    color: #5f5684;
}
.mobile-stack-fields input[type="date"] {
    display: block;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 12px;
    overflow: hidden;
}
.mobile-secondary-btn,
.mobile-primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    border: none;
    border-radius: 12px;
    font-size: 0.96rem;
    font-weight: 800;
    cursor: pointer;
}
.mobile-secondary-btn {
    margin-top: 12px;
    background: #ece7ff;
    color: var(--mobile-purple);
}
.mobile-secondary-btn--ghost {
    background: #fff;
    border: 1px solid #d8d0f7;
    color: #4f2fe1;
}
.mobile-inline-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.mobile-inline-actions .mobile-secondary-btn {
    margin-top: 0;
}
.mobile-secondary-btn.is-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.9;
}
.mobile-secondary-btn.is-loading::before {
    content: "";
    width: 16px;
    height: 16px;
    margin-right: 8px;
    border-radius: 999px;
    border: 2px solid rgba(106, 53, 240, 0.22);
    border-top-color: #6a35f0;
    animation: mobile-gps-spin 0.7s linear infinite;
}
.mobile-gps-status {
    margin-top: 8px;
    color: #756b96;
    font-size: 0.82rem;
    line-height: 1.45;
}
.mobile-gps-status.is-loading {
    color: #6a35f0;
}
.mobile-gps-status.is-success {
    color: #138a5b;
}
.mobile-gps-status.is-error {
    color: #c92a4b;
}
.mobile-map-picker-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
}
.mobile-map-picker-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 16, 43, 0.52);
    backdrop-filter: blur(3px);
}
.mobile-map-picker-card {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 460px);
    max-height: 86vh;
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 244, 255, 0.98));
    box-shadow: 0 24px 60px rgba(48, 28, 120, 0.26);
}
.mobile-map-picker-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.mobile-map-picker-card__title {
    color: #2c2554;
    font-size: 1.02rem;
    font-weight: 800;
}
.mobile-map-picker-card__sub {
    margin-top: 4px;
    color: #756b96;
    font-size: 0.82rem;
    line-height: 1.45;
}
.mobile-map-picker-card__close {
    border: none;
    background: rgba(237, 232, 255, 0.9);
    color: #5a35d9;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    font-size: 1.3rem;
    line-height: 1;
}
.mobile-map-picker-map {
    width: 100%;
    height: min(52vh, 360px);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #ded4ff;
}
.mobile-map-picker-coords {
    padding: 10px 12px;
    border-radius: 14px;
    background: #f6f2ff;
    color: #4d437b;
    font-size: 0.84rem;
    font-weight: 600;
}
.mobile-map-picker-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
@keyframes mobile-gps-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.mobile-upload-hint {
    color: #716792;
    font-size: 0.84rem;
    line-height: 1.5;
}
.mobile-upload-actions {
    display: grid;
    gap: 10px;
}
.mobile-upload-action {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px dashed #d4c9ff;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 245, 255, 0.96), rgba(255, 255, 255, 0.98));
}
.mobile-upload-action__title {
    color: #342b5f;
    font-size: 0.92rem;
    font-weight: 700;
}
.mobile-upload-action__desc {
    color: #756b97;
    font-size: 0.78rem;
    line-height: 1.4;
    font-weight: 400;
}
.mobile-image-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.mobile-image-preview-grid--single {
    grid-template-columns: minmax(96px, 132px);
}
.mobile-image-preview-item {
    position: relative;
    display: grid;
    gap: 6px;
}
.mobile-image-preview-item--saved {
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.mobile-image-preview-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid #ddd5fb;
    background: #fff;
    box-shadow: 0 8px 18px rgba(112, 88, 203, 0.12);
}
.mobile-image-preview-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 999px;
    background: rgba(102, 102, 112, 0.88);
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}
.mobile-image-preview-caption {
    color: #5f567f;
    font-size: 0.74rem;
    line-height: 1.3;
    word-break: break-word;
}
.mobile-upload-card {
    position: relative;
    display: grid;
    place-items: center;
    gap: 6px;
    min-height: 164px;
    margin-top: 4px;
    padding: 28px 18px;
    border: 1.5px solid #d9dded;
    border-radius: 18px;
    background: #fbfcff;
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.mobile-upload-card--standalone {
    width: 100%;
    min-height: 136px;
}
.mobile-upload-card--compact {
    width: 100%;
    min-height: 98px;
    padding: 20px 14px;
    border-radius: 16px;
}
.mobile-upload-card--on-purple {
    border-color: rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.94);
}
.mobile-upload-card.has-image {
    min-height: 190px;
    padding: 0;
    border-style: solid;
    background: #fff;
}
.mobile-upload-card::before {
    content: "☁";
    display: grid;
    place-items: center;
    width: 44px;
    height: 32px;
    margin-bottom: 4px;
    color: #7157f6;
    font-size: 2.45rem;
    line-height: 1;
}
.mobile-upload-card.has-image::before,
.mobile-upload-card.has-image::after {
    display: none;
}
.mobile-upload-card::after {
    content: "↑";
    position: absolute;
    top: 43px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}
.mobile-upload-card:hover,
.mobile-upload-card:focus-within {
    border-color: #ad9cff;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(112, 88, 203, 0.12);
}
.mobile-upload-card__label {
    color: #342b5f;
    font-size: 1.02rem;
    font-weight: 800;
    pointer-events: none;
}
.mobile-upload-card__desc {
    color: #9aa0b5;
    font-size: 0.8rem;
    line-height: 1.45;
    pointer-events: none;
}
.mobile-upload-card__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.mobile-upload-card__preview {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}
.mobile-upload-card__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mobile-upload-card__preview span {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(31, 25, 55, 0.72);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    text-align: left;
    backdrop-filter: blur(8px);
}
.mobile-upload-card__preview-action {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #5b3df0;
    font-size: 0.78rem;
    font-weight: 900;
    font-family: inherit;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(41, 31, 86, 0.18);
    cursor: pointer;
}
.mobile-upload-card.has-image .mobile-upload-card__label,
.mobile-upload-card.has-image .mobile-upload-card__desc {
    display: none;
}
.mobile-upload-card.has-image .mobile-upload-card__input {
    z-index: 2;
}
.mobile-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2400;
    display: grid;
    place-items: center;
    padding: 24px;
}
.mobile-image-lightbox[hidden] {
    display: none;
}
.mobile-image-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 16, 36, 0.78);
    backdrop-filter: blur(8px);
}
.mobile-image-lightbox__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 960px);
    max-height: 88vh;
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f3ff 100%);
    box-shadow: 0 28px 50px rgba(21, 16, 46, 0.35);
}
.mobile-image-lightbox__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 999px;
    background: rgba(108, 82, 230, 0.12);
    color: #5d39da;
    font-size: 1.5rem;
    cursor: pointer;
}
.mobile-image-lightbox__title {
    padding-right: 44px;
    color: #342b5f;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-image-lightbox__image {
    width: 100%;
    max-height: calc(88vh - 80px);
    object-fit: contain;
    border-radius: 18px;
    background: #fff;
}
.mobile-form-submit-wrap {
    position: sticky;
    bottom: 94px;
    z-index: 2;
    padding-top: 10px;
    background: linear-gradient(180deg, rgba(239, 237, 255, 0), rgba(239, 237, 255, 0.98) 38%);
}
.mobile-primary-btn {
    background: linear-gradient(90deg, var(--mobile-purple), var(--mobile-purple-dark));
    color: #fff;
    box-shadow: 0 10px 22px rgba(100, 61, 244, 0.24);
}
.mobile-customer-list {
    display: grid;
    gap: 10px;
}
.mobile-customer-page {
    display: grid;
    gap: 12px;
    padding-bottom: 84px;
}
.mobile-customer-hero {
    display: grid;
    gap: 14px;
    padding: 18px 16px;
    background: linear-gradient(135deg, rgba(107, 76, 244, 0.96), rgba(125, 98, 255, 0.96));
    border: 1px solid rgba(219, 208, 255, 0.72);
    border-radius: 20px;
    color: #fff;
    box-shadow: 0 16px 34px rgba(92, 68, 196, 0.22);
}
.mobile-customer-hero__title {
    font-size: 1.15rem;
    font-weight: 800;
}
.mobile-customer-hero__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.mobile-customer-hero__desc {
    font-size: 0.9rem;
    line-height: 1.5;
    opacity: 0.9;
}
.mobile-customer-hero__map-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}
.mobile-customer-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.mobile-customer-stats--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-contract-search-hero-stats,
.mobile-customer-hero-stats-fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-customer-stat {
    padding: 12px 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
}
.mobile-customer-stat strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
}
.mobile-customer-stat span {
    display: block;
    margin-top: 4px;
    font-size: 0.76rem;
    line-height: 1.35;
    opacity: 0.92;
}
.mobile-customer-chip--link {
    text-decoration: none;
}
.mobile-customer-hero-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-customer-hero-grid--detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.mobile-customer-hero-box {
    min-width: 0;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
}
.mobile-customer-hero-box .mobile-customer-item__box-label {
    color: rgba(255, 255, 255, 0.72);
}
.mobile-customer-hero-box .mobile-customer-item__box-value {
    color: #fff;
}
.mobile-customer-hero-box--break {
    word-break: break-word;
}
.mobile-customer-hero-address {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.86rem;
    line-height: 1.6;
}
.mobile-customer-hero-address--detail {
    margin-top: 2px;
}
.mobile-customer-section {
    padding: 14px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--mobile-line);
    border-radius: 18px;
    box-shadow: var(--mobile-card-shadow);
}
.mobile-customer-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.mobile-customer-section__title {
    color: #2d2558;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-customer-section__caption {
    color: #7a729d;
    font-size: 0.82rem;
    text-align: right;
}
.mobile-customer-toolbar {
    display: grid;
    gap: 10px;
}
.mobile-customer-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}
.mobile-customer-search input {
    min-width: 0;
    border: 1px solid #d9d0fb;
    border-radius: 14px;
    background: #fcfbff;
    color: #2d2558;
}
.mobile-customer-search button {
    min-width: 70px;
    padding: 0 14px;
    border: none;
    border-radius: 14px;
    background: #ece7ff;
    color: #5a39d2;
    font-weight: 700;
    cursor: pointer;
}
.mobile-customer-add-btn {
    min-height: 44px;
}
.mobile-customer-item {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #ddd5fb;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 10px 22px rgba(106, 78, 204, 0.08);
}
.mobile-customer-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.mobile-customer-item__name {
    color: #2e2558;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-customer-item__nickname {
    margin-top: 2px;
    color: #746c97;
    font-size: 0.82rem;
}
.mobile-customer-item__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
.mobile-customer-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f2eeff;
    color: #5c38da;
    font-size: 0.74rem;
    font-weight: 700;
}
.mobile-customer-chip--danger {
    background: #ffe6e8;
    color: #d92b43;
}
.mobile-customer-chip--success {
    background: #e7fbef;
    color: #14803d;
}
.mobile-customer-item__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-customer-item__grid--fixed-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-customer-item__grid--detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.mobile-customer-item__box {
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8f5ff;
}
.mobile-customer-page--customers .mobile-customer-item {
    gap: 12px;
}
.mobile-customer-page--customers .mobile-customer-item__top {
    align-items: flex-start;
}
.mobile-customer-page--customers .mobile-customer-item__grid--fixed-two .mobile-customer-item__box {
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-customer-page--customers .mobile-customer-item__box-value {
    line-height: 1.35;
}
.mobile-customer-page--customers .mobile-customer-item__actions {
    grid-template-columns: minmax(0, 1fr) auto;
}
.mobile-customer-page--customers .mobile-customer-action-group {
    justify-content: flex-end;
}
.mobile-customer-item__box-label {
    color: #8a82ad;
    font-size: 0.74rem;
}
.mobile-customer-item__box-value {
    margin-top: 4px;
    color: #32295d;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
}
.mobile-customer-item__box-value--break {
    word-break: break-all;
}
.mobile-customer-item__actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}
.mobile-customer-action-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.mobile-customer-item__meta {
    color: #7b739f;
    font-size: 0.78rem;
}
.mobile-customer-item__ghost-link,
.mobile-customer-item__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 12px;
    font-size: 0.86rem;
    font-weight: 700;
}
.mobile-customer-item__link {
    border-radius: 12px;
    background: linear-gradient(90deg, #643df4, #4f2fe1);
    color: #fff;
}
.mobile-customer-item__ghost-link {
    border: 1px solid #d8d0f7;
    background: #fff;
    color: #5a39d2;
}
.mobile-customer-detail-address {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8f5ff;
    color: #524978;
    font-size: 0.88rem;
    line-height: 1.6;
}
.mobile-customer-document-actions {
    display: grid;
    gap: 10px;
}
.mobile-empty-state--compact {
    padding: 14px 10px;
    font-size: 0.84rem;
}
.mobile-loan-history-list {
    display: grid;
    gap: 12px;
}
.mobile-customer-page--detail {
    gap: 14px;
}
.mobile-customer-page--detail .mobile-customer-hero {
    gap: 16px;
}
.mobile-customer-page--detail .mobile-customer-hero-box {
    min-height: 82px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-customer-page--detail .mobile-customer-section {
    padding: 16px;
}
.mobile-customer-page--detail .mobile-customer-section__head {
    margin-bottom: 14px;
}
.mobile-customer-page--detail .mobile-customer-document-actions {
    gap: 12px;
}
.mobile-customer-page--detail .mobile-customer-item__grid--detail .mobile-customer-item__box {
    min-height: 78px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-current-contract-list {
    display: grid;
    gap: 12px;
}
.mobile-current-contract-search {
    display: grid;
    gap: 10px;
    align-items: stretch;
}
.mobile-current-contract-search__row {
    min-width: 0;
}
.mobile-current-contract-search__row input {
    width: 100%;
}
.mobile-current-contract-search input {
    min-width: 0;
    width: 100%;
    border: 1px solid #d9d0fb;
    border-radius: 14px;
    background: #fcfbff;
    color: #2d2558;
}
.mobile-current-contract-search input[type="date"] {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 10px;
    font-size: 0.9rem;
    overflow: hidden;
}
.mobile-current-contract-search button,
.mobile-current-contract-search__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    border: none;
    border-radius: 14px;
    font-size: 0.86rem;
    font-weight: 700;
}
.mobile-current-contract-search button {
    background: #ece7ff;
    color: #5a39d2;
    cursor: pointer;
}
.mobile-current-contract-search__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mobile-current-contract-search__clear {
    border: 1px solid #d8d0f7;
    background: #fff;
    color: #5a39d2;
}
.mobile-current-contract-card {
    border: 1px solid #ddd5fb;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 12px 22px rgba(99, 74, 195, 0.08);
    overflow: hidden;
}
.mobile-current-contract-card--bad-debt {
    border-color: rgba(217, 43, 67, 0.24);
}
.mobile-current-contract-card__summary {
    list-style: none;
    cursor: pointer;
    padding: 14px;
}
.mobile-current-contract-card__summary::-webkit-details-marker {
    display: none;
}
.mobile-current-contract-card[open] .mobile-current-contract-card__summary {
    border-bottom: 1px solid #eee8ff;
    background: linear-gradient(180deg, #f4efff 0%, #ede6ff 100%);
}
.mobile-current-contract-card[open] {
    border-color: rgba(100, 61, 244, 0.36);
    box-shadow: 0 16px 30px rgba(94, 67, 204, 0.18);
}
.mobile-current-contract-card--bad-debt[open] {
    border-color: rgba(217, 43, 67, 0.34);
    box-shadow: 0 16px 30px rgba(217, 43, 67, 0.12);
}
.mobile-current-contract-card__top {
    position: relative;
    min-height: 48px;
    padding-right: 98px;
}
.mobile-current-contract-card__title {
    min-width: 0;
}
.mobile-current-contract-card__badges {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    max-width: 92px;
}
.mobile-current-contract-card__name {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: #2d2558;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-current-contract-card__gps-link {
    font-size: 0.76rem;
    white-space: nowrap;
}
.mobile-current-contract-card__date {
    margin-top: 4px;
    color: #7b739f;
    font-size: 0.82rem;
}
.mobile-current-contract-card__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.mobile-current-contract-card__stat {
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8f5ff;
}
.mobile-current-contract-card__stat span {
    display: block;
    color: #8a82ad;
    font-size: 0.74rem;
}
.mobile-current-contract-card__stat strong {
    display: block;
    margin-top: 4px;
    color: #32295d;
    font-size: 0.98rem;
    font-weight: 800;
}
.mobile-current-contract-card__summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.mobile-current-contract-card__mini {
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8f5ff;
}
.mobile-current-contract-card__mini span {
    display: block;
    color: #8a82ad;
    font-size: 0.74rem;
}
.mobile-current-contract-card__mini strong {
    display: block;
    margin-top: 4px;
    color: #32295d;
    font-size: 0.92rem;
    font-weight: 800;
}
.mobile-current-contract-card__mini-value--danger {
    color: #d92b43 !important;
}
.mobile-current-contract-card__mini-value--overpaid {
    color: #5a39d2 !important;
}
.mobile-current-contract-card__progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
}
.mobile-current-contract-card__progress-label {
    color: #5f567f;
    font-size: 0.84rem;
}
.mobile-current-contract-card__progress-percent {
    color: #5a39d2;
    font-size: 0.86rem;
    font-weight: 800;
}
.mobile-current-contract-card__progress {
    margin-top: 8px;
    height: 10px;
    border-radius: 999px;
    background: #ece6ff;
    overflow: hidden;
}
.mobile-current-contract-card__progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #643df4, #8e73ff);
}
.mobile-current-contract-card__detail {
    display: grid;
    gap: 12px;
    padding: 14px;
}
.mobile-current-contract-card__detail .mobile-customer-item__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-loan-history-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #ddd5fb;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 12px 22px rgba(99, 74, 195, 0.08);
}
.mobile-loan-history-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.mobile-loan-history-card__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
.mobile-customer-page--detail .mobile-loan-history-card {
    gap: 14px;
    padding: 16px;
}
.mobile-customer-page--detail .mobile-loan-history-card__head {
    align-items: flex-start;
}
.mobile-customer-page--detail .mobile-loan-history-card__badges {
    justify-content: flex-end;
}
.mobile-loan-history-card__name {
    color: #2d2558;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-loan-history-card__sub {
    margin-top: 4px;
    color: #7b739f;
    font-size: 0.82rem;
}
.mobile-loan-history-guarantor-list {
    display: grid;
    gap: 8px;
}
.mobile-loan-history-guarantor {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8f5ff;
    color: #564d7a;
    font-size: 0.82rem;
}
.mobile-customer-page--detail .mobile-loan-history-guarantor {
    gap: 4px;
    padding: 12px;
}
.mobile-loan-history-guarantor strong {
    color: #32295d;
    font-size: 0.9rem;
}
.mobile-loan-history-guarantor-map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 32px;
    margin-top: 6px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #d8d0f7;
    background: #fff;
    color: #5a39d2;
    font-size: 0.8rem;
    font-weight: 700;
}
.mobile-loan-history-actions {
    display: grid;
    gap: 10px;
}
.mobile-customer-page--detail .mobile-loan-history-actions {
    gap: 12px;
}
.mobile-loan-history-panel {
    border: 1px solid #e2dbfd;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}
.mobile-loan-history-panel summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    color: #5233c4;
    font-size: 0.92rem;
    font-weight: 700;
}
.mobile-customer-page--detail .mobile-loan-history-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mobile-loan-history-panel summary::-webkit-details-marker {
    display: none;
}
.mobile-loan-history-panel[open] summary {
    border-bottom: 1px solid #eee8ff;
    background: #faf8ff;
}
.mobile-loan-history-detail {
    padding: 0 14px 14px;
}
.mobile-customer-page--detail .mobile-loan-history-detail {
    padding-top: 2px;
}
.mobile-customer-page--detail .mobile-detail-list {
    margin-bottom: 12px;
}
.mobile-customer-page--profile {
    gap: 14px;
}
.mobile-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-profile-form {
    gap: 14px;
}
.mobile-profile-hint {
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8f5ff;
    color: #6f6793;
    font-size: 0.86rem;
    line-height: 1.6;
}
.mobile-form-submit-wrap--profile {
    position: static;
    bottom: auto;
    z-index: auto;
    padding-top: 4px;
    background: transparent;
}
.mobile-customer-page--dashboard {
    gap: 14px;
}
.mobile-dashboard-hero {
    gap: 16px;
}
.mobile-dashboard-hero__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.mobile-dashboard-hero__action {
    white-space: nowrap;
}
.mobile-dashboard-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}
.mobile-dashboard-percent {
    text-align: right;
}
.mobile-dashboard-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-section {
    padding: 16px;
}
.mobile-dashboard-list {
    display: grid;
    border-top: 1px solid #e6dffc;
}
.mobile-dashboard-list__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #e6dffc;
}
.mobile-dashboard-list__row--total {
    border-bottom: none;
}
.mobile-dashboard-list__label {
    color: #30295c;
    font-size: 0.94rem;
    line-height: 1.45;
}
.mobile-dashboard-list__value {
    color: #2f2657;
    font-size: 1.55rem;
    font-weight: 800;
}
.mobile-dashboard-list__value--danger {
    color: #ff2b39;
}
.mobile-dashboard-list__value--positive {
    color: #5a39d2;
}
.mobile-dashboard-list__control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.mobile-dashboard-hero-v2 {
    gap: 14px;
}
.mobile-dashboard-hero-v2__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.mobile-dashboard-hero-v2__action {
    white-space: nowrap;
}
.mobile-dashboard-hero-v2__action--bottom {
    width: 100%;
    min-height: 44px;
    margin-top: 2px;
    background: linear-gradient(90deg, #ffffff, #f2edff);
    color: #5634d4;
    border: 1px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 28px rgba(43, 23, 113, 0.24);
    font-weight: 900;
}
.mobile-dashboard-quick-close {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
}
.mobile-dashboard-close-panel[hidden] { display: none !important; }
.mobile-dashboard-close-panel { margin-top: 16px; }
.mobile-dashboard-close-toggle {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 18px;
    background: rgba(255,255,255,.14);
    color: #fff;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
    cursor: pointer;
}
.mobile-dashboard-close-toggle__icon { display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#fff;color:#633ce7;font-size:1.1rem;font-weight:800; }
.mobile-dashboard-close-toggle strong,.mobile-dashboard-close-toggle small { display:block; }
.mobile-dashboard-close-toggle strong { font-size:.95rem; }
.mobile-dashboard-close-toggle small { margin-top:2px;color:rgba(255,255,255,.72);font-size:.68rem;line-height:1.4; }
.mobile-dashboard-close-toggle__arrow { font-size:1.35rem;transition:transform .2s ease; }
.mobile-dashboard-close-toggle.is-open .mobile-dashboard-close-toggle__arrow { transform:rotate(180deg); }
.mobile-dashboard-quick-close__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-quick-close__field,
.mobile-dashboard-quick-close__file {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.mobile-dashboard-quick-close__field input,
.mobile-dashboard-quick-close__file input {
    width: 100%;
    min-height: 42px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    color: #2d2556;
    font-size: 18px;
    font-weight: 900;
    padding: 10px 12px;
}
.mobile-dashboard-quick-close__file input {
    font-size: 13px;
    font-weight: 600;
    color: #8b86a3;
}
.mobile-dashboard-quick-close__field input {
    text-align: right;
}
.mobile-dashboard-quick-close__file {
    margin-top: 10px;
}
.mobile-dashboard-quick-close__file a {
    width: fit-content;
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    padding: 6px 12px;
    text-decoration: none;
}
.mobile-dashboard-quick-close__diff {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    color: #6f6594;
    font-size: 12px;
    font-weight: 800;
}
.mobile-dashboard-quick-close__diff .mobile-dashboard-diff-card__value {
    font-size: 20px;
}
.mobile-empty-state.mobile-dashboard-quick-close__locked-note {
    margin-top: 12px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}
.mobile-empty-state.mobile-dashboard-quick-close__locked-note,
.mobile-empty-state.mobile-dashboard-quick-close__locked-note * {
    color: #fff !important;
}
.mobile-dashboard-quick-close .mobile-dashboard-hero-v2__action--bottom {
    margin-top: 22px;
    background: linear-gradient(135deg, #6f3cff, #4f22db);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 16px 30px rgba(67, 38, 180, 0.34);
}
.mobile-dashboard-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-highlight-card {
    min-height: 132px;
    padding: 16px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-dashboard-highlight-card__label {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.84rem;
    font-weight: 700;
}
.mobile-dashboard-highlight-card__value {
    margin-top: 8px;
    color: #fff;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 900;
}
.mobile-dashboard-highlight-card__value--compact {
    font-size: clamp(1.65rem, 7vw, 2rem);
    line-height: 1.04;
    word-break: break-word;
}
.mobile-dashboard-highlight-card__sub {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.74rem;
    line-height: 1.45;
}
.mobile-dashboard-highlight-card--percent .mobile-dashboard-highlight-card__value {
    color: #d8ff7d;
    font-size: 2rem;
}
.mobile-dashboard-alert-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 600;
}
.mobile-dashboard-alert-chip strong {
    color: #ffcfdb;
    font-weight: 800;
}
.mobile-dashboard-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-mini-card {
    min-width: 0;
    padding: 12px 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    text-align: center;
}
.mobile-dashboard-mini-card span {
    display: block;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.74rem;
    line-height: 1.35;
}
.mobile-dashboard-mini-card strong {
    display: block;
    margin-top: 6px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
}
.mobile-dashboard-odometer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-odometer-card {
    padding: 16px 14px;
    border: 1px solid #e2dbfd;
    border-radius: 18px;
    background: linear-gradient(180deg, #fcfbff 0%, #f6f2ff 100%);
}
.mobile-dashboard-odometer-card__label {
    color: #7f76a6;
    font-size: 0.84rem;
    font-weight: 700;
}
.mobile-dashboard-odometer-card__value {
    margin-top: 8px;
    color: #2f2657;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.15;
    word-break: break-word;
}
.mobile-dashboard-odometer-card__value--compact {
    font-size: 1.15rem;
    line-height: 1.35;
    word-break: break-word;
}
.mobile-dashboard-odometer-btn {
    margin-top: 14px;
}
.mobile-dashboard-odometer-btn--wide {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.mobile-dashboard-expense-btn {
    margin-bottom: 14px;
}
.mobile-dashboard-expense-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.mobile-dashboard-expense-actions--bottom {
    grid-template-columns: 1fr;
    margin: 14px 0 0;
}
.mobile-dashboard-expense-btn--wide {
    width: 100%;
    justify-content: center;
}
.mobile-dashboard-expense-actions .mobile-dashboard-expense-btn {
    margin-bottom: 0;
    text-align: center;
}
.mobile-dashboard-board {
    padding: 16px;
}
.mobile-dashboard-board__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 10px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(114, 82, 255, 0.14), rgba(147, 118, 255, 0.2));
    color: #5b39da;
    font-size: 0.96rem;
    font-weight: 800;
}
.mobile-dashboard-board__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-dashboard-board__grid--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mobile-dashboard-cash-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.mobile-dashboard-cash-card {
    padding: 16px 14px;
    border: 1px solid #e2dbfd;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ff 100%);
    box-shadow: 0 12px 24px rgba(105, 81, 207, 0.08);
}
.mobile-dashboard-cash-card__label {
    color: #7f76a6;
    font-size: 0.82rem;
    font-weight: 700;
}
.mobile-dashboard-cash-card__value {
    margin-top: 8px;
    color: #5a35d6;
    font-size: clamp(1.7rem, 6vw, 2.3rem);
    font-weight: 800;
    line-height: 1.05;
    word-break: break-word;
}
.mobile-dashboard-cash-card__sub {
    margin-top: 8px;
    color: #80769f;
    font-size: 0.76rem;
    line-height: 1.5;
}
.mobile-dashboard-cash-form {
    margin-bottom: 14px;
    padding: 16px;
    border: 1px solid #e2dbfd;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 12px 22px rgba(99, 74, 195, 0.08);
}
.mobile-dashboard-history-amount {
    color: #4f35c8;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.mobile-dashboard-history-note {
    margin-top: 6px;
}
.mobile-cash-history-card {
    gap: 12px;
}
.mobile-cash-history-actions {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}
.mobile-cash-history-editor {
    border: 1px solid #e2dbfd;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    overflow: hidden;
}
.mobile-cash-history-editor summary {
    padding: 14px 16px;
    cursor: pointer;
    color: #4f35c8;
    font-size: 0.92rem;
    font-weight: 700;
    list-style: none;
}
.mobile-cash-history-editor summary::-webkit-details-marker {
    display: none;
}
.mobile-dashboard-cash-form--inline {
    margin: 0;
    padding: 0 16px 16px;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.mobile-cash-history-log {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f7f4ff;
    border: 1px solid #e4dcff;
}
.mobile-cash-history-log__title {
    color: #5942cc;
    font-size: 0.78rem;
    font-weight: 800;
}
.mobile-cash-history-log__text {
    margin: 8px 0 0;
    white-space: pre-wrap;
    word-break: break-word;
    color: #70668f;
    font-size: 0.76rem;
    line-height: 1.6;
    font-family: inherit;
}
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-icon,
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-label,
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-arrow {
    font-size: 0;
}
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-icon::before {
    content: "฿";
    font-size: 1rem;
}
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-label::before {
    content: "เงินบ้าน";
    font-size: 1rem;
}
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] .mobile-drawer__item-arrow::before {
    content: "›";
    font-size: 1.2rem;
}
.mobile-drawer__item[href="/keeploan/employee/dashboard.php"] {
    order: 1;
}
.mobile-drawer__item[href="/keeploan/employee/cash-issues.php"] {
    order: 2;
}
.mobile-drawer__item[href="/keeploan/employee/expenses.php"] {
    order: 3;
}
.mobile-drawer__item[href="/keeploan/employee/contract-search.php"] {
    order: 4;
}
.mobile-drawer__item[href="/keeploan/employee/customers.php"] {
    order: 5;
}
.mobile-drawer__item[href="/keeploan/employee/current-contracts.php"] {
    order: 6;
}
.mobile-drawer__item[href="/keeploan/employee/profile.php"] {
    order: 7;
}
.mobile-drawer__item[href="/keeploan/auth/logout.php"] {
    order: 8;
}
.mobile-drawer__item[href="/keeploan/employee/current-contracts.php"] .mobile-drawer__item-label,
.mobile-drawer__item[href="/keeploan/employee/profile.php"] .mobile-drawer__item-label {
    font-size: 0;
}
.mobile-drawer__item[href="/keeploan/employee/current-contracts.php"] .mobile-drawer__item-label::before {
    content: "ประวัติการชำระ";
    font-size: 1rem;
}
.mobile-drawer__item[href="/keeploan/employee/profile.php"] .mobile-drawer__item-label::before {
    content: "เปลี่ยนรหัส";
    font-size: 1rem;
}
.mobile-dashboard-info-card {
    min-height: 112px;
    padding: 14px;
    border: 1px solid #e2dbfd;
    border-radius: 16px;
    background: linear-gradient(180deg, #fcfbff 0%, #f6f2ff 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-dashboard-info-card__label {
    color: #7f76a6;
    font-size: 0.8rem;
    font-weight: 700;
}
.mobile-dashboard-info-card__value {
    margin-top: 8px;
    color: #2f2657;
    font-size: 1.6rem;
    font-weight: 800;
}
.mobile-dashboard-settlement {
    margin-top: 12px;
    border-top: 1px solid #e6dffc;
}
.mobile-dashboard-settlement__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #e6dffc;
}
.mobile-dashboard-settlement__row--total {
    border-bottom: none;
}
.mobile-dashboard-settlement__label {
    color: #30295c;
    font-size: 0.94rem;
    line-height: 1.45;
}
.mobile-dashboard-settlement__value {
    color: #2f2657;
    font-size: 1.5rem;
    font-weight: 800;
}
.mobile-dashboard-settlement__value--danger {
    color: #ff2b39;
}
.mobile-dashboard-settlement__value--positive {
    color: #5a39d2;
}
.mobile-dashboard-settlement__control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.mobile-dashboard-settlement-card {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #e2dbfd;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 12px 22px rgba(99, 74, 195, 0.08);
}
.mobile-dashboard-settlement-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.mobile-dashboard-settlement-card__due {
    min-width: 110px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8f5ff;
    text-align: right;
}
.mobile-dashboard-settlement-card__due span {
    display: block;
    color: #7f76a6;
    font-size: 0.74rem;
}
.mobile-dashboard-settlement-card__due strong {
    display: block;
    margin-top: 4px;
    color: #402f91;
    font-size: 1.1rem;
    font-weight: 800;
}
.mobile-dashboard-form-grid {
    display: grid;
    gap: 12px;
}
.mobile-dashboard-field {
    display: grid;
    gap: 8px;
}
.mobile-dashboard-field > span {
    color: #342b5f;
    font-size: 0.9rem;
    font-weight: 700;
}
.mobile-dashboard-field input[type="text"],
.mobile-dashboard-field input[type="date"],
.mobile-dashboard-field input[type="file"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #d8d0f7;
    border-radius: 14px;
    background: #fff;
    color: #2c2552;
}
.mobile-dashboard-date-input {
    appearance: none;
    -webkit-appearance: none;
}
.mobile-dashboard-field small {
    color: #716792;
    font-size: 0.8rem;
    line-height: 1.5;
}
.mobile-dashboard-quick-close__file.mobile-upload-card,
.mobile-dashboard-field--file.mobile-upload-card {
    display: grid;
    place-items: center;
    gap: 6px;
    color: #342b5f;
    text-align: center;
}
.mobile-dashboard-quick-close__file.mobile-upload-card input.mobile-upload-card__input,
.mobile-dashboard-field--file.mobile-upload-card input.mobile-upload-card__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: transparent;
    opacity: 0;
    cursor: pointer;
}
.mobile-dashboard-quick-close__file.mobile-upload-card > span,
.mobile-dashboard-field--file.mobile-upload-card > span {
    color: #342b5f;
    font-size: 0.92rem;
    font-weight: 800;
    pointer-events: none;
}
.mobile-dashboard-quick-close__file.mobile-upload-card.has-image > span,
.mobile-dashboard-field--file.mobile-upload-card.has-image > span {
    display: none;
}
.mobile-dashboard-field--file.mobile-upload-card small {
    margin: 0;
    text-align: center;
    pointer-events: none;
}
.mobile-dashboard-quick-close__file.mobile-upload-card a,
.mobile-dashboard-field--file.mobile-upload-card a {
    position: relative;
    z-index: 3;
}
.mobile-dashboard-slip-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #d8d0f7;
    background: #fff;
    color: #5a39d2;
    font-size: 0.82rem;
    font-weight: 700;
}
.mobile-dashboard-inline-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.mobile-dashboard-inline-actions--expense {
    margin-top: 0;
    justify-content: flex-end;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 8px;
}
.mobile-dashboard-inline-actions .mobile-expense-delete-form {
    margin: 0;
}
.mobile-dashboard-inline-actions.mobile-dashboard-inline-actions--odometer {
    margin-top: 10px;
    gap: 8px;
    justify-content: flex-start;
}
.mobile-dashboard-inline-actions.mobile-dashboard-inline-actions--odometer.mobile-dashboard-inline-actions--odometer-pair {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}
.mobile-dashboard-inline-actions.mobile-dashboard-inline-actions--odometer.mobile-dashboard-inline-actions--odometer-pair .mobile-dashboard-slip-link {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding: 0 8px;
    font-size: 0.76rem;
    white-space: nowrap;
}
.mobile-expense-table__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}
.mobile-expense-table__title-wrap {
    min-width: 0;
}
.mobile-expense-table__head .mobile-expense-table__title,
.mobile-expense-table__head .mobile-expense-table__title-btn {
    margin: 0;
}
.mobile-expense-table__head .mobile-expense-table__title-btn,
.mobile-expense-table__head .mobile-expense-table__title {
    display: block;
    max-width: 100%;
}
.mobile-dashboard-diff-card {
    margin-top: 14px;
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, #f3efff, #eef7ff);
    border: 1px solid #ddd5fb;
}
.mobile-dashboard-diff-card__label {
    color: #342b5f;
    font-size: 0.92rem;
    font-weight: 800;
}
.mobile-dashboard-diff-card__formula {
    margin-top: 6px;
    color: #7b729d;
    font-size: 0.78rem;
    line-height: 1.45;
}
.mobile-dashboard-diff-card__value {
    margin-top: 10px;
    color: #2f2657;
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
}
.mobile-dashboard-diff-card__value--danger {
    color: #ff2b39;
}
.mobile-dashboard-diff-card__value--positive {
    color: #16a34a;
}
.mobile-dashboard-submit {
    margin-top: 14px;
}
.mobile-customer-page--expenses {
    gap: 14px;
}
.mobile-expense-hero {
    gap: 16px;
}
.mobile-expense-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-expense-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    font-weight: 700;
}
.mobile-expense-tab.is-active {
    background: #fff;
    color: #5634d4;
    box-shadow: 0 10px 20px rgba(41, 25, 104, 0.16);
}
.mobile-expense-section {
    padding: 16px;
}
.mobile-expense-summary-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.mobile-expense-summary-strip__item {
    padding: 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, #fcfbff 0%, #f6f2ff 100%);
    border: 1px solid #e2dbfd;
}
.mobile-expense-summary-strip__item span {
    display: block;
    color: #7f76a6;
    font-size: 0.8rem;
    font-weight: 700;
}
.mobile-expense-summary-strip__item strong {
    display: block;
    margin-top: 8px;
    color: #2f2657;
    font-size: 1.15rem;
    font-weight: 800;
}
.mobile-expense-form {
    gap: 14px;
}
.mobile-odometer-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #e2dbfd;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fbf9ff 100%);
    box-shadow: 0 14px 28px rgba(112, 88, 203, 0.08);
}
.mobile-odometer-card label {
    margin: 0;
}
.mobile-odometer-submit-wrap {
    position: sticky;
    bottom: 78px;
    z-index: 20;
    margin: 2px -4px 0;
    padding: 12px 4px 10px;
    background: linear-gradient(180deg, rgba(239, 237, 255, 0), rgba(239, 237, 255, 0.96) 35%, rgba(239, 237, 255, 1) 100%);
}
.mobile-odometer-submit-btn {
    width: 100%;
    min-height: 50px;
    justify-content: center;
}
.mobile-expense-dual-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.mobile-expense-hint {
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8f5ff;
    color: #6f6793;
    font-size: 0.85rem;
    line-height: 1.6;
}
.mobile-expense-lock-note {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #f6c7cf;
    border-radius: 14px;
    background: #fff4f6;
    color: #b42318;
    font-size: 0.86rem;
    line-height: 1.55;
}
.mobile-expense-team-note {
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid #e1d8ff;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(250, 248, 255, 0.96), rgba(244, 239, 255, 0.92));
    color: #6d6490;
    font-size: 0.9rem;
    line-height: 1.55;
}
.mobile-expense-item {
    gap: 12px;
}
.mobile-expense-item__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
.mobile-expense-item__amount {
    color: #4f2fe1;
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 900;
}
.mobile-expense-item__note {
    color: #6f6793;
    font-size: 0.84rem;
    line-height: 1.5;
}
.mobile-expense-saved-preview {
    display: grid;
    gap: 10px;
}
.mobile-expense-saved-preview__title {
    color: #342b5f;
    font-size: 0.92rem;
    font-weight: 700;
}
.mobile-expense-table-card {
    overflow: hidden;
}
.mobile-expense-table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
}
.mobile-expense-table th {
    padding: 10px 12px;
    background: linear-gradient(180deg, #ece5ff, #dbceff);
    color: #4d338f;
    font-size: 0.84rem;
    text-align: left;
    border-bottom: none;
}
.mobile-expense-table td {
    padding: 12px;
    vertical-align: top;
    border-bottom: 1px solid #ece6ff;
    color: #31265a;
    background: rgba(255, 255, 255, 0.98);
}
.mobile-expense-table tbody tr:last-child td {
    border-bottom: none;
}
.mobile-expense-table__title {
    font-size: 0.92rem;
    font-weight: 800;
}
.mobile-expense-table__title-btn {
    padding: 0;
    border: none;
    background: transparent;
    color: #2f2657;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}
.mobile-expense-table__title-btn:hover {
    color: #4f2fe1;
}
.mobile-expense-table__title + .mobile-expense-table__note {
    margin-top: 6px;
}
.mobile-expense-table__note {
    font-size: 0.84rem;
    line-height: 1.5;
    color: #746b98;
}
.mobile-expense-delete-form {
    margin-top: 10px;
}
.mobile-expense-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #ffd3da;
    border-radius: 10px;
    background: #fff5f7;
    color: #d92b43;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}
.mobile-expense-delete-btn:hover {
    background: #ffecef;
}
.mobile-expense-delete-btn--compact {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.76rem;
}
.mobile-contract-search-delete-form {
    margin: 0;
}
.mobile-contract-search-lock {
    color: #9d94bd;
    font-size: 0.82rem;
    font-weight: 700;
}
.mobile-expense-table__amount {
    width: 112px;
    text-align: right;
    color: #4f2fe1;
    font-size: 0.95rem;
    font-weight: 900;
    white-space: nowrap;
}
.mobile-expense-table__total-row td {
    background: linear-gradient(180deg, #fbf8ff, #f2ecff);
    border-top: 1px solid #ddd5fb;
}
.mobile-expense-table__amount--total {
    color: #3f27aa;
}
.mobile-expense-breakdown-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 14px 100px;
}
.mobile-expense-breakdown-overlay[hidden] {
    display: none;
}
.mobile-expense-breakdown-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(31, 23, 53, 0.48);
}
.mobile-expense-breakdown-card {
    position: relative;
    z-index: 1;
    width: min(100%, 360px);
    max-height: calc(100vh - 140px);
    overflow: hidden;
    border: 1px solid #ddd5fb;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 42px rgba(40, 24, 96, 0.24);
    display: grid;
    grid-template-rows: auto 1fr auto;
}
.mobile-expense-breakdown-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #ebe4ff;
}
.mobile-expense-breakdown-card__title {
    color: #2f2657;
    font-size: 1rem;
    font-weight: 800;
}
.mobile-expense-breakdown-card__close {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 999px;
    background: #f5f0ff;
    color: #6b49ef;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}
.mobile-expense-breakdown-list {
    overflow-y: auto;
    padding: 8px 18px 0;
}
.mobile-expense-breakdown-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #ebe4ff;
}
.mobile-expense-breakdown-item:last-child {
    border-bottom: none;
}
.mobile-expense-breakdown-item__name {
    color: #2f2657;
    font-size: 0.92rem;
    font-weight: 800;
}
.mobile-expense-breakdown-item__sub {
    margin-top: 4px;
    color: #7b729d;
    font-size: 0.8rem;
}
.mobile-expense-breakdown-item__amount {
    color: #4f2fe1;
    font-size: 0.95rem;
    font-weight: 900;
    white-space: nowrap;
}
.mobile-expense-breakdown-empty {
    padding: 18px 0 20px;
    color: #7b729d;
    font-size: 0.88rem;
    text-align: center;
}
.mobile-expense-breakdown-card__foot {
    padding: 14px 18px 18px;
    border-top: 1px solid #ebe4ff;
    background: #fff;
}
.mobile-expense-breakdown-card__btn {
    min-height: 44px;
}
.mobile-loan-history-images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: 10px;
    padding: 14px;
}
.mobile-loan-history-image-link {
    display: block;
}
.mobile-loan-history-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid #ddd5fb;
    box-shadow: 0 8px 18px rgba(104, 78, 198, 0.12);
}
.mobile-loan-history-images--plate {
    grid-template-columns: minmax(0, 1fr);
    max-width: 220px;
}
.mobile-loan-history-image--plate {
    aspect-ratio: 4 / 3;
}
.mobile-mini-table--history {
    margin-top: 12px;
}
.mobile-empty-state {
    padding: 16px 12px;
    text-align: center;
    color: #7b729f;
    font-size: 0.9rem;
}
.mobile-contract-search-form {
    display: grid;
    gap: 12px;
}
.mobile-contract-search-form label {
    color: #342b5f;
    font-size: 0.92rem;
    font-weight: 700;
}
.mobile-contract-search-form input {
    margin-top: 6px;
    width: 100%;
    min-width: 0;
    border: 1px solid #d9d0fb;
    border-radius: 14px;
    background: #fcfbff;
    color: #2d2558;
}
.mobile-contract-search-form input[type="date"] {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    padding-right: 10px;
    overflow: hidden;
}
.mobile-contract-search-form__actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}
.mobile-contract-search-form__actions button,
.mobile-contract-search-form__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 14px;
    font-size: 0.9rem;
    font-weight: 700;
}
.mobile-contract-search-form__actions button {
    border: none;
    background: linear-gradient(90deg, #643df4, #4f2fe1);
    color: #fff;
    cursor: pointer;
}
.mobile-contract-search-form__actions a {
    border: 1px solid #d8d0f7;
    background: #fff;
    color: #5a39d2;
}
.mobile-contract-report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-contract-report-grid--fixed-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-contract-search-table-wrap {
    padding: 0;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}
.mobile-contract-search-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.mobile-contract-search-table {
    width: max-content;
    min-width: 940px;
    border-collapse: separate;
    border-spacing: 0;
}
.mobile-contract-search-table th,
.mobile-contract-search-table td {
    white-space: nowrap;
}
.mobile-contract-search-table thead th {
    padding-top: 10px;
    padding-bottom: 10px;
}
.mobile-contract-search-table tbody td {
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
}
.mobile-contract-search-table tbody td .mobile-cell,
.mobile-contract-search-table tbody td .worksheet-name-link {
    min-height: 40px;
}
.mobile-contract-search-table .is-sticky {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 32vw;
    min-width: 88px;
    max-width: 118px;
    box-shadow: 8px 0 18px rgba(111, 93, 198, 0.08);
}
.mobile-contract-search-table tbody .is-sticky {
    background: #fff;
    color: #40317c;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-contract-search-table__total-row td {
    background: linear-gradient(180deg, #f0e9ff, #e5d9ff);
    border-top: 1px solid #d4c4ff;
    font-weight: 900;
}
.mobile-contract-search-table__total-row .is-sticky {
    background: linear-gradient(180deg, #eadfff, #ddceff);
    color: #35286e;
}
.mobile-contract-search-table__total-row .mobile-cell {
    color: #2f2366;
    font-weight: 900;
}
.mobile-contract-search-bad-source {
    color: #ef4444 !important;
}
.mobile-cell--cut-placeholder {
    min-height: 42px;
    align-items: center;
    justify-content: center;
    color: #7c3aed;
    font-weight: 900;
}
.mobile-contract-search-table thead .is-sticky {
    z-index: 3;
}
.mobile-customer-page--contract-search {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}
.mobile-customer-page--contract-search > * {
    min-width: 0;
}
.mobile-contract-report-card {
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(103, 66, 244, 0.1), rgba(126, 97, 255, 0.16));
    border: 1px solid #ddd5fb;
}
.mobile-contract-report-grid--fixed-two .mobile-contract-report-card {
    min-height: 138px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mobile-contract-report-card--soft {
    background: linear-gradient(135deg, rgba(236, 231, 255, 0.96), rgba(248, 245, 255, 0.96));
}
.mobile-contract-report-card__label {
    color: #7c73a2;
    font-size: 0.82rem;
    font-weight: 700;
}
.mobile-contract-report-card__count {
    margin-top: 6px;
    color: #2f2657;
    font-size: 1.12rem;
    font-weight: 800;
}
.mobile-contract-report-card__amount {
    margin-top: 6px;
    color: #5a39d2;
    font-size: 1.1rem;
    font-weight: 800;
}
.mobile-contract-report-list {
    display: grid;
    gap: 10px;
}
.mobile-contract-report-item {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #ddd5fb;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
    box-shadow: 0 10px 22px rgba(106, 78, 204, 0.08);
}
.mobile-contract-report-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.mobile-contract-report-item__name {
    color: #2d2558;
    font-size: 0.98rem;
    font-weight: 800;
}
.mobile-contract-report-item__sub {
    margin-top: 4px;
    color: #7b739f;
    font-size: 0.8rem;
}
.mobile-contract-report-item__sub--time {
    font-size: 0.76rem;
    color: #9188b3;
}
@media (max-width: 430px) {
    .worksheet-modal-overlay {
        padding: 12px 0 88px;
    }
    .worksheet-modal-card {
        width: 100%;
    }
    .mobile-form-submit-wrap {
        bottom: 96px;
    }
}

/* Premium admin navigation and management pages */
.admin-nav {
    gap: 5px;
}
.admin-nav__item,
.admin-nav__group-label {
    display: flex;
    align-items: center;
    gap: 11px;
}
.admin-nav__icon {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 9px;
    background: rgba(255,255,255,.08);
    font-size: .78rem;
}
.admin-nav__group {
    border-radius: 16px;
    transition: background .2s ease;
}
.admin-nav__group.is-active {
    background: rgba(255,255,255,.09);
}
.admin-nav__group-label {
    padding: 10px 13px 7px;
    color: rgba(255,255,255,.93);
    font-weight: 700;
}
.admin-nav__subitems {
    display: grid;
    gap: 3px;
    padding: 0 8px 8px 51px;
}
.admin-nav__subitem {
    position: relative;
    padding: 8px 10px;
    border-radius: 10px;
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    text-decoration: none;
}
.admin-nav__subitem::before {
    position: absolute;
    top: 50%;
    left: -10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,.3);
    content: '';
    transform: translateY(-50%);
}
.admin-nav__subitem:hover,
.admin-nav__subitem.is-active {
    background: rgba(255,255,255,.14);
    color: #fff;
}
.admin-nav__subitem.is-active::before {
    background: #c9ff43;
    box-shadow: 0 0 0 4px rgba(201,255,67,.13);
}

.capital-manage-hero,
.cash-admin-hero,
.users-admin-hero {
    position: relative;
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 22px;
    padding: 30px 34px;
    border-radius: 28px;
    background: linear-gradient(128deg, #2d1b7b 0%, #5d32ea 57%, #7448f5 100%);
    box-shadow: 0 24px 55px rgba(65,38,176,.22);
    color: #fff;
}
.capital-manage-hero::after,
.cash-admin-hero::after,
.users-admin-hero::after {
    position: absolute;
    right: -55px;
    bottom: -100px;
    width: 270px;
    height: 270px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    content: '';
}
.capital-manage-hero__eyebrow,
.cash-admin-hero__copy > span,
.users-admin-hero__copy > span {
    color: #caff43;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .16em;
}
.capital-manage-hero h2,
.cash-admin-hero h2,
.users-admin-hero h2 {
    margin: 7px 0 4px;
    font-size: clamp(1.45rem, 2.4vw, 2.15rem);
    line-height: 1.2;
}
.capital-manage-hero p,
.cash-admin-hero p,
.users-admin-hero p {
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: .88rem;
}
.capital-manage-filter {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 455px;
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: rgba(255,255,255,.09);
    backdrop-filter: blur(14px);
}
.capital-manage-filter label,
.capital-unified-form label,
.cash-entry-form label,
.cash-filter-form label,
.users-premium-form label {
    display: grid;
    gap: 6px;
}
.capital-manage-filter label > span {
    color: rgba(255,255,255,.68);
    font-size: .72rem;
    font-weight: 600;
}
.capital-manage-filter select,
.capital-manage-filter input,
.capital-manage-filter button {
    min-height: 42px;
    border: 0;
    border-radius: 11px;
}
.capital-manage-filter select,
.capital-manage-filter input {
    padding: 0 11px;
    background: rgba(255,255,255,.94);
    color: #282044;
}
.capital-manage-filter button {
    padding: 0 18px;
    background: #caff43;
    color: #2e1e72;
    font-weight: 800;
}
.capital-manage-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.capital-manage-summary article {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 105px;
    padding: 20px;
    border: 1px solid #e5ddff;
    border-radius: 22px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 30px rgba(53,42,111,.07);
}
.capital-manage-summary article.is-highlight {
    border-color: transparent;
    background: linear-gradient(135deg, #5830df, #784bf5);
    color: #fff;
}
.capital-manage-summary__icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 15px;
    background: #eee9ff;
    color: #6036e8;
    font-weight: 800;
}
.is-highlight .capital-manage-summary__icon { background: rgba(255,255,255,.14); color: #caff43; }
.capital-manage-summary small,
.capital-manage-summary strong { display: block; }
.capital-manage-summary small { margin-bottom: 4px; color: #81789f; font-size: .73rem; }
.capital-manage-summary strong { color: inherit; font-size: 1.45rem; }
.is-highlight small { color: rgba(255,255,255,.68); }
.capital-manage-layout,
.cash-admin-layout,
.users-create-layout {
    display: grid;
    grid-template-columns: minmax(330px,.82fr) minmax(0,1.18fr);
    gap: 18px;
    align-items: start;
}
.capital-action-card,
.capital-log-card,
.cash-entry-card,
.cash-insight-card,
.cash-history-card,
.team-create-card,
.employee-create-card,
.users-pending-section,
.employee-directory-card {
    border: 1px solid #e4dcff;
    border-radius: 25px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 42px rgba(48,34,111,.08);
}
.capital-action-card,
.capital-log-card,
.cash-entry-card,
.cash-insight-card,
.team-create-card,
.employee-create-card { padding: 24px; }
.capital-action-card__head,
.capital-log-card__head,
.cash-entry-card > header,
.team-create-card > header,
.employee-create-card > header,
.users-pending-section > header,
.employee-directory-card > header,
.cash-history-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}
.capital-action-card__head span,
.capital-log-card__head span,
.cash-entry-card header span,
.team-create-card header span,
.employee-create-card header span,
.users-pending-section header span,
.employee-directory-card header span,
.cash-history-card header span,
.cash-insight-card__head > span {
    color: #7464ad;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .13em;
}
.capital-action-card h3,
.capital-log-card h3,
.cash-entry-card h3,
.cash-insight-card h3,
.team-create-card h3,
.employee-create-card h3,
.users-pending-section h3,
.employee-directory-card h3,
.cash-history-card h3 { margin: 3px 0 0; color: #21193f; }
.capital-action-card__month,
.capital-log-card__head > b,
.users-pending-section header > b,
.employee-directory-card header > b,
.cash-history-card header > b {
    padding: 7px 11px;
    border-radius: 999px;
    background: #f0ecff;
    color: #623be0;
    font-size: .76rem;
}
.capital-unified-form,
.cash-entry-form,
.cash-filter-form,
.users-premium-form { display: grid; gap: 14px; }
.capital-unified-form label > span,
.cash-entry-form label > span,
.cash-filter-form label > span,
.users-premium-form label > span { color: #625a7e; font-size: .75rem; font-weight: 700; }
.capital-unified-form select,
.capital-unified-form input,
.capital-unified-form textarea,
.cash-entry-form select,
.cash-entry-form input,
.cash-entry-form textarea,
.cash-filter-form select,
.cash-filter-form input,
.users-premium-form select,
.users-premium-form input {
    width: 100%;
    min-height: 47px;
    border: 1px solid #ddd4fb;
    border-radius: 13px;
    background: #fbfaff;
    color: #27203f;
    outline: none;
}
.capital-unified-form select,
.capital-unified-form input,
.capital-unified-form textarea,
.cash-entry-form select,
.cash-entry-form input,
.cash-entry-form textarea,
.cash-filter-form select,
.cash-filter-form input,
.users-premium-form select,
.users-premium-form input { padding: 11px 13px; }
.capital-money-input,
.cash-money-input,
.users-unit-input { position: relative; display: flex; align-items: center; }
.capital-money-input > span,
.cash-money-input > b { position: absolute; left: 15px; z-index: 1; color: #6239e8; font-size: 1.1rem; }
.capital-money-input input,
.cash-money-input input { padding-left: 40px; font-size: 1.25rem; font-weight: 800; }
.capital-action-preview {
    padding: 11px 13px;
    border-radius: 12px;
    background: #f2efff;
    color: #6c5aa7;
    font-size: .76rem;
}
.capital-unified-form > button,
.cash-entry-form__submit,
.cash-filter-form button,
.users-premium-form button {
    display: flex;
    min-height: 49px;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg,#4c27d8,#7547f2);
    box-shadow: 0 11px 22px rgba(86,48,221,.2);
    color: #fff;
    font-weight: 800;
}
.capital-log-timeline { display: grid; max-height: 480px; overflow: auto; padding-right: 5px; }
.capital-log-entry { position: relative; display: grid; grid-template-columns: 17px minmax(0,1fr) auto; gap: 11px; padding: 3px 0 19px; }
.capital-log-entry::before { position: absolute; top: 16px; bottom: 0; left: 6px; width: 2px; background: #e9e3fb; content: ''; }
.capital-log-entry:last-child::before { display: none; }
.capital-log-entry__dot { z-index: 1; width: 14px; height: 14px; margin-top: 3px; border: 3px solid #d7cdfa; border-radius: 50%; background: #6841e8; }
.capital-log-entry.is-decrease .capital-log-entry__dot { border-color: #ffd8d8; background: #ef6262; }
.capital-log-entry__body > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.capital-log-entry__body time,
.capital-log-entry__body small { color: #8a82a3; font-size: .7rem; }
.capital-log-entry__body p { margin: 4px 0; color: #342852; font-size: .78rem; }
.capital-log-entry__change { color: #2b9b6b; font-size: .82rem; white-space: nowrap; }
.capital-log-entry.is-decrease .capital-log-entry__change { color: #dc5252; }

.cash-admin-hero__total {
    position: relative;
    z-index: 1;
    display: grid;
    min-width: 235px;
    padding: 18px 21px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.11);
    backdrop-filter: blur(12px);
}
.cash-admin-hero__total small { color: rgba(255,255,255,.65); }
.cash-admin-hero__total strong { margin: 3px 0; font-size: 2rem; }
.cash-admin-hero__total span { color: #caff43; font-size: .73rem; }
.cash-admin-layout { grid-template-columns: minmax(0,1.25fr) minmax(285px,.75fr); margin-bottom: 18px; }
.cash-entry-card > header i,
.team-create-card > header i,
.employee-create-card > header i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: #eee9ff;
    color: #633be3;
    font-style: normal;
    font-weight: 800;
}
.cash-entry-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.cash-entry-form__full { grid-column: 1/-1; }
.cash-insight-card { background: linear-gradient(160deg,#faf9ff,#f1edff); }
.cash-insight-card__head p,
.team-create-card > p,
.users-pending-section header p { margin: 4px 0 20px; color: #857d9d; font-size: .78rem; }
.cash-filter-form button { justify-content: center; }
.cash-filter-form > a { color: #6e45e8; font-size: .76rem; font-weight: 700; text-align: center; }
.cash-insight-card__note { display: flex; gap: 10px; margin-top: 18px; padding: 13px; border-radius: 14px; background: #fff; color: #756d8c; font-size: .72rem; }
.cash-insight-card__note span { display: grid; flex: 0 0 24px; height: 24px; place-items: center; border-radius: 50%; background: #e8e1ff; color: #6038df; font-weight: 800; }
.cash-insight-card__note p { margin: 0; }
.cash-history-card,
.users-pending-section,
.employee-directory-card { padding: 24px; }
.cash-history-table table { min-width: 790px; }
.cash-history-table thead th { background: #f0ebff; }
.cash-team-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #eee9ff; color: #633ce0; font-size: .72rem; font-weight: 700; }
.cash-amount-cell { color: #5531d4; font-weight: 800; }

.users-admin-hero { align-items: stretch; }
.users-admin-hero__copy { align-self: center; max-width: 500px; }
.users-admin-hero__metrics { position: relative; z-index: 1; display: grid; min-width: 520px; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.users-admin-hero__metrics article { display: grid; align-content: center; padding: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(255,255,255,.09); }
.users-admin-hero__metrics article.is-alert { background: rgba(202,255,67,.14); }
.users-admin-hero__metrics small,
.users-admin-hero__metrics span { color: rgba(255,255,255,.65); font-size: .65rem; }
.users-admin-hero__metrics strong { margin: 3px 0; font-size: 1.55rem; }
.users-create-layout { grid-template-columns: minmax(270px,.68fr) minmax(0,1.32fr); margin-bottom: 18px; }
.users-premium-form--employee { grid-template-columns: repeat(3,minmax(0,1fr)); }
.users-premium-form .is-wide { grid-column: span 2; }
.users-premium-form__action { display: flex; align-items: end; }
.users-premium-form__action button { width: 100%; }
.users-unit-input input { padding-right: 58px; }
.users-unit-input b { position: absolute; right: 14px; color: #7c7198; font-size: .72rem; }
.users-pending-section { margin-bottom: 18px; }
.users-pending-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.users-pending-card { box-shadow: none; }
.users-empty-state { grid-column: 1/-1; display: grid; justify-items: center; padding: 38px; border: 1px dashed #d9cff7; border-radius: 18px; color: #81779d; text-align: center; }
.users-empty-state > span { display: grid; width: 42px; height: 42px; margin-bottom: 8px; place-items: center; border-radius: 50%; background: #e4f8ed; color: #249b60; font-weight: 800; }
.users-empty-state strong { color: #31274d; }
.users-empty-state p { margin: 3px 0 0; font-size: .75rem; }
.employee-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.employee-profile-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 16px; border: 1px solid #e5def8; border-radius: 18px; background: linear-gradient(150deg,#fff,#fbfaff); }
.employee-profile-card__avatar { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; background: linear-gradient(135deg,#5430df,#8054f6); color: #fff; font-weight: 800; }
.employee-profile-card__main { min-width: 0; }
.employee-profile-card__main strong,
.employee-profile-card__main span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-profile-card__main strong { color: #2a2145; }
.employee-profile-card__main span { margin-top: 2px; color: #8a819e; font-size: .7rem; }
.employee-profile-card__line { padding: 5px 7px; border-radius: 999px; background: #f3f0f8; color: #8b8498; font-size: .6rem; font-weight: 700; }
.employee-profile-card__line.is-connected { background: #e5f9ed; color: #21945b; }
.employee-profile-card__rates { display: flex; grid-column: 2/-1; gap: 8px; border-top: 1px solid #eee9f8; padding-top: 9px; }
.employee-profile-card__rates span { color: #8b82a0; font-size: .65rem; }
.employee-profile-card__rates b { color: #4d3f74; }

@media (max-width: 1180px) {
    .capital-manage-hero,
    .cash-admin-hero,
    .users-admin-hero { align-items: stretch; flex-direction: column; }
    .capital-manage-filter,
    .users-admin-hero__metrics { min-width: 0; }
    .employee-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .capital-manage-layout,
    .cash-admin-layout,
    .users-create-layout { grid-template-columns: 1fr; }
    .users-pending-list { grid-template-columns: 1fr; }
    .users-premium-form--employee { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .capital-manage-hero,
    .cash-admin-hero,
    .users-admin-hero { padding: 23px 20px; border-radius: 22px; }
    .capital-manage-filter { grid-template-columns: 1fr; }
    .capital-manage-summary { grid-template-columns: 1fr; }
    .cash-admin-hero__total { min-width: 0; }
    .users-admin-hero__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cash-entry-form__grid,
    .users-premium-form--employee,
    .employee-directory-grid { grid-template-columns: 1fr; }
    .users-premium-form .is-wide { grid-column: auto; }
    .capital-action-card,
    .capital-log-card,
    .cash-entry-card,
    .cash-insight-card,
    .cash-history-card,
    .team-create-card,
    .employee-create-card,
    .users-pending-section,
    .employee-directory-card { padding: 18px; border-radius: 20px; }
}

/* Premium per-team performance analytics */
.nexora-team-grid--analytics {
    align-items: stretch;
    gap: 16px;
}
.nexora-team-card--analytics {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border-color: #e4dcfb;
    background:
        radial-gradient(circle at 100% 0,rgba(105,66,229,.12),transparent 34%),
        linear-gradient(155deg,#fff 0%,#fbf9ff 66%,#f5f1ff 100%);
    box-shadow: 0 15px 34px rgba(65,45,139,.08);
}
.nexora-team-card--analytics::before {
    position: absolute;
    top: 0;
    right: 20px;
    left: 20px;
    height: 3px;
    border-radius: 0 0 5px 5px;
    background: linear-gradient(90deg,#5d36dd,#8b66f4,#b2ec49);
    content: '';
}
.nexora-team-card--analytics:nth-child(3n+2)::before {
    background: linear-gradient(90deg,#3e7ed9,#59a5ef,#60d7b2);
}
.nexora-team-card--analytics:nth-child(3n+3)::before {
    background: linear-gradient(90deg,#e38b2d,#f2b84d,#ecdf57);
}
.nexora-team-card--analytics:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 40px rgba(65,45,139,.13);
}
.nexora-team-card--analytics .nexora-team-card__head {
    grid-template-columns: 42px minmax(0,1fr) auto;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee9f8;
}
.nexora-team-card--analytics .nexora-team-card__avatar {
    width: 42px;
    height: 42px;
    box-shadow: 0 8px 17px rgba(91,52,218,.2);
}
.nexora-team-card--analytics .nexora-team-card__status {
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(104,65,226,.08);
    color: #7257b8;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.nexora-team-card__performance {
    display: grid;
    grid-template-columns: 112px minmax(0,1fr);
    align-items: center;
    gap: 16px;
    padding: 19px 0 17px;
}
.nexora-team-card__ring {
    display: grid;
    width: 108px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#6c43e5 0 var(--team-progress),#eae5f4 var(--team-progress) 100%);
    box-shadow: 0 13px 27px rgba(91,55,199,.16);
}
.nexora-team-card__ring > div {
    display: grid;
    width: 82px;
    aspect-ratio: 1;
    place-items: center;
    align-content: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(103,70,196,.06);
}
.nexora-team-card__ring strong,
.nexora-team-card__ring span {
    display: block;
    text-align: center;
}
.nexora-team-card__ring strong {
    color: #2b2247;
    font-size: 1.08rem;
    letter-spacing: -.04em;
    line-height: 1;
}
.nexora-team-card__ring span {
    margin-top: 5px;
    color: #9289a6;
    font-size: .56rem;
}
.nexora-team-card__collected {
    min-width: 0;
}
.nexora-team-card__collected > span,
.nexora-team-card__collected > strong,
.nexora-team-card__collected > small {
    display: block;
}
.nexora-team-card__collected > span {
    color: #817795;
    font-size: .64rem;
    font-weight: 600;
}
.nexora-team-card__collected > strong {
    margin: 4px 0 2px;
    overflow: hidden;
    color: #241a43;
    font-size: 1.65rem;
    letter-spacing: -.04em;
    text-overflow: ellipsis;
}
.nexora-team-card__collected > small {
    color: #9b93aa;
    font-size: .57rem;
}
.nexora-team-card__metrics {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}
.nexora-team-card__metrics > div {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 11px 12px 11px 15px;
    border: 1px solid #eee9f8;
    border-radius: 14px;
    background: rgba(255,255,255,.78);
}
.nexora-team-card__metrics > div::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #7650e7;
    content: '';
}
.nexora-team-card__metrics .is-bad::before { background: #ed6a6a; }
.nexora-team-card__metrics .is-recovered::before { background: #30b879; }
.nexora-team-card__metrics .is-expense::before { background: #eca33b; }
.nexora-team-card__metrics span,
.nexora-team-card__metrics strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexora-team-card__metrics span {
    color: #8d849f;
    font-size: .56rem;
}
.nexora-team-card__metrics strong {
    margin-top: 3px;
    color: #382e55;
    font-size: .78rem;
}
.nexora-team-card__foot--premium {
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid #eee9f8;
}
.nexora-team-card__foot--premium span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.nexora-team-card__foot--premium b {
    color: #5d3bd3;
    font-weight: 800;
}
@media (max-width: 1350px) {
    .nexora-team-grid--analytics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 760px) {
    .nexora-team-grid--analytics {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 420px) {
    .nexora-team-card__performance {
        grid-template-columns: 94px minmax(0,1fr);
        gap: 12px;
    }
    .nexora-team-card__ring {
        width: 92px;
    }
    .nexora-team-card__ring > div {
        width: 70px;
    }
    .nexora-team-card__metrics {
        grid-template-columns: 1fr;
    }
}

/* Cash issue modal workspace and edit history */
.cash-admin-hero__actions {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    gap: 10px;
}
.cash-admin-hero__actions > button {
    min-width: 155px;
    padding: 0 18px;
    border: 0;
    border-radius: 18px;
    background: #caff43;
    color: #2e1e72;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}
.cash-admin-overview {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 13px;
    margin-bottom: 16px;
}
.cash-admin-overview article {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 91px;
    padding: 18px;
    border: 1px solid #e5def8;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 11px 28px rgba(49,35,109,.06);
}
.cash-admin-overview i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: #eee9ff;
    color: #6038df;
    font-style: normal;
    font-weight: 800;
}
.cash-admin-overview .is-edited i { background: #fff0df; color: #ca7418; }
.cash-admin-overview small,
.cash-admin-overview strong { display: block; }
.cash-admin-overview small { color: #837a9a; font-size: .7rem; }
.cash-admin-overview strong { margin-top: 2px; color: #251c43; font-size: 1.35rem; }
.cash-filter-card {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 17px;
    padding: 19px 22px;
    border: 1px solid #e3dcf8;
    border-radius: 21px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 12px 30px rgba(48,34,111,.06);
}
.cash-filter-card > div > span {
    color: #7460aa;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .13em;
}
.cash-filter-card h3 { margin: 3px 0 0; color: #241c40; }
.cash-filter-form--inline {
    display: flex;
    align-items: end;
    gap: 9px;
}
.cash-filter-form--inline label { min-width: 155px; }
.cash-filter-form--inline button { min-width: 120px; }
.cash-filter-form--inline > a { padding: 0 7px 12px; white-space: nowrap; }
.cash-history-action {
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid #dacff8;
    border-radius: 9px;
    background: #f6f3ff;
    color: #6239dd;
    font-family: inherit;
    font-size: .68rem;
    font-weight: 800;
    cursor: pointer;
}
.cash-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 15px;
}
.cash-modal-actions > button {
    min-height: 43px;
    padding: 0 17px;
    border: 1px solid #ddd5f2;
    border-radius: 11px;
    background: #fff;
    color: #746a88;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}
.cash-modal-actions .cash-entry-form__submit {
    border: 0;
    background: linear-gradient(135deg,#4d28d7,#7548ef);
    color: #fff;
}
.cash-history-modal__employee {
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 11px;
    background: #f0ecff;
    color: #5e3bd2;
    font-size: .75rem;
    font-weight: 700;
}
.cash-history-modal__log {
    max-height: 340px;
    overflow: auto;
    margin: 0;
    padding: 15px;
    border: 1px solid #e5def7;
    border-radius: 13px;
    background: #faf9fd;
    color: #4a405e;
    font: 400 .73rem/1.75 'Prompt',sans-serif;
    white-space: pre-wrap;
}
@media (max-width: 900px) {
    .cash-filter-card { align-items: stretch; flex-direction: column; }
    .cash-filter-form--inline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cash-filter-form--inline label { min-width: 0; }
}
@media (max-width: 700px) {
    .cash-admin-hero__actions { flex-direction: column; }
    .cash-admin-hero__actions > button { min-height: 47px; }
    .cash-admin-overview { grid-template-columns: 1fr; }
    .cash-filter-form--inline { grid-template-columns: 1fr; }
    .cash-filter-form--inline > a { padding: 7px; text-align: center; }
}

/* Collapsible Admin tree menu */
.admin-nav__group-label {
    width: 100%;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    text-align: left;
    cursor: pointer;
}
.admin-nav__chevron {
    margin-left: auto;
    color: rgba(255,255,255,.6);
    font-size: 1.2rem;
    transition: transform .2s ease;
}
.admin-nav__group.is-open .admin-nav__chevron {
    transform: rotate(90deg);
}
.admin-nav__subitems[hidden] {
    display: none;
}

/* Employee and team datatables */
.users-admin-hero--table {
    margin-bottom: 18px;
}
.users-data-card {
    min-width: 0;
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid #e3dcfa;
    border-radius: 25px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 42px rgba(48,34,111,.08);
}
.users-data-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}
.users-data-card__head > div > span {
    color: #765fab;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
}
.users-data-card__head h3 {
    margin: 4px 0 2px;
    color: #21193f;
    font-size: 1.25rem;
}
.users-data-card__head p {
    margin: 0;
    color: #88809c;
    font-size: .75rem;
}
.users-primary-action,
.users-secondary-action {
    min-height: 44px;
    padding: 0 17px;
    border: 0;
    border-radius: 13px;
    font-family: inherit;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}
.users-primary-action {
    background: linear-gradient(135deg,#4d27d8,#7547f2);
    box-shadow: 0 10px 22px rgba(83,45,215,.2);
    color: #fff;
}
.users-secondary-action {
    border: 1px solid #d9cff8;
    background: #f4f1ff;
    color: #5c35d7;
}
.users-table-toolbar {
    display: grid;
    grid-template-columns: minmax(260px,1fr) repeat(3,minmax(130px,auto));
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 13px;
    border-radius: 17px;
    background: #f7f5fc;
}
.users-table-toolbar label {
    display: grid;
    gap: 5px;
}
.users-table-toolbar label > span {
    color: #7c7395;
    font-size: .68rem;
    font-weight: 700;
}
.users-table-toolbar input,
.users-table-toolbar select {
    width: 100%;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #ddd5f5;
    border-radius: 11px;
    background: #fff;
    color: #2c2444;
    font-family: inherit;
    outline: none;
}
.users-table-search {
    position: relative;
}
.users-table-search > span {
    position: absolute;
    z-index: 1;
    bottom: 9px;
    left: 12px;
    color: #6a45df !important;
    font-size: 1rem !important;
}
.users-table-search input {
    padding-left: 36px;
}
.users-table-wrap {
    overflow: auto;
    border: 1px solid #ebe5fa;
    border-radius: 17px;
    scrollbar-color: #bcaef0 #f2effb;
    scrollbar-width: thin;
}
.users-datatable {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
}
.users-datatable th,
.users-datatable td {
    padding: 13px 14px;
    border-bottom: 1px solid #ede8f8;
    color: #332b4b;
    font-size: .76rem;
    vertical-align: middle;
}
.users-datatable th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eee9ff;
    color: #50426f;
    font-size: .7rem;
    white-space: nowrap;
}
.users-datatable tbody tr:last-child td {
    border-bottom: 0;
}
.users-datatable tbody tr:hover td {
    background: #fbfaff;
}
.users-datatable tr[hidden] {
    display: none;
}
.users-person-cell,
.users-team-name {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 190px;
}
.users-person-cell > img,
.users-person-cell > i,
.users-team-name > i {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    object-fit: cover;
    background: linear-gradient(135deg,#5631df,#8055f5);
    color: #fff;
    font-style: normal;
    font-weight: 800;
}
.users-person-cell strong,
.users-person-cell span {
    display: block;
}
.users-person-cell span {
    margin-top: 2px;
    color: #9087a6;
    font-size: .65rem;
}
.users-team-badge,
.users-line-badge,
.users-status-badge,
.users-member-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f1eef7;
    color: #837a96;
    font-size: .64rem;
    font-weight: 800;
    white-space: nowrap;
}
.users-team-badge { background: #eee9ff; color: #6138df; }
.users-line-badge.is-connected { background: #e7f9ed; color: #24945c; }
.users-status-badge.is-active { background: #e5f9ed; color: #218b58; }
.users-status-badge.is-inactive { background: #f3eff7; color: #877d96; }
.users-status-badge.is-pending { background: #fff1df; color: #c47519; }
.users-member-count { min-width: 60px; background: #eee9ff; color: #5f38d8; }
.users-muted { color: #9a92aa; }
.users-row-action {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #d9cff8;
    border-radius: 10px;
    background: #fff;
    color: #6038dd;
    font-family: inherit;
    font-size: .7rem;
    font-weight: 800;
    cursor: pointer;
}
.users-row-action.is-approve {
    border-color: transparent;
    background: linear-gradient(135deg,#4f2ad8,#7448ee);
    color: #fff;
}
.users-table-empty {
    padding: 34px;
    color: #8d849f;
    text-align: center;
}
.users-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    color: #877e9b;
    font-size: .7rem;
}
.users-pagination {
    display: flex;
    gap: 5px;
}
.users-pagination button {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 1px solid #ded6f5;
    border-radius: 9px;
    background: #fff;
    color: #6b5b91;
    font-family: inherit;
    cursor: pointer;
}
.users-pagination button.is-active {
    border-color: #6740e4;
    background: #6740e4;
    color: #fff;
}
.users-team-table {
    min-width: 720px;
}
.users-team-table td:first-child {
    width: 25%;
}

.users-modal[hidden] { display: none; }
.users-modal {
    position: fixed;
    z-index: 12000;
    inset: 0;
    display: grid;
    overflow: auto;
    place-items: center;
    padding: 24px;
}
.users-modal__backdrop {
    position: fixed;
    z-index: -1;
    inset: 0;
    border: 0;
    background: rgba(25,17,55,.65);
    backdrop-filter: blur(8px);
}
.users-modal__dialog {
    width: min(100%,500px);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(23,15,56,.35);
}
.users-modal__dialog--wide {
    width: min(100%,760px);
}
.users-modal__dialog > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 19px;
}
.users-modal__dialog > header span {
    color: #725aaa;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
}
.users-modal__dialog > header h3 {
    margin: 3px 0 0;
    color: #251c42;
}
.users-modal__dialog > header button {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #e3dcf8;
    border-radius: 50%;
    background: #f8f6ff;
    color: #5d3bd1;
    font-size: 1.2rem;
    cursor: pointer;
}
.users-modal-form {
    display: grid;
    gap: 13px;
}
.users-modal-form--grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.users-modal-form label {
    display: grid;
    gap: 6px;
}
.users-modal-form label > span {
    color: #665d7e;
    font-size: .72rem;
    font-weight: 700;
}
.users-modal-form label > small,
.admin-form-grid label > small {
    color: #8b829d;
    font-size: .64rem;
    line-height: 1.45;
}
.users-modal-form input,
.users-modal-form select {
    width: 100%;
    min-height: 45px;
    padding: 0 12px;
    border: 1px solid #ddd5f4;
    border-radius: 12px;
    background: #fbfaff;
    color: #2d2543;
    font-family: inherit;
    outline: none;
}
.users-modal-form .is-wide {
    grid-column: 1/-1;
}
.users-modal-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 7px;
}
.users-modal-form footer button {
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg,#4e28d7,#7547ef);
    color: #fff;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}
.users-modal-form footer button.is-cancel {
    border: 1px solid #ddd5ef;
    background: #fff;
    color: #756b8c;
}
.users-modal-open { overflow: hidden; }
.users-approve-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 17px;
    padding: 13px;
    border-radius: 15px;
    background: #f2efff;
}
.users-approve-profile > div {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    overflow: hidden;
    place-items: center;
    border-radius: 14px;
    background: #6740e5;
    color: #fff;
    font-weight: 800;
}
.users-approve-profile img { width: 100%; height: 100%; object-fit: cover; }
.users-approve-profile p { margin: 0; }
.users-approve-profile strong,
.users-approve-profile span { display: block; }
.users-approve-profile span { margin-top: 2px; color: #887da2; font-size: .68rem; }
.users-reject-form {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #eee8f8;
    text-align: right;
}
.users-reject-form button {
    border: 0;
    background: transparent;
    color: #d04f59;
    font-family: inherit;
    font-size: .7rem;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 1000px) {
    .users-table-toolbar {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .users-table-search {
        grid-column: 1/-1;
    }
}
@media (max-width: 700px) {
    .users-data-card { padding: 17px; border-radius: 20px; }
    .users-data-card__head { align-items: stretch; flex-direction: column; }
    .users-primary-action,
    .users-secondary-action { width: 100%; }
    .users-table-toolbar { grid-template-columns: 1fr; }
    .users-table-search { grid-column: auto; }
    .users-table-footer { align-items: flex-start; flex-direction: column; }
    .users-modal { padding: 12px; place-items: end center; }
    .users-modal__dialog { width: 100%; max-height: calc(100vh - 24px); padding: 19px; border-radius: 24px 24px 16px 16px; }
    .users-modal-form--grid { grid-template-columns: 1fr; }
    .users-modal-form .is-wide { grid-column: auto; }
}

/* Admin workspace: unified purple theme, contract management, and responsive drawer. */
.admin-body {
    --admin-purple: #6038e8;
    --admin-purple-dark: #4724bd;
    --admin-purple-soft: #f3efff;
    --admin-line: #ddd3ff;
    --admin-ink: #242044;
    --admin-muted: #746d96;
}
.admin-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 40;
}
.admin-sidebar__close,
.admin-menu-toggle,
.admin-sidebar-backdrop {
    display: none;
}
.admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.admin-topbar__main,
.admin-topbar__user {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.admin-topbar__user {
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid var(--admin-line);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 8px 22px rgba(75, 51, 151, 0.08);
}
.admin-topbar__avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--admin-purple), #7955f5);
    color: #fff;
    font-weight: 800;
}
.admin-topbar__user strong,
.admin-topbar__user span {
    display: block;
    white-space: nowrap;
}
.admin-topbar__user strong {
    color: var(--admin-ink);
    font-size: 0.86rem;
}
.admin-topbar__user span {
    margin-top: 2px;
    color: var(--admin-muted);
    font-size: 0.72rem;
}
.admin-body .admin-card-soft,
.admin-body .card.admin-card-soft {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 247, 255, 0.98));
    border-color: rgba(111, 76, 232, 0.18);
    box-shadow: 0 18px 42px rgba(75, 51, 151, 0.1);
}
.admin-body .btn-primary {
    background: linear-gradient(135deg, var(--admin-purple), #7754f4);
    border-color: var(--admin-purple);
    color: #fff;
}
.admin-body input,
.admin-body select,
.admin-body textarea {
    border-color: var(--admin-line);
    background: #fff;
    color: var(--admin-ink);
}
.admin-body input:focus,
.admin-body select:focus,
.admin-body textarea:focus {
    border-color: #8d72ef;
    box-shadow: 0 0 0 3px rgba(96, 56, 232, 0.1);
    outline: none;
}
.admin-body table th {
    background: #eee8ff;
    color: #40346f;
}
.admin-body table td {
    border-color: #ece6ff;
}
.admin-customer-list__item.is-active,
.admin-contract-list__item.is-active {
    border-color: var(--admin-purple);
    background: linear-gradient(135deg, #eee7ff, #faf8ff);
    box-shadow: 0 12px 26px rgba(96, 56, 232, 0.16);
}
.admin-customer-list__item.is-active,
.admin-contract-list__item.is-active {
    position: relative;
    padding-left: 20px;
}
.admin-customer-list__item.is-active::before,
.admin-contract-list__item.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 5px;
    border-radius: 0 8px 8px 0;
    background: var(--admin-purple);
}
.admin-loan-layout {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.admin-loan-list-card,
.admin-loan-detail-card {
    min-width: 0;
}
.admin-contract-list {
    display: grid;
    gap: 10px;
    max-height: calc(100vh - 250px);
    overflow-y: auto;
    padding: 2px 5px 2px 2px;
}
.admin-contract-list__item {
    display: grid;
    gap: 7px;
    padding: 14px;
    border: 1px solid #e7e0fb;
    border-radius: 16px;
    background: #fff;
}
.admin-contract-list__item,
.admin-customer-list__item {
    width: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.admin-contract-list__item:disabled,
.admin-customer-list__item:disabled {
    opacity: 0.65;
    cursor: wait;
}
[data-ajax-detail] {
    transition: opacity 0.18s ease, transform 0.18s ease, filter 0.18s ease;
}
[data-ajax-master-detail].is-ajax-loading [data-ajax-detail] {
    opacity: 0.55;
    filter: saturate(0.75);
    pointer-events: none;
}
[data-ajax-select].is-loading {
    position: relative;
    border-color: #9d84ef;
}
[data-ajax-select].is-loading::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(96, 56, 232, 0.2);
    border-top-color: #6038e8;
    border-radius: 50%;
    animation: admin-ajax-spin 0.65s linear infinite;
}
[data-ajax-detail].is-ajax-entering {
    opacity: 0;
    transform: translateY(5px);
}
@keyframes admin-ajax-spin {
    to { transform: rotate(360deg); }
}
.admin-contract-list__head,
.admin-contract-list__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.admin-contract-list__head strong {
    color: var(--admin-ink);
}
.admin-contract-list__head span,
.admin-contract-list__meta {
    color: var(--admin-muted);
    font-size: 0.75rem;
}
.admin-contract-list__name {
    color: #514875;
    font-weight: 700;
}
.admin-contract-list__nickname {
    color: var(--admin-muted);
    font-size: 0.82rem;
}
.admin-contract-subtitle {
    margin-top: 6px;
    color: var(--admin-muted);
    font-size: 0.85rem;
}
.admin-section-head--wrap {
    flex-wrap: wrap;
}
.admin-loan-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}
.admin-loan-kpi-grid > div {
    padding: 14px;
    border: 1px solid #e8e1ff;
    border-radius: 16px;
    background: #fff;
}
.admin-loan-kpi-grid span {
    display: block;
    margin-bottom: 7px;
    color: var(--admin-muted);
    font-size: 0.75rem;
}
.admin-loan-kpi-grid strong {
    color: var(--admin-ink);
}
.admin-detail-section {
    margin-top: 20px;
}
.admin-detail-section h4 {
    margin: 0;
    color: var(--admin-ink);
}
.admin-gallery--contract {
    grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
}
button.admin-gallery__item {
    padding: 0;
    cursor: pointer;
}
.admin-edit-panel {
    margin-top: 20px;
    border: 1px solid #ddd3ff;
    border-radius: 18px;
    background: #f8f5ff;
    overflow: hidden;
}
.admin-edit-panel > summary {
    padding: 16px 18px;
    color: var(--admin-purple-dark);
    font-weight: 800;
    cursor: pointer;
}
.admin-edit-panel > form {
    padding: 0 18px 18px;
}
.admin-form-warning {
    padding: 12px 14px;
    border: 1px solid #f1c36d;
    border-radius: 14px;
    background: #fff7df;
    color: #8a5a00;
    line-height: 1.55;
}
.admin-section-divider {
    padding-top: 8px;
    border-top: 1px solid #e4dcff;
    color: var(--admin-purple-dark);
    font-weight: 800;
}
.admin-section-divider--actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.admin-section-divider--actions .btn {
    padding: 8px 12px;
}
.admin-payment-detail-table {
    min-width: 760px;
}
.admin-payment-detail-table .is-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.admin-report-table .is-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.admin-table-swipe-hint {
    display: none;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin: -2px 2px 9px;
    color: #81799b;
    font-size: .66rem;
    font-weight: 600;
}
.admin-table-swipe-hint span { color:#6841e5;font-size:.85rem; }
.admin-report-scroll {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: auto;
    scrollbar-color: #8a68ef #ece7fa;
}
.admin-report-table-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.admin-report-page { display:block;width:100%;min-width:0;max-width:100%;overflow-x:hidden; }
.admin-report-table-card .admin-section-head,
.admin-report-table-card .admin-table-swipe-hint,
.admin-report-table-card .admin-report-scroll { min-width:0;max-width:100%; }
.admin-report-scroll::-webkit-scrollbar { height:12px; }
.admin-report-scroll::-webkit-scrollbar-track { border-radius:999px;background:#ece7fa; }
.admin-report-scroll::-webkit-scrollbar-thumb { border:3px solid #ece7fa;border-radius:999px;background:linear-gradient(90deg,#6540df,#9172ef); }
.admin-report-scroll:focus { outline:3px solid rgba(104,65,229,.12);outline-offset:3px; }
.admin-report-table--scroll { min-width:1420px;table-layout:auto; }
.admin-report-table--scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    height: 54px;
    padding: 10px 12px;
    white-space: nowrap;
    vertical-align: middle;
    line-height: 1.25;
}
.admin-report-table--scroll tbody td { padding:11px 12px;white-space:nowrap; }
.admin-report-table--scroll th:nth-child(1),.admin-report-table--scroll td:nth-child(1) { min-width:108px; }
.admin-report-table--scroll th:nth-child(2),.admin-report-table--scroll td:nth-child(2) { min-width:78px; }
.admin-report-table--scroll th:nth-child(3),.admin-report-table--scroll td:nth-child(3) { min-width:120px; }
.admin-report-table--scroll .admin-submission-statuses { flex-wrap:nowrap; }
.capital-report-filter {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    margin-bottom:18px;
    padding:22px 24px;
    overflow:hidden;
    border:1px solid rgba(105,73,219,.14);
    border-radius:26px;
    background:linear-gradient(140deg,#fff 0%,#f7f3ff 100%);
    box-shadow:0 18px 40px rgba(68,50,139,.08);
}
.capital-report-filter h3 { margin:5px 0 3px;color:#272142;font-size:1.08rem; }
.capital-report-filter p { margin:0;color:#8e86a2;font-size:.68rem; }
.capital-report-filter form { display:grid;grid-template-columns:minmax(170px,220px) auto;align-items:end;gap:10px; }
.capital-report-filter label > span { display:block;margin:0 0 6px;color:#81799a;font-size:.62rem;font-weight:700; }
.capital-report-filter input { width:100%;height:44px;padding:0 13px;border:1px solid #dcd3f5;border-radius:14px;background:#fff;color:#31294c;font:700 .72rem "Prompt",sans-serif;outline:none; }
.capital-report-filter input:focus { border-color:#7650e9;box-shadow:0 0 0 3px rgba(118,80,233,.1); }
.capital-report-filter button { height:44px;padding:0 19px;border:0;border-radius:14px;background:linear-gradient(135deg,#5932da,#7b53ed);color:#fff;font:700 .72rem "Prompt",sans-serif;box-shadow:0 11px 20px rgba(89,50,218,.2);cursor:pointer; }
.capital-summary-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px; }
.capital-summary-card {
    position:relative;
    min-width:0;
    padding:19px;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(105,72,214,.13);
    border-radius:23px;
    background:linear-gradient(145deg,#fff,#faf8ff);
    box-shadow:0 16px 34px rgba(65,48,130,.08);
}
.capital-summary-card::after { content:"";position:absolute;z-index:-1;width:110px;height:110px;right:-42px;bottom:-55px;border-radius:50%;background:var(--capital-glow,rgba(105,65,229,.08)); }
.capital-summary-card__top { display:flex;align-items:center;gap:9px;color:#7e7693;font-size:.68rem;font-weight:700; }
.capital-summary-card__icon { display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--capital-icon-bg,#eee9ff);color:var(--capital-icon-color,#6540dc);font-size:.85rem;font-weight:900; }
.capital-summary-card > strong { display:block;margin-top:17px;overflow:hidden;color:#241e42;font-size:clamp(1.45rem,2.15vw,2rem);line-height:1;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap; }
.capital-summary-card > small { display:block;margin-top:10px;color:#9a93aa;font-size:.6rem; }
.capital-summary-card--sent { --capital-icon-bg:#e8f8ef;--capital-icon-color:#188b51;--capital-glow:rgba(39,176,102,.1); }
.capital-summary-card--home { --capital-icon-bg:#fff3df;--capital-icon-color:#c37b17;--capital-glow:rgba(221,153,53,.11); }
.capital-summary-card--remaining { --capital-icon-bg:rgba(255,255,255,.16);--capital-icon-color:#d9ff78;--capital-glow:rgba(216,255,117,.13);border-color:rgba(103,69,224,.45);background:linear-gradient(145deg,#5330ce,#7248ec);box-shadow:0 21px 42px rgba(76,43,190,.23); }
.capital-summary-card--remaining .capital-summary-card__top,.capital-summary-card--remaining > strong { color:#fff; }
.capital-summary-card--remaining > small { color:rgba(255,255,255,.68); }
.capital-report-table-card { padding:22px; }
.capital-report-table-card .admin-table-wrap { box-shadow:none; }
@media (max-width: 1100px) {
    .capital-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .admin-table-swipe-hint { display:flex; }
    .capital-report-filter { grid-template-columns:1fr; }
    .capital-report-filter form { justify-self:start; }
}
@media (max-width: 560px) {
    .capital-summary-grid { grid-template-columns:1fr; }
    .capital-report-filter form { width:100%;grid-template-columns:1fr; }
    .capital-report-filter { padding:18px; }
    .capital-report-table-card { padding:16px; }
}

/* Refined mobile login experience */
@media (max-width: 620px) {
    .nexora-login-shell {
        background: #f1edfb;
    }
    .nexora-login {
        min-height: 100dvh;
    }
    .nexora-login__panel {
        position: relative;
        display: block;
        min-height: 100dvh;
        overflow: hidden;
        padding: 0 14px 28px;
        background:
            radial-gradient(circle at 84% 4%,rgba(202,255,67,.16),transparent 17%),
            linear-gradient(180deg,#4821c7 0,#6d3df0 220px,#f2eefc 220px,#f7f5fd 100%);
    }
    .nexora-login__panel::before,
    .nexora-login__panel::after {
        position: absolute;
        border: 1px solid rgba(255,255,255,.13);
        border-radius: 50%;
        content: '';
        pointer-events: none;
    }
    .nexora-login__panel::before {
        top: -82px;
        right: -70px;
        width: 220px;
        height: 220px;
    }
    .nexora-login__panel::after {
        top: 116px;
        left: -85px;
        width: 170px;
        height: 170px;
    }
    .nexora-login__mobile-brand {
        position: relative;
        z-index: 2;
        top: auto;
        left: auto;
        display: flex;
        margin: 0;
        padding: 20px 7px 0;
        color: #fff;
    }
    .nexora-login__mobile-brand .nexora-login__brand-mark {
        width: 45px;
        height: 45px;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: 15px;
        background: rgba(255,255,255,.16);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(36,15,113,.2);
    }
    .nexora-login__mobile-brand > span:last-child strong,
    .nexora-login__mobile-brand > span:last-child small {
        display: block;
    }
    .nexora-login__mobile-brand > span:last-child strong {
        font-size: .96rem;
    }
    .nexora-login__mobile-brand > span:last-child small {
        margin-top: 2px;
        color: rgba(255,255,255,.63);
        font-size: .56rem;
        font-weight: 500;
        letter-spacing: .04em;
    }
    .nexora-login__form-wrap {
        position: relative;
        z-index: 2;
        width: min(100%,440px);
        margin: 42px auto 0;
        padding: 24px 20px 20px;
        border: 1px solid rgba(255,255,255,.75);
        border-radius: 28px;
        background: rgba(255,255,255,.97);
        box-shadow: 0 24px 55px rgba(47,31,105,.18);
    }
    .nexora-login__welcome {
        display: grid;
        grid-template-columns: 43px minmax(0,1fr);
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 12px;
        margin-bottom: 23px;
    }
    .nexora-login__welcome-icon {
        grid-row: 1/3;
        width: 43px;
        height: 43px;
        margin: 0;
        border-radius: 14px;
        box-shadow: 0 10px 21px rgba(91,49,222,.19);
        font-size: 1rem;
    }
    .nexora-login__welcome h2 {
        align-self: end;
        font-size: 1.35rem;
        line-height: 1.2;
        letter-spacing: -.025em;
    }
    .nexora-login__welcome p {
        align-self: start;
        margin: 3px 0 0;
        font-size: .68rem;
    }
    .nexora-login__form {
        gap: 15px;
    }
    .nexora-login__form label > span {
        margin-bottom: 7px;
        font-size: .72rem;
    }
    .nexora-login__input-wrap {
        min-height: 50px;
        padding: 0 13px;
        border-color: #e4def4;
        border-radius: 14px;
        background: #faf9fd;
    }
    .nexora-login__input-wrap input {
        min-height: 48px;
        font-size: .84rem;
    }
    .nexora-login__remember {
        gap: 8px;
    }
    .nexora-login__remember-box {
        width: 18px;
        height: 18px;
    }
    .nexora-login__remember > span:last-child {
        font-size: .66rem;
    }
    .nexora-login__submit {
        min-height: 52px;
        margin-top: 0;
        padding: 0 18px;
        border-radius: 15px;
        font-size: .84rem;
        box-shadow: 0 13px 25px rgba(83,41,210,.23);
    }
    .nexora-login__divider {
        gap: 10px;
        margin: 21px 0 15px;
        font-size: .63rem;
    }
    .nexora-login__line {
        grid-template-columns: 40px minmax(0,1fr) auto;
        gap: 11px;
        padding: 11px 12px;
        border-color: #e1daf3;
        border-radius: 15px;
        background: linear-gradient(135deg,#fff,#f9f7ff);
    }
    .nexora-login__line-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: .57rem;
    }
    .nexora-login__line strong {
        font-size: .74rem;
    }
    .nexora-login__line small {
        margin-top: 2px;
        font-size: .59rem;
    }
    .nexora-login__support {
        margin-top: 18px;
        color: #9b94aa;
        font-size: .59rem;
    }
}
@media (max-width: 370px) {
    .nexora-login__panel {
        padding-inline: 10px;
    }
    .nexora-login__form-wrap {
        margin-top: 32px;
        padding: 20px 16px 17px;
        border-radius: 24px;
    }
    .nexora-login__welcome h2 {
        font-size: 1.2rem;
    }
}

/* Field operations audit -------------------------------------------------- */
.mobile-input-cell input.is-saving-gps {
    border-color: #7957f4;
    background: linear-gradient(90deg, #f7f3ff, #ffffff, #f7f3ff);
    background-size: 220% 100%;
    box-shadow: 0 0 0 3px rgba(105, 66, 232, .11);
    color: #5d3ad7;
    cursor: progress;
    animation: payment-gps-pulse 1.25s linear infinite;
}
.mobile-toolbar__action--button {
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}
.gps-permission-help { color: #4f4965; font-size: .78rem; line-height: 1.65; text-align: left; }
.gps-permission-help > strong { display: block; margin-bottom: 8px; color: #29213f; }
.gps-permission-help ol { margin: 0; padding-left: 21px; }
.gps-permission-help li + li { margin-top: 7px; }
.gps-permission-help p { margin: 12px 0 0; padding: 10px 12px; border-radius: 11px; background: #f3efff; color: #6842dc; }
@keyframes payment-gps-pulse {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

.admin-operations-page {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}
.operations-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
    padding: 30px 34px;
    overflow: hidden;
    border-radius: 27px;
    background:
        radial-gradient(circle at 88% 16%, rgba(205,255,72,.2), transparent 21%),
        linear-gradient(125deg, #382092 0%, #5d31dd 54%, #7648f2 100%);
    box-shadow: 0 22px 50px rgba(66, 37, 162, .2);
    color: #fff;
}
.operations-hero::after {
    position: absolute;
    top: -88px;
    right: 8%;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: '';
}
.operations-hero > * { position: relative; z-index: 1; }
.operations-hero h2 { margin: 4px 0 5px; color: #fff; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.operations-hero p { margin: 0; color: rgba(255,255,255,.76); font-size: .83rem; }
.operations-hero > div:first-child > span {
    color: #cfff47;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .13em;
}
.operations-hero__badge {
    display: grid;
    min-width: 145px;
    padding: 17px 22px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 20px;
    background: rgba(255,255,255,.11);
    box-shadow: inset 0 1px rgba(255,255,255,.13);
    backdrop-filter: blur(8px);
}
.operations-hero__badge strong { font-size: 1.85rem; line-height: 1; }
.operations-hero__badge span { margin-top: 5px; color: rgba(255,255,255,.72); font-size: .68rem; }
.operations-filter { grid-template-columns: repeat(4, minmax(145px, 1fr)) auto; }
.operations-filter .btn { align-self: end; min-height: 46px; }
.operations-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.operations-kpis article {
    position: relative;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 20px;
    overflow: hidden;
    border: 1px solid #e6defa;
    border-radius: 22px;
    background: linear-gradient(145deg, #fff 20%, #faf8ff 100%);
    box-shadow: 0 13px 30px rgba(67, 42, 135, .07);
}
.operations-kpis article::after {
    position: absolute;
    top: -31px;
    right: -28px;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: rgba(107,69,231,.08);
    content: '';
}
.operations-kpis article.is-accent { border-color: #7048eb; background: linear-gradient(135deg, #5430d7, #7549f0); color: #fff; }
.operations-kpis article > span { color: #777093; font-size: .7rem; font-weight: 700; }
.operations-kpis article > strong { font-size: 1.5rem; line-height: 1.15; }
.operations-kpis article > small { color: #9690a8; font-size: .61rem; }
.operations-kpis article.is-accent > span,
.operations-kpis article.is-accent > small { color: rgba(255,255,255,.7); }
.operations-table-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.operations-table-scroll {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-color: #8a6aef #eee9fb;
    scrollbar-width: thin;
}
.operations-table-scroll::-webkit-scrollbar { height: 10px; }
.operations-table-scroll::-webkit-scrollbar-track { border-radius: 10px; background: #eee9fb; }
.operations-table-scroll::-webkit-scrollbar-thumb { border: 2px solid #eee9fb; border-radius: 10px; background: #8061e8; }
.operations-table { width: 100%; min-width: 1550px; border-collapse: separate; border-spacing: 0; }
.operations-table th { white-space: nowrap; }
.operations-table td { vertical-align: middle; }
.operations-table td strong { display: block; }
.operations-table td.is-strong { color: #4f2ccb; font-weight: 800; }
.operations-contract,
.operations-accuracy { display: block; margin-top: 3px; color: #8e87a4; font-size: .61rem; white-space: nowrap; }
.operations-type,
.operations-no-gps {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 800;
    white-space: nowrap;
}
.operations-type--normal { background: #e7f8ef; color: #138655; }
.operations-type--bad_debt { background: #fff0ed; color: #d54a3f; }
.operations-no-gps { background: #f1eef8; color: #8a839e; }
.operations-state {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 800;
    white-space: nowrap;
}
.operations-state--collected { background: #e3f8ec; color: #118453; }
.operations-state--pending { background: #fff1e4; color: #cf6716; }
.operations-state--cut { background: #f0ebff; color: #6540d8; }
.operations-map-button {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 5px 11px;
    border: 1px solid #d6caf9;
    border-radius: 10px;
    background: #f6f2ff;
    color: #5d38d6;
    font-size: .66rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.operations-map-button::before { margin-right: 5px; content: '\1F4CD'; }
.operations-map-button:hover { border-color: #6c46e4; background: #6942e5; color: #fff; }
.operations-history-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 5px 12px;
    border: 1px solid #6b43e6;
    border-radius: 10px;
    background: #fff;
    color: #5d37d6;
    font-size: .66rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.operations-history-button:hover { background: #633ce0; color: #fff; }
.operations-history-modal { z-index: 12020; }
.operations-history-modal .worksheet-modal-card { width: min(680px, calc(100vw - 30px)); max-height: min(820px, calc(100dvh - 34px)); overflow-y: auto; }
.operations-history-modal .worksheet-history-card { overflow-x: auto; overscroll-behavior-x: contain; }
.operations-history-modal .worksheet-history-table { min-width: 690px; }

@media (max-width: 1100px) {
    .operations-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .operations-filter .btn { width: 100%; }
    .operations-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .operations-hero { align-items: stretch; flex-direction: column; padding: 24px; }
    .operations-hero__badge { min-width: 0; }
    .operations-filter,
    .operations-kpis { grid-template-columns: 1fr; }
    .operations-table-card .admin-section-head { align-items: flex-start; flex-direction: column; }
}

/* Premium spreadsheet-style customer and contract workspaces */
.records-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 20px;
    padding: 28px 30px;
    overflow: hidden;
    border-radius: 27px;
    background: linear-gradient(128deg,#2c1a75 0%,#5630d9 56%,#7548f2 100%);
    box-shadow: 0 22px 50px rgba(66,38,175,.22);
    color: #fff;
}
.records-hero::after { position:absolute;right:-65px;bottom:-110px;width:270px;height:270px;border:1px solid rgba(255,255,255,.15);border-radius:50%;content:''; }
.records-hero > div { position:relative;z-index:1; }
.records-hero > div:first-child > span { color:#d7ff73;font-size:.66rem;font-weight:900;letter-spacing:.15em; }
.records-hero h2 { margin:6px 0 4px;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.04em; }
.records-hero p { margin:0;color:rgba(255,255,255,.7);font-size:.78rem; }
.records-hero__actions { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 13px;min-width:220px;padding:15px 17px;border:1px solid rgba(255,255,255,.19);border-radius:19px;background:rgba(255,255,255,.11);box-shadow:inset 0 1px rgba(255,255,255,.12); }
.records-hero__actions strong { grid-row:1/3;font-size:2rem;line-height:1; }
.records-hero__actions span { color:rgba(255,255,255,.67);font-size:.68rem; }
.records-hero__actions .users-primary-action { grid-column:1/-1;margin-top:10px;background:#fff;color:#5530d2;box-shadow:0 10px 24px rgba(24,12,76,.2); }
.admin-records-page { display:block;width:100%;min-width:0;max-width:100%;overflow-x:hidden; }
.admin-records-page > [data-ajax-master-detail],
.records-table-card,
.records-table-card .users-data-card__head,
.records-table-card .records-table-toolbar,
.records-table-card .records-swipe-hint,
.records-table-card .records-table-scroll { min-width:0;max-width:100%; }
.records-table-card { width:100%;min-width:0;margin-bottom:20px;overflow:hidden; }
.records-table-toolbar { grid-template-columns:minmax(260px,1fr) repeat(3,minmax(125px,auto)); }
.records-table-toolbar--loans { grid-template-columns:minmax(230px,1fr) repeat(3,minmax(115px,auto)); }
.records-table-toolbar--loans label:nth-last-of-type(-n+2) { min-width:145px; }
.records-swipe-hint { display:none;margin:0 0 9px;color:#786b99;font-size:.68rem;font-weight:700; }
.records-table-scroll { width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#ad9ae9 #f1edfb; }
.records-table-scroll::-webkit-scrollbar { height:11px; }
.records-table-scroll::-webkit-scrollbar-track { border-radius:999px;background:#f1edfb; }
.records-table-scroll::-webkit-scrollbar-thumb { border:2px solid #f1edfb;border-radius:999px;background:linear-gradient(90deg,#8a6be5,#5e39d7); }
.records-datatable--customers { min-width:1320px; }
.records-datatable--loans { min-width:1980px; }
.records-datatable td { white-space:nowrap; }
.records-datatable--loans td:nth-child(2) { max-width:210px;overflow:hidden;text-overflow:ellipsis; }
.records-datatable .num { text-align:right;font-variant-numeric:tabular-nums; }
.records-datatable .is-positive { color:#138952;font-weight:800; }
.records-datatable .is-strong { color:#522cd1;font-weight:900; }
.records-datatable .is-overdue { color:#d45448;font-weight:900; }
.records-cell-truncate { max-width:210px;overflow:hidden;text-overflow:ellipsis; }
.records-row-actions { display:flex;gap:6px; }
.records-row-actions .users-row-action.is-edit { border-color:#6540df;background:#6540df;color:#fff; }
.records-row-actions .users-row-action.is-active { box-shadow:0 0 0 3px rgba(99,61,224,.13); }
.records-status { display:inline-flex;min-height:26px;align-items:center;padding:4px 9px;border-radius:999px;background:#eeeaf7;color:#74698b;font-size:.64rem;font-weight:900; }
.records-status--active { background:#e7f8ed;color:#198954; }
.records-status--bad_debt { background:#fff0ed;color:#d45245; }
.records-status--closed { background:#e9f3ff;color:#3179b8; }
.records-status--refinanced { background:#f1ebff;color:#6840d5; }
.records-status-manual-card { display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:17px 18px;border:1px solid #bfe8d1;border-radius:18px;background:linear-gradient(135deg,#f4fff8,#ebfaf2); }
.records-status-manual-card > div { min-width:0; }
.records-status-manual-card > div > span { display:block;margin-bottom:4px;color:#2a9a62;font-size:.6rem;font-weight:900;letter-spacing:.1em; }
.records-status-manual-card > div > strong { display:block;color:#176c43;font-size:.9rem; }
.records-status-manual-card p { margin:5px 0 0;color:#5f7f6e;font-size:.69rem;line-height:1.6; }
.records-status-manual-card form { flex:none;margin:0; }
.records-status-manual-card__button { border-color:#20a564!important;background:#20a564!important;color:#fff!important;white-space:nowrap; }
.records-status-restored-note { margin:16px 0;padding:11px 14px;border:1px solid #ccebd9;border-radius:13px;background:#f3fff8;color:#267b50;font-size:.7rem;font-weight:700; }
@media (max-width:700px) {
    .records-status-manual-card { align-items:stretch;flex-direction:column; }
    .records-status-manual-card form,
    .records-status-manual-card__button { width:100%; }
}
.users-modal__dialog--record { width:min(1120px,100%); }
.users-modal__dialog--import { width:min(1050px,100%); }
.records-detail-content { min-width:0; }
.records-detail-content > .admin-section-head:first-child { position:sticky;top:-24px;z-index:4;margin:-4px -4px 18px;padding:12px 4px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px); }
.records-edit-panel { margin:18px 0;border:1px solid #ddd4fa;border-radius:18px;background:#faf8ff; }
.records-edit-panel > summary { padding:15px 17px;color:#5633cc;font-weight:900;cursor:pointer; }
.records-edit-panel > form { padding:0 17px 17px; }
.records-payment-editor { display:grid;gap:12px;margin:18px 0;padding:15px;border:1px solid #e2daf8;border-radius:18px;background:#faf8ff; }
.records-payment-editor > header { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.records-payment-editor > header strong,.records-payment-editor > header span { display:block; }
.records-payment-editor > header strong { color:#2d2348;font-size:.82rem; }
.records-payment-editor > header span { color:#887d9d;font-size:.65rem; }
.records-payment-editor__list { display:grid;gap:8px;max-height:330px;overflow:auto;padding-right:3px; }
.records-payment-editor__row { display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(100px,.6fr) minmax(140px,.8fr) auto;align-items:end;gap:10px;padding:10px;border:1px solid #e8e2f7;border-radius:14px;background:#fff;transition:.18s ease; }
.records-payment-editor__row > label { display:grid;gap:5px; }
.records-payment-editor__row > div:not(.thai-date-input) { display:grid;gap:5px;min-height:45px;align-content:center; }
.records-payment-editor__row span { color:#817692;font-size:.63rem;font-weight:700; }
.records-payment-editor__row strong { color:#2c2345;font-size:.78rem; }
.records-payment-editor__amount input { width:100%;min-height:42px;padding:7px 10px;border:1px solid #dcd3f4;border-radius:11px;background:#fff;color:#2c2345;font:inherit;font-size:.78rem;font-weight:900;text-align:right;outline:none; }
.records-payment-editor__amount input:focus { border-color:#6c43e5;box-shadow:0 0 0 3px rgba(108,67,229,.1); }
.records-payment-editor__amount input:disabled { border-color:#ece7f4;background:#f5f2fa;color:#9c94aa; }
.records-payment-editor__delete { display:flex!important;min-height:45px;align-items:center;align-content:center;grid-template-columns:auto 1fr;gap:7px!important;padding:0 10px;border:1px solid #f2c8cc;border-radius:12px;background:#fff8f8;color:#bd3f4b;cursor:pointer; }
.records-payment-editor__delete input { width:17px!important;height:17px;min-height:17px!important;margin:0;accent-color:#d64b55; }
.records-payment-editor__delete span { color:#bd3f4b;font-weight:900;white-space:nowrap; }
.records-payment-editor__toggle { display:flex!important;min-height:45px;align-items:center;justify-content:center;grid-template-columns:auto 1fr;gap:8px!important;padding:0 12px;border:1px solid #f0d3ad;border-radius:12px;background:#fff9f0;color:#aa691f;cursor:pointer;transition:.18s ease; }
.records-payment-editor__toggle input { width:18px!important;height:18px;min-height:18px!important;margin:0;accent-color:#24a968; }
.records-payment-editor__toggle span { color:inherit;font-weight:900;white-space:nowrap; }
.records-payment-editor__row--schedule.is-paid { border-color:#bfe8d1;background:#f7fffa; }
.records-payment-editor__row--schedule.is-paid .records-payment-editor__toggle { border-color:#afe0c4;background:#e9f9f0;color:#168750; }
.records-payment-editor__locked { padding:8px 10px;border:1px solid #e7e1f2;border-radius:12px;background:#f6f3fb;text-align:center; }
.records-payment-editor__locked span,.records-payment-editor__locked strong { display:block; }
.records-payment-editor__locked strong { color:#817692!important;font-size:.7rem!important; }
.records-payment-audit { grid-column:1/-1;border-top:1px dashed #dcd4ed;padding-top:8px; }
.records-payment-audit > summary { color:#6740d8;font-size:.66rem;font-weight:900;cursor:pointer; }
.records-payment-audit > div { display:grid;gap:6px;margin-top:8px; }
.records-payment-audit article { display:grid;grid-template-columns:minmax(110px,.6fr) minmax(180px,1fr) minmax(220px,1.4fr);gap:10px;padding:8px 10px;border-radius:10px;background:#f5f2fc; }
.records-payment-audit article strong,.records-payment-audit article span,.records-payment-audit article small { color:#6d6480;font-size:.61rem; }
.records-payment-audit article strong { color:#38285f; }
.records-payment-editor__row.is-deleted { border-color:#efb7bc;background:#fff4f4;opacity:.72; }
.records-payment-editor__row.is-deleted > :not(.records-payment-editor__delete) { filter:grayscale(.8); }
.legacy-loan-form { display:grid;gap:18px; }
.legacy-loan-form__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.legacy-loan-form label { display:grid;gap:6px; }
.legacy-loan-form label > span { color:#665d7e;font-size:.7rem;font-weight:800; }
.legacy-customer-picker { align-content:start; }
.legacy-customer-picker small { color:#887d9e;font-size:.62rem; }
.legacy-customer-combobox { position:relative;z-index:7; }
.legacy-customer-combobox > input[type="search"] { padding-right:42px; }
.legacy-customer-combobox::after { position:absolute;right:15px;top:13px;color:#6b46df;content:'⌄';font-size:1.15rem;font-weight:900;pointer-events:none; }
.legacy-customer-combobox__menu { position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;max-height:270px;overflow-y:auto;padding:7px;border:1px solid #dcd3f6;border-radius:15px;background:#fff;box-shadow:0 18px 44px rgba(43,27,94,.2); }
.legacy-customer-combobox__menu[hidden] { display:none; }
.legacy-customer-combobox__menu button { display:grid;width:100%;gap:3px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#302648;text-align:left;font:inherit;cursor:pointer; }
.legacy-customer-combobox__menu button[hidden] { display:none!important; }
.legacy-customer-combobox__menu button:hover,.legacy-customer-combobox__menu button:focus { outline:none;background:#f1edff; }
.legacy-customer-combobox__menu button strong { font-size:.75rem; }
.legacy-customer-combobox__menu button span { color:#887d9c;font-size:.62rem; }
.legacy-customer-combobox__empty { padding:18px 10px;color:#9188a3;text-align:center;font-size:.7rem; }
.thai-date-input { position:relative;min-width:0; }
.thai-date-input > input[data-thai-date-display],
.thai-date-input > input[data-thai-month-display] { width:100%;padding-right:46px; }
.thai-date-input__native { position:absolute!important;right:12px;bottom:5px;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;opacity:0;pointer-events:none; }
.thai-date-input > button { position:absolute;right:7px;top:50%;display:grid;width:34px;height:34px;transform:translateY(-50%);place-items:center;border:0;border-radius:10px;background:#eee9ff;color:#6038dc;font:inherit;font-weight:900;cursor:pointer; }
.thai-date-input > button:disabled { opacity:.4;cursor:not-allowed; }
.legacy-loan-form input,.legacy-loan-form select,.legacy-loan-form textarea,.users-modal-form textarea { width:100%;min-height:44px;padding:9px 12px;border:1px solid #ddd5f4;border-radius:12px;outline:none;background:#fbfaff;color:#2d2543;font:inherit;font-size:.8rem; }
.legacy-loan-form textarea,.users-modal-form textarea { resize:vertical; }
.legacy-loan-form .is-wide { grid-column:1/-1; }
.legacy-loan-preview { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.legacy-loan-preview article { padding:14px;border:1px solid #e3dcf8;border-radius:16px;background:linear-gradient(145deg,#fff,#f8f5ff); }
.legacy-loan-preview span,.legacy-loan-preview strong { display:block; }
.legacy-loan-preview span { color:#817795;font-size:.64rem;font-weight:700; }
.legacy-loan-preview strong { margin-top:6px;color:#251d43;font-size:1.2rem; }
.legacy-loan-preview .is-accent { border-color:#6b45e5;background:linear-gradient(145deg,#5130cb,#7448ef); }
.legacy-loan-preview .is-accent span { color:rgba(255,255,255,.67); }
.legacy-loan-preview .is-accent strong { color:#d9ff78; }
.legacy-payment-builder { padding:16px;border:1px solid #e3dcf8;border-radius:18px;background:#faf8ff; }
.legacy-payment-builder > header { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px; }
.legacy-payment-builder > header strong,.legacy-payment-builder > header span { display:block; }
.legacy-payment-builder > header span { margin-top:3px;color:#8b829e;font-size:.66rem; }
.legacy-payment-builder > header > div:last-child { display:flex;gap:7px; }
.legacy-payment-list { display:grid;gap:7px;max-height:320px;overflow:auto;padding-right:3px; }
.legacy-payment-row { display:grid;grid-template-columns:105px 70px minmax(145px,1fr) minmax(120px,.8fr) 34px;align-items:center;gap:8px;padding:8px;border:1px solid #e9e3f8;border-radius:13px;background:#fff; }
.legacy-payment-check { display:flex!important;grid-template:none!important;align-items:center;gap:7px;color:#574a76;font-size:.68rem;font-weight:800; }
.legacy-payment-check input { width:17px!important;min-height:17px!important;padding:0; }
.legacy-payment-no { color:#827795;font-size:.67rem;font-weight:700; }
.legacy-payment-row > button { width:32px;height:32px;border:0;border-radius:9px;background:#fff0f0;color:#c94e56;font-size:1.1rem;cursor:pointer; }
.legacy-guarantor { border:1px solid #e3dcf8;border-radius:16px; }
.legacy-guarantor > summary { padding:13px 15px;color:#5e3bd3;font-size:.75rem;font-weight:900;cursor:pointer; }
.legacy-guarantor > div { padding:0 15px 15px; }
.legacy-loan-form > footer { display:flex;justify-content:flex-end;gap:9px; }
.legacy-loan-form > footer button { min-height:44px;padding:0 17px;border:0;border-radius:12px;background:linear-gradient(135deg,#4f29d8,#7548ee);color:#fff;font:inherit;font-weight:900;cursor:pointer; }
.legacy-loan-form > footer .is-cancel { border:1px solid #ded6f2;background:#fff;color:#776b91; }
@media (max-width: 1000px) {
    .records-table-toolbar,.records-table-toolbar--loans { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .records-table-toolbar .users-table-search { grid-column:1/-1; }
    .records-swipe-hint { display:block; }
    .legacy-loan-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .records-hero { align-items:stretch;flex-direction:column;padding:22px 20px;border-radius:22px; }
    .records-hero__actions { min-width:0; }
    .records-table-toolbar,.records-table-toolbar--loans { grid-template-columns:1fr; }
    .records-table-toolbar .users-table-search { grid-column:auto; }
    .users-modal__dialog--record,.users-modal__dialog--import { max-height:calc(100dvh - 24px); }
    .legacy-loan-form__grid,.legacy-loan-preview { grid-template-columns:1fr; }
    .legacy-loan-form .is-wide { grid-column:auto; }
    .legacy-payment-builder > header { align-items:stretch;flex-direction:column; }
    .legacy-payment-builder > header > div:last-child { flex-direction:column; }
    .legacy-payment-row { grid-template-columns:1fr 1fr; }
    .legacy-payment-row > button { justify-self:end; }
    .records-payment-editor__row { grid-template-columns:1fr;align-items:stretch; }
    .records-payment-audit article { grid-template-columns:1fr;gap:3px; }
}
.admin-report-submission-cell {
    min-width: 112px;
    white-space: normal;
}
.admin-body .swal2-container {
    z-index: 20050 !important;
}
.admin-report-kpis {
    gap: 13px;
}
.admin-report-kpi {
    position: relative;
    min-width: 0;
    padding: 18px;
    overflow: hidden;
    isolation: isolate;
    border-color: rgba(112, 78, 226, .14);
    background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(248,246,255,.96));
    box-shadow: 0 16px 38px rgba(62, 46, 127, .09);
    transition: transform .18s ease, box-shadow .18s ease;
}
.admin-report-kpi::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -36px;
    right: -30px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--report-kpi-glow, rgba(104, 70, 235, .09));
}
.admin-report-kpi:hover {
    transform: translateY(-3px);
    box-shadow: 0 21px 46px rgba(62, 46, 127, .14);
}
.admin-report-kpi__top {
    display: flex;
    align-items: center;
    gap: 9px;
}
.admin-report-kpi__icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 11px;
    background: var(--report-kpi-icon-bg, #eee9ff);
    color: var(--report-kpi-icon-color, #6542dd);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
    font-size: .86rem;
    font-weight: 900;
}
.admin-report-kpi .admin-kpi-card__value {
    margin-top: 17px;
    font-size: clamp(1.45rem, 2vw, 2rem);
    letter-spacing: -.035em;
    white-space: nowrap;
}
.admin-report-kpi .admin-kpi-card__value small {
    font-size: .72rem;
    letter-spacing: 0;
}
.admin-report-kpi .admin-kpi-card__meta {
    margin-top: 9px;
    font-size: .67rem;
}
.admin-report-kpi--collection { --report-kpi-icon-bg:#e9f9f0; --report-kpi-icon-color:#16804a; --report-kpi-glow:rgba(49,190,117,.11); }
.admin-report-kpi--disbursed { --report-kpi-icon-bg:#fff0e7; --report-kpi-icon-color:#c25b1d; --report-kpi-glow:rgba(238,130,66,.1); }
.admin-report-kpi--commission { --report-kpi-icon-bg:#f0ebff; --report-kpi-icon-color:#6741dc; --report-kpi-glow:rgba(103,65,220,.1); }
.admin-report-kpi--fuel { --report-kpi-icon-bg:#fff6dc; --report-kpi-icon-color:#9b6b00; --report-kpi-glow:rgba(222,177,56,.12); }
.admin-report-kpi--distance { --report-kpi-icon-bg:#e9f5ff; --report-kpi-icon-color:#2675b9; --report-kpi-glow:rgba(55,144,218,.1); }
.admin-report-kpi--company {
    --report-kpi-icon-bg:rgba(255,255,255,.18);
    --report-kpi-icon-color:#d9ff78;
    --report-kpi-glow:rgba(218,255,120,.13);
    border-color: rgba(107, 77, 235, .45);
    background: linear-gradient(145deg, #5a34d6, #7148ed);
    box-shadow: 0 20px 42px rgba(81, 47, 201, .25);
}
.admin-report-kpi--company .admin-kpi-card__label,
.admin-report-kpi--company .admin-kpi-card__value {
    color: #fff;
}
.admin-report-kpi--company .admin-kpi-card__meta {
    color: rgba(255,255,255,.68);
}
.admin-submission-statuses {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
.admin-submission-list {
    display: grid;
    gap: 8px;
}
.admin-submission-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid #e6dfff;
    border-radius: 12px;
    background: #fff;
}
.admin-submission-item > div {
    min-width: 0;
}
.admin-submission-item strong,
.admin-submission-item small {
    display: block;
}
.admin-submission-item strong {
    margin-bottom: 5px;
    color: var(--admin-ink);
    font-size: .78rem;
}
.admin-submission-item small {
    margin-top: 5px;
    color: var(--admin-muted);
    font-size: .66rem;
    line-height: 1.45;
}
.admin-submission-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 800;
    white-space: nowrap;
}
.admin-submission-badge--button {
    border: 0;
    font-family: inherit;
    cursor: pointer;
}
.admin-submission-badge--button:hover {
    filter: brightness(.96);
    box-shadow: 0 5px 12px rgba(19, 115, 59, .13);
}
.admin-submission-badge--success {
    background: #e8f9ee;
    color: #13733b;
}
.admin-submission-badge--pending {
    background: #fff1e6;
    color: #a44b0b;
}
.admin-submission-badge--future {
    background: #eef2ff;
    color: #55628d;
}
.admin-submission-badge--empty {
    background: #f1eff8;
    color: #756f8e;
}
.admin-submission-cancel {
    min-height: 32px;
    padding: 6px 9px;
    border-color: #f1b8b8;
    color: #b52b2b;
    font-size: .66rem;
    white-space: nowrap;
}
.admin-closing-modal[hidden] {
    display: none;
}
.admin-closing-modal {
    position: fixed;
    inset: 0;
    z-index: 1800;
    display: grid;
    place-items: center;
    padding: 20px;
}
.admin-closing-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(28, 20, 63, .56);
    backdrop-filter: blur(5px);
}
.admin-closing-modal__dialog {
    position: relative;
    width: min(620px, 100%);
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    padding: 24px;
    border: 1px solid #ddd3ff;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(39, 24, 92, .28);
}
.admin-closing-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.admin-closing-modal__head h3 {
    margin: 4px 0 0;
    color: var(--admin-ink);
}
.admin-closing-modal__close {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #e2dafb;
    border-radius: 50%;
    background: #f8f5ff;
    color: #4c3b82;
    font-size: 1.4rem;
    cursor: pointer;
}
.admin-closing-modal__identity {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f5f1ff;
}
.admin-closing-modal__identity strong,
.admin-closing-modal__identity > span {
    display: block;
}
.admin-closing-modal__identity strong {
    color: var(--admin-ink);
}
.admin-closing-modal__identity > span {
    margin-top: 4px;
    color: var(--admin-muted);
    font-size: .76rem;
}
.admin-closing-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}
.admin-closing-modal__grid > div {
    padding: 13px;
    border: 1px solid #e8e1ff;
    border-radius: 15px;
}
.admin-closing-modal__grid span,
.admin-closing-modal__note > span,
.admin-closing-modal__slip > span {
    display: block;
    margin-bottom: 6px;
    color: var(--admin-muted);
    font-size: .7rem;
}
.admin-closing-modal__grid strong {
    color: var(--admin-ink);
}
.admin-closing-modal__note {
    margin-top: 14px;
}
.admin-closing-modal__note p {
    margin: 0;
    color: var(--admin-ink);
}
.admin-closing-modal__danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 15px;
    padding: 13px 14px;
    border: 1px solid #ffd1d1;
    border-radius: 15px;
    background: linear-gradient(135deg, #fff7f7, #fff);
}
.admin-closing-modal__danger-zone > div {
    min-width: 0;
}
.admin-closing-modal__danger-zone strong,
.admin-closing-modal__danger-zone span {
    display: block;
}
.admin-closing-modal__danger-zone strong {
    color: #8f2828;
    font-size: .77rem;
}
.admin-closing-modal__danger-zone span {
    margin-top: 4px;
    color: #966363;
    font-size: .65rem;
    line-height: 1.45;
}
.admin-closing-modal__danger-zone form {
    flex: 0 0 auto;
    margin: 0;
}
.admin-closing-modal__slip {
    margin-top: 14px;
}
.admin-closing-modal__slip > button {
    display: block;
    width: 100%;
    max-height: 260px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e3dcfb;
    border-radius: 16px;
    background: #f8f6ff;
    cursor: zoom-in;
}
.admin-closing-modal__slip img {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: contain;
}
.admin-closing-modal__no-slip {
    margin-top: 14px;
    padding: 14px;
    border-radius: 14px;
    background: #f5f3fa;
    color: var(--admin-muted);
    font-size: .74rem;
    text-align: center;
}
.admin-closing-modal form {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}
.admin-closing-modal .admin-closing-modal__danger-zone form {
    margin: 0;
}
.admin-modal-open {
    overflow: hidden;
}
.admin-reset-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.admin-reset-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border: 1px solid #e5ddfb;
    border-radius: 15px;
    background: #fff;
    cursor: pointer;
}
.admin-reset-option:has(input:checked) {
    border-color: #8d72ef;
    background: #f5f1ff;
    box-shadow: 0 7px 18px rgba(96, 56, 232, .09);
}
.admin-reset-option--warning:has(input:checked) {
    border-color: #e58d8d;
    background: #fff3f3;
}
.admin-reset-option input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--admin-purple);
}
.admin-reset-option strong,
.admin-reset-option small {
    display: block;
}
.admin-reset-option strong {
    color: var(--admin-ink);
    font-size: .82rem;
}
.admin-reset-option small {
    margin-top: 4px;
    color: var(--admin-muted);
    font-size: .68rem;
    line-height: 1.5;
}
.admin-reset-dependency-note {
    padding: 11px 13px;
    border-radius: 12px;
    background: #fff8df;
    color: #805d13;
    font-size: .7rem;
    line-height: 1.55;
}
.admin-test-day-card { margin-bottom:18px;padding:22px;background:linear-gradient(145deg,#fff 0%,#f7f3ff 100%);overflow:hidden; }
.admin-test-day-card__intro { display:flex;align-items:flex-start;justify-content:space-between;gap:24px; }
.admin-test-day-card__intro p { max-width:760px;margin:7px 0 0;line-height:1.65; }
.admin-test-day-card__date { flex:0 0 auto;min-width:190px;padding:14px 16px;border:1px solid #ded4fa;border-radius:16px;background:#fff;box-shadow:0 10px 25px rgba(86,55,174,.08); }
.admin-test-day-card__date span,.admin-test-day-card__date strong { display:block; }
.admin-test-day-card__date span { color:#857b99;font-size:.67rem;font-weight:700; }
.admin-test-day-card__date strong { margin-top:5px;color:#302348;font-size:1rem; }
.admin-test-day-card__actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px; }
.admin-test-day-card__actions form { margin:0; }
.admin-test-day-card__button { display:flex;width:100%;min-height:76px;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid #ddd3f7;border-radius:17px;background:#fff;color:#4d35a2;text-align:left;font:inherit;cursor:pointer;transition:.18s ease; }
.admin-test-day-card__button:hover { transform:translateY(-2px);box-shadow:0 13px 28px rgba(80,49,173,.12); }
.admin-test-day-card__button > span { display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#eee8ff;font-size:1.15rem;font-weight:900; }
.admin-test-day-card__button strong,.admin-test-day-card__button small { display:block; }
.admin-test-day-card__button strong { font-size:.84rem; }
.admin-test-day-card__button small { margin-top:3px;color:#8a819b;font-size:.65rem; }
.admin-test-day-card__button--next { border-color:#7148e5;background:linear-gradient(135deg,#5430d4,#764bed);color:#fff; }
.admin-test-day-card__button--next > span { background:rgba(255,255,255,.15); }
.admin-test-day-card__button--next small { color:rgba(255,255,255,.7); }
.admin-test-day-card__warning { margin-top:12px;padding:11px 13px;border-radius:12px;background:#fff4dd;color:#89611a;font-size:.67rem;line-height:1.55; }
@media (max-width: 560px) {
    .admin-closing-modal {
        padding: 10px;
    }
    .admin-closing-modal__dialog {
        padding: 18px;
        border-radius: 20px;
    }
    .admin-closing-modal__grid {
        grid-template-columns: 1fr;
    }
    .admin-closing-modal__danger-zone {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-closing-modal__danger-zone .admin-submission-cancel {
        width: 100%;
    }
    .admin-reset-options {
        grid-template-columns: 1fr;
    }
    .admin-test-day-card__intro {
        flex-direction: column;
    }
    .admin-test-day-card__date {
        width: 100%;
        min-width: 0;
    }
    .admin-test-day-card__actions {
        grid-template-columns: 1fr;
    }
}
.admin-payment-history {
    overflow-x: auto;
}
.admin-history-compact__item {
    display: block;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.admin-history-compact__item:hover {
    transform: translateY(-2px);
    border-color: #b9a8f6;
    box-shadow: 0 12px 24px rgba(96, 56, 232, 0.1);
}

@media (max-width: 1180px) {
    .admin-loan-layout {
        grid-template-columns: 1fr;
    }
    .admin-contract-list {
        max-height: 420px;
    }
}

@media (max-width: 900px) {
    .admin-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(86vw, 320px);
        height: 100dvh;
        transform: translateX(-105%);
        transition: transform 0.22s ease;
        z-index: 1301;
        box-shadow: 22px 0 50px rgba(31, 20, 78, 0.28);
    }
    .admin-shell.is-menu-open .admin-sidebar {
        transform: translateX(0);
    }
    .admin-sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1300;
        border: 0;
        background: rgba(25, 18, 55, 0.48);
        backdrop-filter: blur(3px);
    }
    .admin-shell.is-menu-open .admin-sidebar-backdrop {
        display: block;
    }
    .admin-sidebar__close {
        position: absolute;
        top: 10px;
        right: 10px;
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
        font-size: 1.5rem;
    }
    .admin-menu-toggle {
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 0;
        border-radius: 13px;
        background: linear-gradient(135deg, var(--admin-purple), #7955f5);
        color: #fff;
        font-size: 1.2rem;
    }
    .admin-menu-open {
        overflow: hidden;
    }
    .admin-main {
        width: 100%;
        min-width: 0;
    }
    .admin-topbar__title {
        font-size: clamp(1.35rem, 6vw, 1.8rem);
    }
    .admin-loan-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-gallery--contract {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .admin-body .inline-actions .btn {
        width: auto;
    }
}

@media (max-width: 560px) {
    .admin-main {
        padding: 12px 10px 24px;
    }
    .admin-topbar {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .admin-topbar__user {
        width: 100%;
    }
    .admin-body .card {
        padding: 15px;
        border-radius: 18px;
    }
    .admin-loan-kpi-grid,
    .admin-gallery--contract {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-history-accordion__summary {
        grid-template-columns: minmax(0, 1fr) 16px;
    }
    .admin-history-accordion__summary-right {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-items: start;
    }
    .admin-history-accordion__arrow {
        grid-column: 2;
        grid-row: 1;
    }
    .admin-history-card__head {
        flex-direction: column;
    }
    .admin-history-card__badges {
        justify-content: flex-start;
    }
    .admin-section-divider--actions {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-section-divider--actions .btn {
        width: 100%;
    }
}

/* Nexora premium authentication and admin dashboard */
.nexora-login-shell {
    min-height: 100vh;
    margin: 0;
    background: #f4f1ff;
    color: #211d3d;
    font-family: "Prompt", sans-serif;
}
.nexora-login {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(440px, 0.92fr);
    min-height: 100vh;
}
.nexora-login__visual {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    padding: clamp(42px, 6vw, 88px);
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(145deg, rgba(31, 20, 85, 0.12), transparent 40%),
        linear-gradient(135deg, #4722c7 0%, #6738ec 48%, #815cf5 100%);
    color: #fff;
}
.nexora-login__visual::before,
.nexora-login__visual::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}
.nexora-login__visual::before { width: 520px; height: 520px; right: -230px; top: -180px; }
.nexora-login__visual::after { width: 380px; height: 380px; left: -180px; bottom: -180px; }
.nexora-login__orb {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(2px);
    pointer-events: none;
}
.nexora-login__orb--one { width: 260px; height: 260px; right: 5%; top: 20%; background: rgba(187, 166, 255, 0.2); }
.nexora-login__orb--two { width: 180px; height: 180px; left: 8%; bottom: 12%; background: rgba(45, 23, 143, 0.22); }
.nexora-login__visual-content { position: relative; z-index: 1; width: min(680px, 100%); padding-top: 30px; }
.nexora-login__brand,
.nexora-login__mobile-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.nexora-login__brand { position: absolute; z-index: 2; top: clamp(28px, 4vw, 50px); left: clamp(42px, 6vw, 88px); }
.nexora-login__brand > span:last-child strong,
.nexora-login__brand > span:last-child small { display: block; }
.nexora-login__brand > span:last-child small { margin-top: 2px; color: rgba(255,255,255,.58); font-size: .58rem; font-weight: 500; letter-spacing: .05em; }
.nexora-login__brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    color: #fff;
    font-weight: 800;
}
.nexora-login__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}
.nexora-login__eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: #c7ff55; }
.nexora-login__visual h1 {
    margin: 0;
    font-size: clamp(2.15rem, 3.7vw, 4.05rem);
    line-height: 1.34;
    letter-spacing: -0.035em;
    font-weight: 800;
}
.nexora-login__visual h1 span { display: block; }
.nexora-login__visual-content > p {
    max-width: 620px;
    margin: 24px 0 34px;
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(0.94rem, 1.15vw, 1.08rem);
    line-height: 1.85;
}
.nexora-login__feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nexora-login__feature-grid article {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}
.nexora-login__feature-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.15);
    color: #d3ff77;
    font-size: 1.15rem;
}
.nexora-login__feature-grid strong,
.nexora-login__feature-grid small { display: block; }
.nexora-login__feature-grid strong { font-size: 0.88rem; }
.nexora-login__feature-grid small { margin-top: 3px; color: rgba(255, 255, 255, 0.62); font-size: 0.7rem; }
.nexora-login__visual-footer {
    position: absolute;
    left: clamp(42px, 6vw, 88px);
    bottom: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.nexora-login__visual-footer span { width: 7px; height: 7px; border-radius: 50%; background: #c7ff55; box-shadow: 0 0 14px rgba(199, 255, 85, 0.8); }
.nexora-login__panel {
    display: grid;
    place-items: center;
    padding: clamp(28px, 6vw, 86px);
    background:
        radial-gradient(circle at 90% 10%, rgba(117, 80, 239, 0.08), transparent 26%),
        #fbfaff;
}
.nexora-login__mobile-brand { display: none; }
.nexora-login__form-wrap { width: min(450px, 100%); }
.nexora-login__welcome { margin-bottom: 34px; }
.nexora-login__welcome-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    margin-bottom: 22px;
    border-radius: 17px;
    background: linear-gradient(135deg, #5c32dd, #825bfb);
    box-shadow: 0 14px 28px rgba(91, 49, 222, 0.22);
    color: #d9ff76;
    font-size: 1.25rem;
}
.nexora-login__welcome h2 { margin: 0; color: #201b3c; font-size: clamp(1.75rem, 3vw, 2.25rem); letter-spacing: -0.035em; }
.nexora-login__welcome p { margin: 8px 0 0; color: #8a84a4; font-size: 0.9rem; }
.nexora-login__form { display: grid; gap: 20px; }
.nexora-login__form label > span { display: block; margin-bottom: 9px; color: #393252; font-size: 0.8rem; font-weight: 600; }
.nexora-login__input-wrap {
    display: grid;
    grid-template-columns: 28px 1fr;
    align-items: center;
    gap: 8px;
    min-height: 56px;
    padding: 0 16px;
    border: 1px solid #e3dcf5;
    border-radius: 17px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.nexora-login__input-wrap:focus-within { border-color: #8568ed; box-shadow: 0 0 0 4px rgba(96, 56, 232, 0.08); }
.nexora-login__input-wrap > span { color: #846be0; font-size: 1.15rem; text-align: center; }
.nexora-login__input-wrap input {
    width: 100%;
    min-height: 54px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: #28213f;
    font-family: inherit;
}
.nexora-login__input-wrap input::placeholder { color: #b0aac1; }
.nexora-login__remember {
    display: flex;
    align-items: center;
    gap: 9px;
    width: max-content;
    cursor: pointer;
    user-select: none;
}
.nexora-login__remember input { position: absolute; opacity: 0; pointer-events: none; }
.nexora-login__remember > span:last-child { margin: 0; color: #746d89; font-size: .72rem; font-weight: 500; }
.nexora-login__remember-box {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    margin: 0;
    border: 1px solid #d6cdef;
    border-radius: 6px;
    background: #fff;
    color: transparent;
    font-size: .68rem;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.nexora-login__remember input:checked + .nexora-login__remember-box { border-color: #6038e8; background: #6038e8; color: #fff; }
.nexora-login__remember input:focus-visible + .nexora-login__remember-box { box-shadow: 0 0 0 3px rgba(96,56,232,.13); }
.nexora-login__submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    margin-top: 4px;
    padding: 0 22px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, #5128d4, #7448ef);
    box-shadow: 0 16px 30px rgba(83, 41, 210, 0.24);
    color: #fff;
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.nexora-login__submit:hover { transform: translateY(-2px); box-shadow: 0 20px 38px rgba(83, 41, 210, 0.3); }
.nexora-login__submit span:last-child { font-size: 1.25rem; }
.nexora-login__divider { display: flex; align-items: center; gap: 14px; margin: 27px 0 19px; color: #aaa4bb; font-size: 0.72rem; }
.nexora-login__divider::before,
.nexora-login__divider::after { content: ""; height: 1px; flex: 1; background: #e9e4f4; }
.nexora-login__line {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 13px;
    padding: 13px 15px;
    border: 1px solid #e4dff0;
    border-radius: 18px;
    background: #fff;
    color: #2d2743;
    transition: border-color 0.18s ease, transform 0.18s ease;
}
.nexora-login__line:hover { transform: translateY(-1px); border-color: #bfb1ec; }
.nexora-login__line-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #06c755; color: #fff; font-size: 0.65rem; font-weight: 800; }
.nexora-login__line strong,
.nexora-login__line small { display: block; }
.nexora-login__line strong { font-size: 0.82rem; }
.nexora-login__line small { margin-top: 3px; color: #938da5; font-size: 0.68rem; }
.nexora-login__line > span:last-child { color: #9b8fc2; font-size: 1.3rem; }
.nexora-login__support { margin-top: 24px; color: #a49db4; font-size: 0.68rem; text-align: center; }
.nexora-login__setup { display: grid; gap: 8px; margin-bottom: 22px; padding: 16px; border: 1px solid #f3d7a0; border-radius: 16px; background: #fff8e8; }
.nexora-login__setup span { color: #8a6a2f; font-size: 0.76rem; }
.nexora-login__setup .btn { margin-top: 5px; }

.nexora-admin-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 30px;
    align-items: center;
    margin-bottom: 20px;
    padding: clamp(26px, 3vw, 42px);
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 32px;
    background: linear-gradient(135deg, #3e20b4 0%, #5c32dd 48%, #764cf0 100%);
    box-shadow: 0 26px 52px rgba(70, 40, 170, 0.22);
    color: #fff;
}
.nexora-admin-hero::before { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -260px; z-index: -1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.nexora-admin-hero__glow { position: absolute; width: 250px; height: 250px; left: 35%; bottom: -210px; z-index: -1; border-radius: 50%; background: #b7ff58; filter: blur(65px); opacity: .2; }
.nexora-admin-hero__eyebrow { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.68); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.nexora-admin-hero__eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #c8ff60; box-shadow: 0 0 12px rgba(200,255,96,.8); }
.nexora-admin-hero h2 { margin: 14px 0 10px; font-size: clamp(1.8rem, 3.4vw, 3.1rem); line-height: 1.24; letter-spacing: -.04em; }
.nexora-admin-hero h2 em { color: #d3ff75; font-style: normal; }
.nexora-admin-hero__content > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.72); font-size: .85rem; line-height: 1.7; }
.nexora-admin-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.nexora-admin-hero__chips span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.09); color: rgba(255,255,255,.78); font-size: .7rem; }
.nexora-admin-hero__balance { padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.13); backdrop-filter: blur(14px); }
.nexora-admin-hero__balance-head { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.72); font-size: .75rem; }
.nexora-admin-hero__balance-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 11px; background: rgba(204,255,98,.16); color: #d3ff75; }
.nexora-admin-hero__balance > strong { display: block; margin: 13px 0 15px; font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1; letter-spacing: -.04em; }
.nexora-admin-hero__balance-meta { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.6); font-size: .68rem; }
.nexora-admin-hero__balance-meta b { color: #fff; font-size: .78rem; }
.nexora-admin-hero__balance > a { display: flex; justify-content: space-between; margin-top: 8px; color: #d7ff87; font-size: .72rem; font-weight: 600; }
.nexora-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 18px; }
.nexora-kpi { min-width: 0; padding: 20px; border: 1px solid rgba(104,75,208,.12); border-radius: 24px; background: linear-gradient(150deg,#fff,#faf8ff); box-shadow: 0 16px 34px rgba(70,53,137,.08); }
.nexora-kpi--primary { background: linear-gradient(150deg,#fff,#f4efff); border-color: rgba(99,61,225,.22); }
.nexora-kpi__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nexora-kpi__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; background: #5f36df; color: #fff; font-size: .9rem; font-weight: 700; box-shadow: 0 9px 18px rgba(95,54,223,.2); }
.nexora-kpi__icon--lavender { background: #eee9ff; color: #6842df; box-shadow: none; }
.nexora-kpi__icon--mint { background: #e7f9ef; color: #149557; box-shadow: none; }
.nexora-kpi__icon--amber { background: #fff3dc; color: #d88a14; box-shadow: none; }
.nexora-kpi__trend { padding: 5px 8px; border-radius: 999px; background: #f3f0fa; color: #81799a; font-size: .62rem; }
.nexora-kpi__trend--positive { background: #eaf9f0; color: #168c55; }
.nexora-kpi__label { margin-top: 18px; color: #817a98; font-size: .72rem; font-weight: 600; }
.nexora-kpi__value { margin-top: 8px; overflow: hidden; color: #241e42; font-size: clamp(1.5rem, 2.3vw, 2.15rem); font-weight: 800; letter-spacing: -.04em; text-overflow: ellipsis; }
.nexora-kpi__progress { height: 5px; margin-top: 15px; overflow: hidden; border-radius: 9px; background: #e8e2f7; }
.nexora-kpi__progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6038e8,#9c7dff); }
.nexora-kpi__meta { margin-top: 10px; color: #9a94ac; font-size: .64rem; line-height: 1.5; }
.nexora-dashboard-filter {
    display: grid;
    grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr);
    align-items: end;
    gap: 24px;
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(104,75,208,.14);
    border-radius: 24px;
    background: linear-gradient(140deg,rgba(255,255,255,.98),rgba(247,244,255,.98));
    box-shadow: 0 15px 35px rgba(70,53,137,.07);
}
.nexora-dashboard-filter h3 { margin:4px 0 0;color:#282143;font-size:1rem; }
.nexora-dashboard-filter form { display:grid;grid-template-columns:repeat(3,minmax(125px,1fr)) auto;align-items:end;gap:10px; }
.nexora-dashboard-filter label > span { display:block;margin:0 0 6px;color:#81799b;font-size:.62rem;font-weight:700; }
.nexora-dashboard-filter select,.nexora-dashboard-filter input { width:100%;height:43px;padding:0 12px;border:1px solid #ded6f4;border-radius:13px;background:#fff;color:#332b50;font:600 .72rem "Prompt",sans-serif;outline:none; }
.nexora-dashboard-filter select:focus,.nexora-dashboard-filter input:focus { border-color:#7854ed;box-shadow:0 0 0 3px rgba(120,84,237,.1); }
.nexora-dashboard-filter button { height:43px;padding:0 18px;border:0;border-radius:13px;background:linear-gradient(135deg,#5831da,#7d56ef);color:#fff;font:700 .72rem "Prompt",sans-serif;box-shadow:0 10px 18px rgba(91,49,218,.2);cursor:pointer; }
.nexora-kpi-grid--premium .nexora-kpi { position:relative;overflow:hidden;isolation:isolate; }
.nexora-kpi-grid--premium .nexora-kpi::after { content:"";position:absolute;z-index:-1;width:120px;height:120px;right:-50px;bottom:-62px;border-radius:50%;background:rgba(107,68,232,.07); }
.nexora-kpi-grid--premium .nexora-kpi--cash::after { background:rgba(31,177,104,.09); }
.nexora-kpi-grid--premium .nexora-kpi--accounts::after { background:rgba(235,164,48,.1); }
.nexora-radial-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px; }
.nexora-insight-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;margin-bottom:18px; }
.nexora-insight-grid > .nexora-panel { height:100%;padding:18px;border-radius:23px; }
.nexora-insight-grid .nexora-radial-card { grid-template-columns:110px minmax(0,1fr);gap:14px; }
.nexora-insight-grid .nexora-radial-card__chart { width:106px; }
.nexora-insight-grid .nexora-radial-card__chart > div { width:80px; }
.nexora-insight-grid .nexora-radial-card__chart strong { font-size:1.12rem; }
.nexora-insight-grid .nexora-radial-card__content h3 { font-size:.86rem;line-height:1.35; }
.nexora-insight-grid .nexora-radial-card__content > div { gap:5px;margin-top:11px; }
.nexora-insight-grid .nexora-radial-card__content > div span { padding:7px;font-size:.52rem; }
.nexora-insight-grid .nexora-radial-card__content > div b { font-size:.64rem;white-space:nowrap; }
.nexora-insight-grid .nexora-pulse-list { margin-top:10px; }
.nexora-insight-grid .nexora-pulse-list > div { padding:8px 0; }
.nexora-insight-grid .nexora-pulse-footer { margin-top:9px;padding:10px; }
.nexora-performance-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:stretch;gap:16px;margin-bottom:18px; }
.nexora-performance-grid > .nexora-panel { height:100%; }
.nexora-dual-radial-card { padding:20px;background:linear-gradient(145deg,#fff,#f9f7ff); }
.nexora-dual-radial-card__head { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px; }
.nexora-dual-radial-card__head h3 { margin:4px 0 0;color:#292143;font-size:1rem; }
.nexora-dual-radial-card__badge { padding:6px 10px;border-radius:999px;background:#f0ebff;color:#6841df;font-size:.58rem;font-weight:700;white-space:nowrap; }
.nexora-dual-radial-card__list { display:grid;gap:0;border:1px solid #eee9f8;border-radius:20px;background:rgba(255,255,255,.76);overflow:hidden; }
.nexora-dual-radial-card__row { display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:17px;min-width:0;padding:15px 17px; }
.nexora-dual-radial-card__row + .nexora-dual-radial-card__row { border-top:1px solid #eee9f8; }
.nexora-dual-radial-card__row .nexora-radial-card__chart { width:98px;box-shadow:0 11px 25px rgba(91,55,199,.13); }
.nexora-dual-radial-card__row .nexora-radial-card__chart > div { width:74px; }
.nexora-dual-radial-card__row .nexora-radial-card__chart strong { font-size:1rem; }
.nexora-dual-radial-card__row--today .nexora-radial-card__chart { background:conic-gradient(#a8e940 0 var(--radial-value),#e9e4f5 var(--radial-value) 100%); }
.nexora-dual-radial-card__row .nexora-radial-card__content h3 { font-size:.86rem; }
.nexora-dual-radial-card__row .nexora-radial-card__content > div { gap:7px;margin-top:10px; }
.nexora-dual-radial-card__row .nexora-radial-card__content > div span { padding:7px 9px; }
.nexora-performance-grid .nexora-pulse-panel { display:flex;flex-direction:column;padding:20px; }
.nexora-performance-grid .nexora-pulse-list { margin-top:12px; }
.nexora-performance-grid .nexora-pulse-list > div { padding:10px 0; }
.nexora-performance-grid .nexora-pulse-footer { margin-top:auto;padding:11px 13px; }
.nexora-radial-card { display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;background:linear-gradient(145deg,#fff,#faf8ff); }
.nexora-radial-card--today { background:linear-gradient(145deg,#fff,#f4f0ff); }
.nexora-radial-card__chart { display:grid;place-items:center;width:142px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#6840e6 0 var(--radial-value),#e9e4f5 var(--radial-value) 100%);box-shadow:0 16px 35px rgba(91,55,199,.16); }
.nexora-radial-card--today .nexora-radial-card__chart { background:conic-gradient(#a8e940 0 var(--radial-value),#e9e4f5 var(--radial-value) 100%); }
.nexora-radial-card__chart > div { display:grid;place-items:center;width:108px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(105,72,200,.06); }
.nexora-radial-card__chart strong,.nexora-radial-card__chart span { display:block; }
.nexora-radial-card__chart strong { color:#292143;font-size:1.45rem;line-height:1;letter-spacing:-.04em; }
.nexora-radial-card__chart span { margin-top:6px;color:#928aa5;font-size:.6rem; }
.nexora-radial-card__content h3 { margin:5px 0 3px;color:#292143;font-size:1.02rem; }
.nexora-radial-card__content > p { margin:0;color:#9991aa;font-size:.64rem; }
.nexora-radial-card__content > div { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px; }
.nexora-radial-card__content > div span { padding:10px;border:1px solid #eee9f7;border-radius:13px;background:rgba(255,255,255,.8);color:#91899f;font-size:.58rem; }
.nexora-radial-card__content > div b { display:block;margin-top:3px;color:#3b3353;font-size:.72rem; }
.nexora-analytics-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,.7fr); gap: 18px; margin-bottom: 18px; }
.nexora-panel { min-width: 0; padding: 22px; border: 1px solid rgba(104,75,208,.12); border-radius: 26px; background: rgba(255,255,255,.97); box-shadow: 0 18px 38px rgba(70,53,137,.08); }
.nexora-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.nexora-panel__head h3,
.nexora-quick-section__head h3 { margin: 4px 0 0; color: #272142; font-size: 1.05rem; }
.nexora-panel__eyebrow { color: #8e84af; font-size: .6rem; font-weight: 700; letter-spacing: .13em; }
.nexora-chart-legend { display: flex; flex-wrap: wrap; gap: 13px; color: #8e88a2; font-size: .65rem; }
.nexora-chart-legend span { display: flex; align-items: center; gap: 6px; }
.nexora-chart-legend i { width: 8px; height: 8px; border-radius: 50%; }
.nexora-chart-legend .is-actual { background: #6038e8; }
.nexora-chart-legend .is-full { background: #b9adc9; }
.nexora-chart { margin-top: 12px; }
.nexora-chart svg { display: block; width: 100%; height: 250px; overflow: visible; }
.nexora-chart__grid line { stroke: #ede9f5; stroke-width: 1; }
.nexora-chart__line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.nexora-chart__line--actual { stroke: #6038e8; filter: drop-shadow(0 5px 7px rgba(96,56,232,.18)); }
.nexora-chart__line--full { stroke: #c5bbd6; stroke-width: 2.5; stroke-dasharray: 7 7; }
.nexora-chart__dot { fill: #fff; stroke: #6038e8; stroke-width: 4; }
.nexora-chart__labels { display: grid; grid-template-columns: repeat(7,1fr); padding: 0 2.7%; color: #9b95aa; font-size: .62rem; text-align: center; }
.nexora-live-dot { padding: 5px 8px; border-radius: 999px; background: #e9f9ef; color: #17955a; font-size: .56rem; font-weight: 700; letter-spacing: .08em; }
.nexora-pulse-list { display: grid; gap: 4px; margin-top: 18px; }
.nexora-pulse-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid #f0edf5; }
.nexora-pulse-list span { display: flex; align-items: center; gap: 9px; color: #777087; font-size: .72rem; }
.nexora-pulse-list i { width: 8px; height: 8px; border-radius: 50%; }
.nexora-pulse-list i.is-purple { background:#7651eb; }.nexora-pulse-list i.is-blue { background:#4f93ec; }.nexora-pulse-list i.is-orange { background:#f2a33d; }.nexora-pulse-list i.is-green { background:#34b879; }
.nexora-pulse-list i.is-amber { background:#e7b12d; }
.nexora-pulse-list i.is-pink { background:#e96c9c; }
.nexora-pulse-list i.is-lime { background:#9fdc39; box-shadow:0 0 0 4px rgba(159,220,57,.13); }
.nexora-pulse-list > div.nexora-pulse-list__remaining { margin-top:4px;padding:11px 12px;border:1px solid #ded3ff;border-bottom:1px solid #ded3ff;border-radius:13px;background:linear-gradient(135deg,#f4f0ff,#faf8ff); }
.nexora-pulse-list__remaining strong { color:#5b35d4; }
.admin-log-item__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.admin-expense-proof-btn {
    flex: 0 0 auto;
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid #d9cff8;
    border-radius: 9px;
    background: #f4f0ff;
    color: #6139db;
    font-family: inherit;
    font-size: .68rem;
    font-weight: 800;
    cursor: zoom-in;
}
.admin-expense-proof-btn:hover {
    border-color: #b9a7f3;
    background: #ece6ff;
}
@media (max-width: 560px) {
    .admin-log-item__body {
        align-items: flex-start;
        flex-direction: column;
    }
    .admin-expense-proof-btn {
        width: 100%;
    }
}
.nexora-pulse-list strong { color: #2c2645; font-size: .82rem; }
.nexora-pulse-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 15px; border-radius: 16px; background: #f5f1ff; color: #746b91; font-size: .7rem; }
.nexora-pulse-footer strong { color: #5a34d3; font-size: .86rem; }
.nexora-team-section { margin-bottom: 18px; }
.nexora-panel__head--wrap { flex-wrap: wrap; }
.nexora-text-link { color: #6540df; font-size: .7rem; font-weight: 600; }
.nexora-team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 18px; }
.nexora-team-card { min-width: 0; padding: 17px; border: 1px solid #ece7f5; border-radius: 20px; background: linear-gradient(160deg,#fff,#fbfaff); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.nexora-team-card:hover { transform: translateY(-2px); border-color: #c9bbf5; box-shadow: 0 13px 25px rgba(77,55,156,.09); }
.nexora-team-card__head { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; }
.nexora-team-card__avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; background: linear-gradient(135deg,#5a32d9,#8059f4); color: #fff; font-weight: 700; }
.nexora-team-card h4 { margin: 0; color: #2b2543; font-size: .85rem; }
.nexora-team-card__head div:nth-child(2) span { color: #9a94aa; font-size: .6rem; }
.nexora-team-card__rate { padding: 5px 7px; border-radius: 999px; background: #eeebf8; color: #6d55ac; font-size: .62rem; font-weight: 700; }
.nexora-team-card__amount { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: 17px; }
.nexora-team-card__amount span { color:#8e879e;font-size:.62rem; }.nexora-team-card__amount strong { color:#2b2543;font-size:1.1rem; }
.nexora-team-card__progress { height: 5px; margin-top: 10px; overflow: hidden; border-radius: 5px; background: #ece7f5; }
.nexora-team-card__progress span { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6841e5,#9a7af5); }
.nexora-team-card__foot { display:flex;justify-content:space-between;gap:8px;margin-top:13px;color:#9b95aa;font-size:.58rem; }.nexora-team-card__foot b { color:#5d5670;font-weight:600; }
.nexora-quick-section { margin-bottom: 10px; padding: 22px; border-radius: 26px; background: linear-gradient(145deg,#f0ebff,#f8f6ff); border:1px solid #e2d8ff; }
.nexora-quick-section__head { display:flex;align-items:center;justify-content:space-between;gap:15px; }
.nexora-pending-chip { padding:7px 10px;border-radius:999px;background:#fff0ef;color:#c74d49;font-size:.64rem;font-weight:600; }
.nexora-quick-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:17px; }
.nexora-quick-grid > a { display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid rgba(99,67,196,.1);border-radius:17px;background:#fff;color:#2b2543;box-shadow:0 8px 18px rgba(69,51,128,.05);transition:transform .18s ease,box-shadow .18s ease; }
.nexora-quick-grid > a:hover { transform:translateY(-2px);box-shadow:0 13px 24px rgba(69,51,128,.1); }
.nexora-quick-grid > a > span { display:grid;place-items:center;width:40px;height:40px;border-radius:13px;font-style:normal; }.nexora-quick-grid .is-purple{background:#eee9ff;color:#6841df}.nexora-quick-grid .is-blue{background:#e9f3ff;color:#3b82d7}.nexora-quick-grid .is-green{background:#e8f8ef;color:#22965c}.nexora-quick-grid .is-orange{background:#fff2e2;color:#d98a25}
.nexora-quick-grid strong,.nexora-quick-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nexora-quick-grid strong{font-size:.74rem}.nexora-quick-grid small{margin-top:3px;color:#9a94a9;font-size:.56rem}.nexora-quick-grid i{color:#aa9dc8;font-size:1.2rem;font-style:normal}

@media (max-width: 1180px) {
    .nexora-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nexora-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nexora-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nexora-dashboard-filter { grid-template-columns:1fr; }
    .nexora-insight-grid { gap:10px; }
    .nexora-insight-grid > .nexora-panel { padding:14px; }
    .nexora-insight-grid .nexora-radial-card { grid-template-columns:86px minmax(0,1fr);gap:10px; }
    .nexora-insight-grid .nexora-radial-card__chart { width:82px; }
    .nexora-insight-grid .nexora-radial-card__chart > div { width:62px; }
    .nexora-insight-grid .nexora-radial-card__chart strong { font-size:.9rem; }
    .nexora-performance-grid { grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:11px; }
    .nexora-dual-radial-card,.nexora-performance-grid .nexora-pulse-panel { padding:15px; }
    .nexora-dual-radial-card__row { grid-template-columns:86px minmax(0,1fr);gap:11px;padding:12px; }
    .nexora-dual-radial-card__row .nexora-radial-card__chart { width:80px; }
    .nexora-dual-radial-card__row .nexora-radial-card__chart > div { width:60px; }
}
@media (max-width: 900px) {
    .nexora-login { grid-template-columns: 1fr; }
    .nexora-login__visual { display: none; }
    .nexora-login__panel { min-height:100vh;padding:30px 20px;align-content:center; }
    .nexora-login__mobile-brand { display:flex;position:absolute;top:24px;left:24px;color:#34285e; }
    .nexora-login__mobile-brand .nexora-login__brand-mark { background:linear-gradient(135deg,#5730d7,#7f59f2);border:0;box-shadow:0 10px 20px rgba(87,48,215,.2); }
    .nexora-admin-hero { grid-template-columns:1fr; }
    .nexora-analytics-grid { grid-template-columns:1fr; }
    .nexora-dashboard-filter form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nexora-radial-grid { grid-template-columns:1fr; }
    .nexora-performance-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
    .nexora-insight-grid { grid-template-columns:1fr; }
    .nexora-insight-grid > .nexora-panel { padding:18px; }
    .nexora-insight-grid .nexora-radial-card { grid-template-columns:110px minmax(0,1fr);gap:16px;text-align:left;justify-items:stretch; }
    .nexora-insight-grid .nexora-radial-card__chart { width:106px; }
    .nexora-insight-grid .nexora-radial-card__chart > div { width:80px; }
}
@media (max-width: 620px) {
    .nexora-login__panel { padding:92px 18px 28px;align-content:start; }
    .nexora-login__welcome { margin-bottom:27px; }
    .nexora-login__welcome-icon { width:44px;height:44px;margin-bottom:17px;border-radius:15px; }
    .nexora-login__form { gap:16px; }
    .nexora-login__input-wrap { min-height:53px; }
    .nexora-admin-hero { padding:24px 20px;border-radius:25px; }
    .nexora-admin-hero h2 { font-size:1.65rem; }
    .nexora-kpi-grid,.nexora-team-grid,.nexora-quick-grid { grid-template-columns:1fr; }
    .nexora-dashboard-filter form { grid-template-columns:1fr; }
    .nexora-radial-card { grid-template-columns:1fr;justify-items:center;text-align:center; }
    .nexora-radial-card__content > div { text-align:left; }
    .nexora-kpi { padding:18px;border-radius:20px; }
    .nexora-panel,.nexora-quick-section { padding:18px;border-radius:22px; }
    .nexora-panel__head { flex-direction:column;align-items:flex-start;gap:10px; }
    .nexora-chart svg { height:190px; }
    .nexora-team-card__foot { flex-direction:column; }
    .nexora-quick-section__head { align-items:flex-start;flex-direction:column; }
}
.bottom-nav {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(430px, 100%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 8px 6px 10px;
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid #ddd7f7;
    box-shadow: 0 -6px 18px rgba(88, 68, 183, 0.08);
    z-index: 50;
}
.bottom-nav__item {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 4px;
    color: #292243;
    font-size: 0.7rem;
    padding: 6px 2px 0;
}
.bottom-nav__item.is-active {
    color: var(--mobile-purple);
    font-weight: 800;
}
.bottom-nav__item.is-active::before {
    content: "";
    position: absolute;
    top: -8px;
    width: 60px;
    height: 3px;
    border-radius: 999px;
    background: var(--mobile-purple);
}
.bottom-nav__icon {
    font-size: 1.4rem;
    line-height: 1;
}

.line-auth-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 20%, rgba(123, 97, 255, 0.22), transparent 26%),
        radial-gradient(circle at 85% 15%, rgba(91, 48, 221, 0.24), transparent 22%),
        linear-gradient(180deg, #f5f2ff 0%, #ede9ff 100%);
}

.line-auth-page {
    position: relative;
    min-height: 100vh;
    padding: 28px 18px;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.line-auth-page__glow {
    position: absolute;
    width: 340px;
    height: 340px;
    border-radius: 999px;
    filter: blur(48px);
    opacity: 0.55;
    pointer-events: none;
}

.line-auth-page__glow--left {
    left: -80px;
    top: 40px;
    background: rgba(125, 95, 255, 0.35);
}

.line-auth-page__glow--right {
    right: -100px;
    bottom: 60px;
    background: rgba(99, 61, 244, 0.28);
}

.line-auth-card {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    padding: 26px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(135, 114, 241, 0.2);
    box-shadow: 0 28px 60px rgba(83, 74, 155, 0.14);
    backdrop-filter: blur(12px);
}

.line-auth-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #5a30dd, #7a5fff);
    color: #fff;
    font-size: 0.84rem;
    font-weight: 700;
}

.line-auth-card__title {
    margin: 16px 0 8px;
    color: #1b2040;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    line-height: 1.08;
    font-weight: 800;
}

.line-auth-card__desc {
    margin: 0;
    color: #72769a;
    font-size: 1rem;
    line-height: 1.7;
}

.line-auth-panel {
    margin-top: 22px;
    padding: 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(101, 63, 245, 0.06) 0%, rgba(255, 255, 255, 0.86) 100%);
    border: 1px solid #e2dcff;
}

.line-auth-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.line-auth-panel__eyebrow {
    color: #7a7ead;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.line-auth-panel__title {
    margin: 6px 0 0;
    color: #1b2040;
    font-size: 1.2rem;
    font-weight: 800;
}

.line-auth-pill {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 700;
    white-space: nowrap;
}

.line-auth-pill.is-ready {
    background: #e9fff0;
    color: #0d8f5f;
}

.line-auth-pill.is-missing {
    background: #fff1f2;
    color: #c2410c;
}

.line-auth-info-card {
    padding: 16px 18px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #e8eaf8;
}

.line-auth-info-card__title {
    color: #1b2040;
    font-size: 1rem;
    font-weight: 800;
}

.line-auth-info-card__desc {
    margin-top: 8px;
    color: #72769a;
    line-height: 1.65;
}

.line-auth-status {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f5f2ff;
    color: #5a30dd;
    font-weight: 700;
    text-align: center;
}

.line-auth-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

.line-auth-back-btn {
    min-width: 200px;
}

.line-auth-swal {
    border-radius: 24px !important;
}
@media (max-width: 900px) {
    .split { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .app-shell { padding: 12px; }
    .topbar { padding: 16px; flex-direction: column; }
    .tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tabs a, .btn { width: 100%; }
    table { min-width: 680px; }
}
@media (max-width: 430px) {
    .line-auth-card {
        padding: 20px 18px;
        border-radius: 24px;
    }

    .line-auth-panel__head,
    .line-auth-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .line-auth-back-btn {
        width: 100%;
    }

    .admin-pending-card__grid {
        grid-template-columns: 1fr;
    }

    .employee-shell {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .mobile-summary-big { font-size: 2.7rem; }
    .mobile-summary-percent-value { font-size: 2rem; }
    .mobile-toolbar__action {
        min-width: 88px;
        font-size: 0.9rem;
    }
    .mobile-toolbar__title {
        font-size: 0.96rem;
    }
    .mobile-customer-stats,
    .mobile-customer-hero-grid,
    .mobile-customer-item__grid,
    .mobile-customer-item__actions,
    .mobile-customer-search,
    .mobile-contract-report-grid,
    .mobile-contract-search-form__actions {
        grid-template-columns: 1fr;
    }
    .mobile-contract-search-hero-stats,
    .mobile-customer-hero-stats-fixed,
    .mobile-contract-report-grid--fixed-two,
    .mobile-customer-page--customers .mobile-customer-item__grid--fixed-two,
    .mobile-customer-hero-grid--detail,
    .mobile-customer-item__grid--detail,
    .mobile-profile-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-customer-page--customers .mobile-customer-item__actions {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .mobile-current-contract-card__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-current-contract-card__summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mobile-current-contract-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-current-contract-search button,
    .mobile-current-contract-search__clear {
        min-height: 40px;
        padding: 0 10px;
        font-size: 0.82rem;
    }
    .mobile-current-contract-card__summary {
        padding: 13px;
    }
    .mobile-current-contract-card__stat,
    .mobile-current-contract-card__mini {
        padding: 10px;
    }
    .mobile-current-contract-card__stat strong {
        font-size: 0.94rem;
    }
    .mobile-current-contract-card__mini strong {
        font-size: 0.88rem;
    }
    .mobile-customer-section__head {
        align-items: flex-start;
        flex-direction: column;
    }
    .mobile-loan-history-card__head,
    .mobile-customer-action-group,
    .mobile-customer-hero__head {
        align-items: stretch;
        flex-direction: column;
    }
    .mobile-current-contract-card__badges {
        position: absolute;
        top: 0;
        right: 0;
        justify-content: flex-end;
    }
    .mobile-loan-history-card__badges {
        justify-content: flex-start;
    }
    .mobile-dashboard-hero__top {
        flex-direction: column;
    }
    .mobile-dashboard-main {
        grid-template-columns: 1fr;
    }
    .mobile-dashboard-percent {
        text-align: left;
    }
    .mobile-dashboard-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mobile-dashboard-hero-v2__head {
        flex-direction: column;
    }
    .mobile-dashboard-highlight-grid,
    .mobile-dashboard-board__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-dashboard-board__grid--triple {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mobile-dashboard-cash-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-dashboard-mini-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mobile-dashboard-odometer-grid,
    .mobile-expense-summary-strip,
    .mobile-expense-dual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-dashboard-settlement-card__head {
        flex-direction: column;
    }
    .mobile-dashboard-settlement-card__due {
        width: 100%;
        text-align: left;
    }
    .mobile-customer-page--detail .mobile-loan-history-card__head {
        flex-direction: column;
        gap: 10px;
    }
    .mobile-customer-hero__map-btn {
        width: 100%;
    }
}

/* Mobile login overrides must stay after the legacy responsive rules. */
@media (max-width: 620px) {
    body.nexora-login-shell { background:#f1edfb; }
    .nexora-login { min-height:100dvh; }
    .nexora-login__panel {
        position:relative;
        display:block;
        min-height:100dvh;
        overflow:hidden;
        padding:0 14px 28px;
        background:radial-gradient(circle at 84% 4%,rgba(202,255,67,.16),transparent 17%),linear-gradient(180deg,#4821c7 0,#6d3df0 220px,#f2eefc 220px,#f7f5fd 100%);
    }
    .nexora-login__panel::before,.nexora-login__panel::after { position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:'';pointer-events:none; }
    .nexora-login__panel::before { top:-82px;right:-70px;width:220px;height:220px; }
    .nexora-login__panel::after { top:116px;left:-85px;width:170px;height:170px; }
    .nexora-login__mobile-brand {
        position:relative;
        z-index:2;
        top:auto;
        left:auto;
        display:flex;
        margin:0;
        padding:20px 7px 0;
        color:#fff;
    }
    .nexora-login__mobile-brand .nexora-login__brand-mark { width:45px;height:45px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(36,15,113,.2); }
    .nexora-login__mobile-brand > span:last-child strong,.nexora-login__mobile-brand > span:last-child small { display:block; }
    .nexora-login__mobile-brand > span:last-child strong { font-size:.96rem; }
    .nexora-login__mobile-brand > span:last-child small { margin-top:2px;color:rgba(255,255,255,.63);font-size:.56rem;font-weight:500;letter-spacing:.04em; }
    .nexora-login__form-wrap {
        position:relative;
        z-index:2;
        width:min(100%,440px);
        margin:42px auto 0;
        padding:24px 20px 20px;
        border:1px solid rgba(255,255,255,.75);
        border-radius:28px;
        background:rgba(255,255,255,.97);
        box-shadow:0 24px 55px rgba(47,31,105,.18);
    }
    .nexora-login__welcome { display:grid;grid-template-columns:43px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:12px;margin-bottom:23px; }
    .nexora-login__welcome-icon { grid-row:1/3;width:43px;height:43px;margin:0;border-radius:14px;box-shadow:0 10px 21px rgba(91,49,222,.19);font-size:1rem; }
    .nexora-login__welcome h2 { align-self:end;font-size:1.35rem;line-height:1.2;letter-spacing:-.025em; }
    .nexora-login__welcome p { align-self:start;margin:3px 0 0;font-size:.68rem; }
    .nexora-login__form { gap:15px; }
    .nexora-login__form label > span { margin-bottom:7px;font-size:.72rem; }
    .nexora-login__input-wrap { min-height:50px;padding:0 13px;border-color:#e4def4;border-radius:14px;background:#faf9fd; }
    .nexora-login__input-wrap input { min-height:48px;font-size:.84rem; }
    .nexora-login__remember { gap:8px; }
    .nexora-login__remember-box { width:18px;height:18px; }
    .nexora-login__remember > span:last-child { font-size:.66rem; }
    .nexora-login__submit { min-height:52px;margin-top:0;padding:0 18px;border-radius:15px;font-size:.84rem;box-shadow:0 13px 25px rgba(83,41,210,.23); }
    .nexora-login__divider { gap:10px;margin:21px 0 15px;font-size:.63rem; }
    .nexora-login__line { grid-template-columns:40px minmax(0,1fr) auto;gap:11px;padding:11px 12px;border-color:#e1daf3;border-radius:15px;background:linear-gradient(135deg,#fff,#f9f7ff); }
    .nexora-login__line-icon { width:40px;height:40px;border-radius:12px;font-size:.57rem; }
    .nexora-login__line strong { font-size:.74rem; }
    .nexora-login__line small { margin-top:2px;font-size:.59rem; }
    .nexora-login__support { margin-top:18px;color:#9b94aa;font-size:.59rem; }
}
@media (max-width: 370px) {
    .nexora-login__panel { padding-inline:10px; }
    .nexora-login__form-wrap { margin-top:32px;padding:20px 16px 17px;border-radius:24px; }
    .nexora-login__welcome h2 { font-size:1.2rem; }
}
/* Platform owner / subscription control */
.platform-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;padding:34px 38px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#29147e 0%,#6035e7 58%,#8256f5 100%);box-shadow:0 24px 54px rgba(71,43,166,.24)}
.platform-hero:after{content:"";position:absolute;right:-45px;top:-100px;width:270px;height:270px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.platform-hero--compact{padding-block:28px}.platform-hero h2{position:relative;margin:5px 0 7px;font-size:clamp(25px,3vw,38px);line-height:1.2}.platform-hero p{position:relative;margin:0;color:#ded5ff;max-width:730px}.platform-kicker{position:relative;color:#c9ff55;font-size:11px;font-weight:800;letter-spacing:.13em}.platform-hero__action{position:relative;z-index:1;flex:none;padding:14px 20px;border:0;border-radius:14px;background:#fff;color:#4e28ca;font:700 14px Prompt,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px rgba(31,15,91,.2)}
.platform-credit{position:relative;z-index:1;min-width:230px;padding:20px 24px;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}.platform-credit span,.platform-credit small{display:block;color:#ddd4ff}.platform-credit strong{display:block;font-size:30px;margin:5px 0}
.platform-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.platform-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-metric-grid article{position:relative;overflow:hidden;min-height:130px;padding:24px;border:1px solid #e8e1fb;border-radius:22px;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 14px 35px rgba(45,28,102,.07)}.platform-metric-grid article:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-35px;top:-38px;background:#eee8ff}.platform-metric-grid article.is-accent{color:#fff;background:linear-gradient(145deg,#4d25d3,#7549f2)}.platform-metric-grid article.is-accent:after{background:rgba(255,255,255,.11)}.platform-metric-grid article.is-warning:after{background:#fff1d7}.platform-metric-grid span,.platform-metric-grid small{position:relative;z-index:1;display:block;color:#81799c;font-size:12px}.platform-metric-grid .is-accent span,.platform-metric-grid .is-accent small{color:#dcd2ff}.platform-metric-grid strong{position:relative;z-index:1;display:block;margin:8px 0 2px;font-size:30px}.platform-metric-grid strong.platform-text-value{font-size:21px}
.platform-card{margin-bottom:24px;padding:24px;border:1px solid #e5def8;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(47,30,100,.07)}.platform-form-card{max-width:860px;margin-inline:auto}.platform-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.platform-section-head span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#8174ad}.platform-section-head h3{margin:3px 0 0;font-size:20px}.platform-section-head a,.platform-section-head button{border:0;background:none;color:#5b31dd;font:700 13px Prompt,sans-serif;text-decoration:none;cursor:pointer}
.platform-table-scroll{width:100%;overflow:auto;border:1px solid #eee9fb;border-radius:18px;scrollbar-color:#bca8f4 #f3effc;scrollbar-width:thin}.platform-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.platform-table--wide{min-width:1120px}.platform-table th{position:sticky;top:0;z-index:1;padding:14px 15px;background:#f0eaff;color:#4d426c;font-size:12px;text-align:left;white-space:nowrap}.platform-table td{padding:14px 15px;border-top:1px solid #eee9fb;font-size:13px;vertical-align:middle}.platform-table tbody tr:hover{background:#fbfaff}.platform-table td small,.platform-table td strong{display:block}.platform-table td small{margin-top:3px;color:#8c84a3;font-size:11px}.platform-table .num{text-align:right;font-variant-numeric:tabular-nums}.platform-empty{padding:34px!important;text-align:center!important;color:#948ba9}.platform-empty-state{text-align:center;padding:50px}.platform-empty-state p{color:#81799c}
.platform-status{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;background:#f0edf6;color:#716881;font-size:10px!important;font-weight:700}.platform-status.is-approved,.platform-status.is-manual{background:#e2f8eb;color:#16804a}.platform-status.is-pending,.platform-status.is-verifying{background:#fff2db;color:#a55b08}.platform-status.is-rejected{background:#ffe5e8;color:#c2293d}.platform-actions{display:flex;align-items:center;gap:6px}.platform-actions form{margin:0}.platform-actions button,.platform-table button,.platform-manual-button{border:1px solid #ded4f7;border-radius:9px;padding:7px 10px;background:#fff;color:#5b31d7;font:600 11px Prompt,sans-serif;cursor:pointer;white-space:nowrap}.platform-actions .is-primary,.platform-manual-button{background:#6338e7!important;color:#fff!important;border-color:#6338e7!important}
.platform-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.platform-form-grid label>span{display:block;margin-bottom:7px;color:#625977;font-size:12px;font-weight:600}.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #ddd4f5;border-radius:12px;padding:12px 14px;background:#fcfbff;color:#251d3e;font:500 13px Prompt,sans-serif;outline:none}.platform-form-grid input:focus,.platform-form-grid select:focus,.platform-form-grid textarea:focus{border-color:#754cf0;box-shadow:0 0 0 3px #754cf019}.platform-form-grid textarea{min-height:90px;resize:vertical}.platform-span-full{grid-column:1/-1}.platform-form-actions{display:flex;justify-content:flex-end;margin-top:4px}.platform-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border:1px solid #e2daf7;border-radius:14px;padding:14px}.platform-check-grid legend{padding:0 7px;font-size:12px;font-weight:700}.platform-check-grid label{display:flex;gap:8px;align-items:center}.platform-check-grid input{width:auto}
.platform-modal[hidden]{display:none}.platform-modal{position:fixed;z-index:5000;inset:0;display:grid;place-items:center;padding:20px}.platform-modal__backdrop{position:absolute;inset:0;background:rgba(24,14,61,.69);backdrop-filter:blur(5px)}.platform-modal__dialog{position:relative;width:min(900px,94vw);max-height:90vh;overflow:auto;box-sizing:border-box;padding:28px;border:1px solid #e7e0fa;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(19,9,54,.42)}.platform-modal__dialog--small{width:min(560px,94vw)}.platform-modal__dialog--image{width:min(780px,94vw);text-align:center}.platform-modal__dialog--image img{display:block;max-width:100%;max-height:70vh;margin:auto;border-radius:14px}.platform-modal__dialog h3{margin:5px 0 22px;font-size:23px}.platform-modal__close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:1px solid #e4dcf7;border-radius:50%;background:#faf8ff;color:#5832d7;font-size:21px;cursor:pointer}
.platform-two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:20px}.platform-bank-list{display:grid;gap:10px}.platform-bank-list article{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #e8e1f8;border-radius:15px}.platform-bank-list strong,.platform-bank-list span{display:block}.platform-bank-list span{color:#867e9d;font-size:11px}.platform-bank-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ede7ff;color:#6037dc;font-weight:800}.platform-filter-tabs{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.platform-filter-tabs a{flex:none;padding:8px 13px;border:1px solid #e3dcf7;border-radius:999px;color:#6f6686;text-decoration:none;font-size:12px}.platform-filter-tabs a.is-active{background:#6036e3;color:#fff;border-color:#6036e3}.platform-impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 24px 0;padding:12px 16px;border:1px solid #f2ce76;border-radius:14px;background:#fff7d8;color:#765000;font-size:13px}.platform-impersonation-banner form{margin:0}.platform-impersonation-banner button{border:0;border-radius:9px;padding:8px 12px;background:#5a30db;color:#fff;font:600 11px Prompt,sans-serif;cursor:pointer}
@media(max-width:1050px){.platform-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-two-column{grid-template-columns:1fr}}
@media(max-width:700px){.platform-hero{align-items:flex-start;flex-direction:column;padding:26px 22px;border-radius:22px}.platform-hero__action{width:100%;box-sizing:border-box;text-align:center}.platform-credit{width:100%;box-sizing:border-box}.platform-metric-grid,.platform-metric-grid--three{grid-template-columns:1fr 1fr}.platform-metric-grid article{min-height:112px;padding:18px}.platform-metric-grid strong{font-size:24px}.platform-card{padding:17px;border-radius:19px}.platform-form-grid{grid-template-columns:1fr}.platform-form-grid .platform-span-full{grid-column:auto}.platform-check-grid{grid-template-columns:1fr}.platform-section-head{align-items:flex-start}.platform-modal{padding:8px}.platform-modal__dialog{padding:23px 17px;border-radius:20px}.platform-impersonation-banner{align-items:flex-start;flex-direction:column;margin-inline:12px}.platform-impersonation-banner button{width:100%}.platform-impersonation-banner form{width:100%}}
.platform-transfer-note{margin:-8px 0 20px;padding:13px 15px;border:1px solid #e2daf8;border-radius:13px;background:#f8f5ff;color:#6d6387;font-size:12px;line-height:1.7}.platform-transfer-check{display:flex!important;align-items:center;gap:9px;padding:12px;border-radius:12px;background:#fff8e6}.platform-transfer-check input{width:auto!important}.platform-transfer-check span{margin:0!important}.platform-form-grid label.is-muted{opacity:.45}
.inspector-data-card{border-color:#dcd0ff;background:linear-gradient(145deg,#fff 0%,#fbf9ff 100%)}.inspector-permission-summary{display:block;max-width:420px;color:#665c7e;font-size:11px;line-height:1.7}.inspector-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border:1px solid #ddd4f6;border-radius:16px;padding:15px}.inspector-permission-grid legend{padding:0 8px;color:#4d3e78;font-size:12px;font-weight:700}.inspector-permission-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #eee8fc;border-radius:11px;background:#faf8ff}.inspector-permission-grid input{width:auto!important}.inspector-permission-grid span{margin:0!important;font-size:11px!important}@media(max-width:850px){.inspector-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.inspector-permission-grid{grid-template-columns:1fr}}
