:root {
    --lr-ink: #2d3148;
    --lr-ink-soft: #40445f;
    --lr-muted: #7a8498;
    --lr-line: rgba(128, 143, 174, .22);
    --lr-bg: #edf7ff;
    --lr-panel: rgba(255, 255, 255, .92);
    --lr-blue: #6d28d9;
    --lr-blue-dark: #4f16bf;
    --lr-purple: #722cf2;
    --lr-purple-soft: #f2edff;
    --lr-teal: #19a7b5;
    --lr-green: #15803d;
    --lr-amber: #d97706;
    --lr-red: #dc2626;
    --lr-slate: #475569;
    --lr-soft-blue: #f3f0ff;
    --lr-soft-teal: #ecfeff;
    --lr-soft-green: #ecfdf5;
    --lr-soft-amber: #fff7ed;
    --lr-soft-red: #fff1f2;
    --lr-radius: 8px;
    --lr-shadow: 0 18px 42px rgba(64, 66, 107, .12);
    --lr-shadow-soft: 0 8px 24px rgba(64, 66, 107, .08);
    --lr-sidebar-width: 252px;
    --lr-sidebar-collapsed-width: 72px;
    --lr-section-gap: 1rem;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    color: var(--lr-ink);
    background:
        linear-gradient(135deg, #e5f7ff 0%, #f8fbff 45%, #eef1ff 100%),
        var(--lr-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
}

a {
    text-decoration: none;
}

.btn,
.form-control,
.form-select,
.alert,
.accordion-item,
.accordion-button {
    border-radius: var(--lr-radius);
}

.btn-primary {
    --bs-btn-bg: var(--lr-blue);
    --bs-btn-border-color: var(--lr-blue);
    --bs-btn-hover-bg: var(--lr-blue-dark);
    --bs-btn-hover-border-color: var(--lr-blue-dark);
    --bs-btn-active-bg: var(--lr-blue-dark);
    --bs-btn-active-border-color: var(--lr-blue-dark);
    box-shadow: 0 10px 22px rgba(109, 40, 217, .2);
}

.btn-outline-primary {
    --bs-btn-color: var(--lr-blue);
    --bs-btn-border-color: rgba(109, 40, 217, .38);
    --bs-btn-hover-bg: var(--lr-blue);
    --bs-btn-hover-border-color: var(--lr-blue);
}

.form-control,
.form-select {
    border-color: var(--lr-line);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(109, 40, 217, .48);
    box-shadow: 0 0 0 .2rem rgba(109, 40, 217, .12);
}

.lr-auth-page {
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(109, 40, 217, .13), rgba(25, 167, 181, .1) 46%, rgba(255, 255, 255, .68)),
        var(--lr-bg);
}

.lr-login-wrap {
    display: grid;
    grid-template-columns: minmax(320px, 460px) minmax(280px, 420px);
    gap: 1rem;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 1rem;
}

.lr-login-card,
.lr-panel,
.lr-login-side > div {
    background: var(--lr-panel);
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    box-shadow: var(--lr-shadow);
    backdrop-filter: blur(18px);
}

.lr-login-card {
    padding: 1.4rem;
}

.lr-login-brand,
.lr-login-note,
.lr-user-mini,
.lr-page-head,
.lr-panel-head,
.lr-workspace-top,
.lr-document-toolbar,
.lr-work-item,
.lr-queue-card,
.lr-version-list article,
.lr-notification-list article,
.lr-issue-list article {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
}

.lr-login-brand span,
.lr-brand-mark,
.lr-avatar,
.lr-work-icon,
.lr-report-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--lr-radius);
    flex: 0 0 auto;
}

.lr-brand-mark img,
.lr-avatar img,
.lr-topbar-avatar {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}

.lr-login-brand span,
.lr-brand-mark {
    width: 3rem;
    height: 3rem;
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
    font-size: 1.15rem;
}

.lr-eyebrow {
    margin: 0 0 .2rem;
    color: var(--lr-muted);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.lr-icon-action {
    position: relative;
    display: inline-flex;
    width: 2.15rem;
    height: 2.15rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
}

.lr-icon-action .badge {
    position: absolute;
    top: -.32rem;
    right: -.32rem;
    min-width: 1.05rem;
    padding: .18rem .32rem;
    font-size: .64rem;
}

.lr-login-brand h1,
.lr-page-head h1,
.lr-workspace-top h1,
.lr-report-header h1 {
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.lr-login-brand p,
.lr-page-head p,
.lr-panel-head p,
.lr-login-note p,
.lr-workspace-top p {
    margin: .2rem 0 0;
    color: var(--lr-muted);
}

.lr-form-stack {
    display: grid;
    gap: .85rem;
}

.lr-login-card .lr-form-stack {
    margin-top: 1.1rem;
}

.lr-login-side {
    display: grid;
    gap: 1rem;
}

.lr-panel,
.lr-login-side > div {
    padding: 1rem;
}

.lr-login-side h2,
.lr-panel h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
}

.lr-demo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin-top: .75rem;
}

.lr-demo-grid button {
    min-height: 42px;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .78);
    color: var(--lr-blue);
    font-weight: 700;
}

.lr-login-note span {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--lr-radius);
    background: var(--lr-soft-green);
    color: var(--lr-green);
}

.lr-app-shell {
    display: grid;
    grid-template-columns: var(--lr-sidebar-width) minmax(0, 1fr);
    gap: .85rem;
    min-height: 100vh;
    padding: .75rem;
    transition: grid-template-columns .18s ease;
}

.lr-sidebar {
    position: sticky;
    top: .85rem;
    height: calc(100vh - 1.7rem);
    overflow-y: auto;
    background:
        linear-gradient(180deg, #7c2cf2 0%, #6527e8 48%, #4f1fd6 100%);
    color: #fff;
    padding: .75rem;
    border-radius: 18px;
    box-shadow: 0 24px 48px rgba(86, 43, 210, .28);
}

.lr-brand {
    display: flex;
    align-items: center;
    gap: .62rem;
    min-height: 56px;
    padding: .6rem;
    color: #fff;
}

.lr-brand:hover {
    color: #fff;
}

.lr-brand small,
.lr-user-mini small,
.lr-topbar-title span {
    display: block;
    color: rgba(255, 255, 255, .82);
    font-size: .78rem;
}

.lr-user-mini {
    margin: .75rem 0 1rem;
    padding: .65rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.lr-user-mini:hover {
    color: #fff;
    background: rgba(255, 255, 255, .18);
}

.lr-avatar {
    width: 2.3rem;
    height: 2.3rem;
    background: rgba(255, 255, 255, .22);
    color: #fff;
    font-weight: 800;
    overflow: hidden;
}

.lr-sidebar .lr-brand-mark {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.lr-nav {
    display: grid;
    gap: .25rem;
}

.lr-nav a {
    display: grid;
    grid-template-columns: 1.45rem minmax(0, 1fr);
    align-items: center;
    min-height: 40px;
    padding: .5rem .55rem;
    border-radius: var(--lr-radius);
    color: rgba(255, 255, 255, .9);
    font-size: .94rem;
    font-weight: 700;
}

.lr-nav a:hover,
.lr-nav a.active {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}

.lr-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.lr-topbar {
    position: sticky;
    top: .85rem;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 64px;
    padding: .65rem 1rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .78);
    box-shadow: var(--lr-shadow-soft);
    backdrop-filter: blur(18px);
}

.lr-sidebar-toggle {
    display: inline-flex;
}

body.lr-sidebar-collapsed .lr-app-shell {
    grid-template-columns: var(--lr-sidebar-collapsed-width) minmax(0, 1fr);
}

body.lr-sidebar-collapsed .lr-sidebar {
    padding-left: .55rem;
    padding-right: .55rem;
}

body.lr-sidebar-collapsed .lr-brand {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

body.lr-sidebar-collapsed .lr-brand > span:last-child,
body.lr-sidebar-collapsed .lr-user-mini div,
body.lr-sidebar-collapsed .lr-nav a span {
    display: none;
}

body.lr-sidebar-collapsed .lr-user-mini {
    justify-content: center;
    padding: .55rem;
}

body.lr-sidebar-collapsed .lr-nav a {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-left: 0;
    padding-right: 0;
}

body.lr-sidebar-collapsed .lr-nav a i {
    width: 100%;
    text-align: center;
}

.lr-topbar-title {
    min-width: 0;
}

.lr-topbar-title strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lr-topbar-title span {
    color: var(--lr-muted);
}

.lr-topbar-actions {
    display: flex;
    gap: .45rem;
    margin-left: auto;
}

.lr-content {
    flex: 1;
    padding: .85rem 0 0;
}

.lr-alert {
    box-shadow: var(--lr-shadow);
}

.lr-page-head,
.lr-workspace-top {
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: .15rem .1rem;
}

.lr-head-actions,
.lr-command-row,
.lr-review-actions,
.lr-filter-actions,
.lr-queue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.lr-metric-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: var(--lr-section-gap);
}

.lr-metric {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 86px;
    padding: .85rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: linear-gradient(145deg, #fff 0%, #f8fbff 100%);
    color: var(--lr-ink);
    box-shadow: 0 18px 36px rgba(64, 66, 107, .13);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.lr-metric::after {
    content: "";
    position: absolute;
    inset: auto .85rem .55rem auto;
    width: 2.4rem;
    height: .28rem;
    border-radius: 999px;
    background: rgba(109, 40, 217, .18);
}

.lr-metric:hover {
    transform: translateY(-1px);
    border-color: rgba(109, 40, 217, .22);
    box-shadow: var(--lr-shadow);
}

.lr-metric span {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--lr-radius);
}

.lr-metric strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 800;
    color: var(--lr-purple);
}

.lr-metric small {
    color: var(--lr-muted);
    font-weight: 700;
}

.lr-metric-blue span,
.lr-work-icon.text-bg-primary {
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
}

.lr-metric-blue {
    background: linear-gradient(145deg, #fff 0%, #f2edff 100%);
}

.lr-metric-teal span {
    background: var(--lr-soft-teal);
    color: var(--lr-teal);
}

.lr-metric-teal {
    background: linear-gradient(145deg, #fff 0%, #ecfeff 100%);
}

.lr-metric-green span {
    background: var(--lr-soft-green);
    color: var(--lr-green);
}

.lr-metric-green {
    background: linear-gradient(145deg, #fff 0%, #ecfdf5 100%);
}

.lr-metric-amber span {
    background: var(--lr-soft-amber);
    color: var(--lr-amber);
}

.lr-metric-amber {
    background: linear-gradient(145deg, #fff 0%, #fff7ed 100%);
}

.lr-metric-red span {
    background: var(--lr-soft-red);
    color: var(--lr-red);
}

.lr-metric-red {
    background: linear-gradient(145deg, #fff 0%, #fff1f2 100%);
}

.lr-metric-slate span {
    background: #f1f5f9;
    color: var(--lr-slate);
}

.lr-metric-slate {
    background: linear-gradient(145deg, #fff 0%, #f8fafc 100%);
}

.lr-metric-teal::after {
    background: rgba(25, 167, 181, .24);
}

.lr-metric-green::after {
    background: rgba(21, 128, 61, .22);
}

.lr-metric-amber::after {
    background: rgba(217, 119, 6, .24);
}

.lr-metric-red::after {
    background: rgba(220, 38, 38, .22);
}

.lr-metric-slate::after {
    background: rgba(71, 85, 105, .18);
}

.lr-grid-2,
.lr-upload-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
    gap: 1rem;
    align-items: start;
}

.lr-panel-head {
    justify-content: space-between;
    margin-bottom: .85rem;
}

.lr-panel {
    border-color: rgba(128, 143, 174, .18);
}

.lr-stack,
.lr-card-list,
.lr-result-list,
.lr-version-list,
.lr-comment-list,
.lr-notification-list,
.lr-issue-list,
.lr-indicator-admin-list {
    display: grid;
    gap: .65rem;
}

.lr-work-item {
    align-items: center;
    padding: .7rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
    color: var(--lr-ink);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lr-work-item:hover,
.lr-queue-card:hover {
    border-color: rgba(109, 40, 217, .38);
    box-shadow: var(--lr-shadow-soft);
    transform: translateY(-1px);
}

.lr-work-icon {
    width: 2.3rem;
    height: 2.3rem;
}

.lr-work-item > span:nth-child(2) {
    min-width: 0;
    flex: 1;
}

.lr-work-item strong,
.lr-work-item small,
.lr-comment-list small,
.lr-version-list small {
    display: block;
}

.lr-work-item strong {
    overflow-wrap: anywhere;
}

.lr-work-item small,
.lr-comment-list small,
.lr-version-list small {
    color: var(--lr-muted);
}

.lr-work-item em {
    color: var(--lr-muted);
    font-style: normal;
    font-size: .8rem;
    font-weight: 800;
}

.lr-dss-list {
    display: grid;
    gap: .55rem;
}

.lr-dss-list div {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: .55rem;
    padding: .65rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: linear-gradient(145deg, #fff 0%, #f8fbff 100%);
    box-shadow: var(--lr-shadow-soft);
}

.lr-dss-list div:nth-child(1) {
    background: linear-gradient(145deg, #fff 0%, #fff1f2 100%);
}

.lr-dss-list div:nth-child(2) {
    background: linear-gradient(145deg, #fff 0%, #fff7ed 100%);
}

.lr-dss-list div:nth-child(3) {
    background: linear-gradient(145deg, #fff 0%, #f2edff 100%);
}

.lr-dss-list div:nth-child(4) {
    background: linear-gradient(145deg, #fff 0%, #ecfdf5 100%);
}

.lr-table {
    min-width: 920px;
    margin-bottom: 0;
}

.lr-table th {
    color: var(--lr-muted);
    font-size: .76rem;
    text-transform: uppercase;
    border-bottom-color: rgba(128, 143, 174, .2);
    background: rgba(243, 240, 255, .72);
}

.lr-table td {
    border-color: rgba(128, 143, 174, .18);
}

.lr-table tbody tr {
    transition: background .16s ease;
}

.lr-table tbody tr:hover {
    background: rgba(243, 240, 255, .42);
}

.lr-color-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 26px;
    padding: .2rem .48rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, .86);
    color: var(--lr-slate);
    font-size: .78rem;
    font-weight: 800;
}

.lr-color-badge span,
.lr-dot {
    width: .68rem;
    height: .68rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

.lr-color-green span,
.lr-dot-green {
    background: var(--lr-green);
}

.lr-color-orange span,
.lr-dot-orange {
    background: var(--lr-amber);
}

.lr-color-red span,
.lr-dot-red {
    background: var(--lr-red);
}

.lr-color-gray span,
.lr-dot-gray {
    background: #94a3b8;
}

.lr-dot {
    display: inline-block;
    margin-right: .45rem;
}

.lr-mini-counts {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .45rem;
}

.lr-mini-counts > span {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    gap: .28rem;
    padding: .18rem .5rem;
    border: 1px solid var(--lr-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    color: var(--lr-ink-soft);
    font-size: .8rem;
    font-weight: 600;
}

.lr-mini-counts > span .lr-dot {
    margin-right: 0;
}

.lr-topbar-avatar {
    border-radius: 999px;
}

.lr-user-cell,
.lr-profile-photo-row,
.lr-settings-preview {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.lr-user-cell small,
.lr-settings-preview small {
    display: block;
    color: var(--lr-muted);
}

.lr-avatar-light {
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
}

.lr-profile-photo {
    width: 4.8rem;
    height: 4.8rem;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--lr-radius);
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
    font-size: 1.8rem;
    font-weight: 800;
}

.lr-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.lr-table .btn-group form {
    display: inline-flex;
}

.lr-chip-list a,
.lr-chip-list em {
    margin-left: .35rem;
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
}

.lr-chip-list em {
    color: var(--lr-muted);
}

.lr-settings-preview {
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-settings-status {
    display: grid;
    gap: .5rem;
}

.lr-settings-status div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .65rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-settings-status strong {
    color: var(--lr-muted);
    font-size: .78rem;
    text-transform: uppercase;
}

.lr-settings-status span {
    text-align: right;
    font-weight: 700;
}

.lr-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .35fr) auto;
    gap: .75rem;
    align-items: end;
}

.lr-upload-side {
    position: sticky;
    top: 82px;
}

.lr-upload-drop {
    display: grid;
    gap: .35rem;
    min-height: 150px;
    align-content: center;
    justify-items: center;
    padding: 1rem;
    border: 1px dashed #94a3b8;
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
    color: var(--lr-ink);
    text-align: center;
    cursor: pointer;
}

.lr-upload-drop span {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--lr-radius);
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
    font-size: 1.2rem;
}

.lr-upload-drop small {
    color: var(--lr-muted);
}

.lr-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.lr-file-preview {
    min-height: 34px;
    margin: .75rem 0;
    color: var(--lr-muted);
    font-weight: 700;
}

.lr-review-note {
    display: grid;
    grid-template-columns: 1.4rem minmax(0, 1fr);
    gap: .5rem;
    margin-bottom: .9rem;
    padding: .65rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: var(--lr-soft-amber);
    color: #7c2d12;
}

.lr-review-note p {
    margin: 0;
}

.lr-summary-band {
    display: grid;
    grid-template-columns: 1.2fr repeat(4, minmax(90px, .35fr)) 1.2fr;
    gap: .75rem;
}

.lr-summary-band > div,
.lr-work-summary > div,
.lr-review-progress > div {
    min-height: 88px;
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .86);
    box-shadow: var(--lr-shadow-soft);
}

.lr-summary-band strong,
.lr-work-summary strong,
.lr-review-progress strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
}

.lr-summary-band small,
.lr-work-summary small,
.lr-review-progress span {
    color: var(--lr-muted);
    font-weight: 700;
}

.lr-count-green {
    border-top: 4px solid var(--lr-green) !important;
}

.lr-count-orange {
    border-top: 4px solid var(--lr-amber) !important;
}

.lr-count-red {
    border-top: 4px solid var(--lr-red) !important;
}

.lr-count-gray {
    border-top: 4px solid #94a3b8 !important;
}

.lr-recommendation {
    display: grid;
    grid-template-columns: 2.3rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    padding: .8rem;
    border: 1px solid rgba(25, 167, 181, .22);
    border-radius: var(--lr-radius);
    background: rgba(236, 254, 255, .72);
}

.lr-recommendation i {
    color: var(--lr-blue);
}

.lr-recommendation p {
    margin: 0;
    font-weight: 700;
}

.lr-assignment-box,
.lr-compare-grid > div {
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: linear-gradient(145deg, #fff 0%, #f2edff 100%);
    box-shadow: var(--lr-shadow-soft);
}

.lr-assignment-box {
    display: grid;
    gap: .75rem;
}

.lr-assignment-box strong,
.lr-compare-grid strong {
    display: block;
    font-weight: 800;
}

.lr-assignment-box small,
.lr-compare-grid small {
    display: block;
    color: var(--lr-muted);
    font-weight: 700;
}

.lr-compare-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.lr-compare-grid p {
    margin: .45rem 0 0;
    color: var(--lr-muted);
}

.lr-result-card {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr) auto;
    gap: .6rem;
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-result-card p {
    margin: .2rem 0;
}

.lr-result-card small {
    color: var(--lr-muted);
}

.lr-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .55fr);
    gap: 1rem;
    align-items: start;
}

.lr-document-panel,
.lr-evaluation-panel {
    min-width: 0;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: var(--lr-panel);
    box-shadow: var(--lr-shadow);
    backdrop-filter: blur(18px);
}

.lr-document-toolbar {
    justify-content: space-between;
    padding: .75rem;
    border-bottom: 1px solid var(--lr-line);
}

.lr-document-search {
    padding: .75rem;
    border-bottom: 1px solid var(--lr-line);
}

.lr-document-viewer {
    height: calc(100vh - 138px);
    min-height: 790px;
    overflow: auto;
    background: #d9e5f1;
}

.lr-document-viewer iframe {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: block;
    border: 0;
    background: #fff;
}

.lr-document-viewer-file {
    overflow: hidden;
}

.lr-document-fallback {
    display: grid;
    place-items: center;
    align-content: center;
    gap: .7rem;
    height: 100%;
    min-height: inherit;
    padding: 2rem;
    color: var(--lr-muted);
    text-align: center;
    background: #fff;
}

.lr-document-fallback i {
    color: var(--lr-blue);
    font-size: 3rem;
}

.lr-document-fallback strong {
    color: var(--lr-ink);
    font-size: 1.05rem;
}

.lr-document-fallback p {
    max-width: 420px;
    margin: 0;
}

.lr-extracted-preview {
    height: 100%;
    min-height: inherit;
    overflow: auto;
    padding: 1rem;
    background: #eef3f9;
}

.lr-extracted-preview article {
    max-width: 820px;
    margin: 0 auto .9rem;
    padding: 1rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: #fff;
    box-shadow: var(--lr-shadow-soft);
}

.lr-extracted-preview strong {
    display: block;
    margin-bottom: .55rem;
    color: var(--lr-muted);
    font-size: .78rem;
    font-weight: 800;
}

.lr-extracted-preview p {
    margin: 0;
    line-height: 1.6;
}

.lr-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: .4rem .5rem 0;
    border-bottom: 1px solid var(--lr-line);
}

.lr-tabs .nav-link {
    color: var(--lr-muted);
    white-space: nowrap;
    font-size: .88rem;
    font-weight: 650;
    padding: .48rem .7rem;
}

.lr-tab-content {
    height: calc(100vh - 164px);
    min-height: 720px;
    overflow-y: auto;
    padding: .75rem;
}

.lr-work-summary,
.lr-review-progress {
    display: grid;
    gap: .55rem;
}

.lr-work-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lr-review-progress {
    grid-template-columns: 1fr;
    margin-top: .75rem;
}

.lr-work-summary > div,
.lr-review-progress > div {
    min-width: 0;
    min-height: 68px;
    padding: .58rem .62rem;
}

.lr-work-summary strong,
.lr-review-progress strong {
    font-size: 1.14rem;
    line-height: 1.08;
}

.lr-work-summary small,
.lr-review-progress span {
    display: block;
    font-size: .72rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.lr-work-summary .lr-color-badge {
    max-width: 100%;
    margin-bottom: .25rem;
    padding: .16rem .36rem;
    white-space: normal;
    text-align: center;
    font-size: .64rem;
    line-height: 1.08;
}

.lr-indicator-card {
    margin-bottom: .6rem;
    border: 1px solid var(--lr-line) !important;
    overflow: hidden;
}

.lr-indicator-card.is-reviewed {
    border-color: rgba(21, 128, 61, .45) !important;
}

.lr-indicator-card.is-reviewed > .accordion-header .accordion-button {
    background: #f0fdf4;
}

.lr-indicator-card .accordion-button {
    gap: .45rem;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.35;
    padding: .68rem .75rem;
}

.lr-category-accordion {
    display: grid;
    gap: .65rem;
}

.lr-category-card {
    border: 1px solid var(--lr-line) !important;
    overflow: hidden;
}

.lr-category-card > .accordion-header .accordion-button {
    justify-content: space-between;
    gap: .7rem;
    background: rgba(255, 255, 255, .7);
    font-size: .95rem;
    font-weight: 700;
    padding: .75rem .85rem;
}

.lr-category-card > .accordion-header .accordion-button small {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: var(--lr-muted);
    font-size: .78rem;
    font-weight: 700;
}

.lr-category-card > .accordion-header .accordion-button small b {
    font-weight: 800;
}

.lr-category-card > .accordion-collapse > .accordion-body {
    padding: .65rem;
}

.lr-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .85rem;
}

.lr-detail-grid div {
    padding: .6rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .7);
}

.lr-detail-grid dt {
    color: var(--lr-muted);
    font-size: .74rem;
    font-weight: 800;
    text-transform: uppercase;
}

.lr-detail-grid dd {
    margin: .15rem 0 0;
    overflow-wrap: anywhere;
}

.lr-review-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.lr-review-comment,
.lr-review-actions {
    grid-column: 1 / -1;
}

.lr-inline-save-state {
    align-self: center;
    color: var(--lr-muted);
    font-size: .78rem;
    font-weight: 700;
}

.lr-inline-save-state.is-success {
    color: var(--lr-green);
}

.lr-inline-save-state.is-error {
    color: var(--lr-red);
}

.lr-comment-form {
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .7);
}

.lr-comment-list {
    margin-top: .85rem;
}

.lr-comment-list article,
.lr-notification-list article,
.lr-indicator-admin-list article {
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-comment-list article.is-new {
    border-color: rgba(109, 40, 217, .38);
    background: var(--lr-soft-blue);
}

.lr-comment-list article.is-resolved {
    border-color: rgba(21, 128, 61, .28);
    background: var(--lr-soft-green);
}

.lr-comment-status-form {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    margin-top: .55rem;
}

.lr-comment-status-form .form-control {
    flex: 1 1 220px;
}

.lr-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.lr-comment-list p,
.lr-notification-list p,
.lr-indicator-admin-list span,
.lr-indicator-admin-list small {
    margin: .2rem 0 0;
    display: block;
}

.lr-timeline {
    display: grid;
    gap: .75rem;
}

.lr-timeline article {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: .65rem;
}

.lr-timeline article > span {
    width: .8rem;
    height: .8rem;
    margin-top: .35rem;
    border-radius: 50%;
    background: var(--lr-blue);
}

.lr-timeline small {
    display: block;
    color: var(--lr-muted);
}

.lr-timeline p {
    margin: .2rem 0 0;
}

.lr-sticky-actions {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
    margin: 1rem -1rem -1rem;
    padding: .75rem 1rem;
    border-top: 1px solid var(--lr-line);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
}

.lr-empty {
    display: grid;
    place-items: center;
    gap: .35rem;
    min-height: 180px;
    color: var(--lr-muted);
    text-align: center;
}

.lr-empty i {
    font-size: 2rem;
    color: var(--lr-blue);
}

.lr-empty strong {
    color: var(--lr-ink);
}

.lr-ajax-toast {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 2000;
    max-width: min(360px, calc(100vw - 2rem));
    padding: .65rem .8rem;
    border-radius: var(--lr-radius);
    background: var(--lr-ink);
    color: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .22);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease;
    font-weight: 800;
}

.lr-ajax-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.lr-ajax-toast-success {
    background: var(--lr-green);
}

.lr-ajax-toast-danger {
    background: var(--lr-red);
}

.lr-queue-card {
    justify-content: space-between;
    padding: .9rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-queue-card h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.lr-queue-card p {
    margin: .25rem 0 .45rem;
    color: var(--lr-muted);
}

.lr-version-list article {
    align-items: center;
    justify-content: space-between;
    padding: .75rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-version-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--lr-radius);
    background: var(--lr-soft-blue);
    color: var(--lr-blue);
    font-weight: 800;
}

.lr-report-paper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.2rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: var(--lr-panel);
    box-shadow: var(--lr-shadow);
    backdrop-filter: blur(18px);
}

.lr-certificate-paper {
    max-width: 980px;
    margin: 0 auto;
    padding: 1.35rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: var(--lr-panel);
    box-shadow: var(--lr-shadow);
    backdrop-filter: blur(18px);
}

.lr-report-header {
    padding-bottom: .85rem;
    border-bottom: 2px solid var(--lr-ink);
}

.lr-certificate-header {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--lr-purple);
}

.lr-certificate-header p,
.lr-certificate-header span {
    margin: 0;
    color: var(--lr-muted);
}

.lr-certificate-seal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: var(--lr-purple-soft);
    color: var(--lr-purple);
    font-size: 1.7rem;
}

.lr-certificate-seal img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lr-certificate-alert {
    margin-top: 1rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(217, 119, 6, .35);
    border-radius: var(--lr-radius);
    background: var(--lr-soft-amber);
    color: #92400e;
    font-size: .9rem;
}

.lr-certificate-statement {
    margin-top: 1rem;
    color: var(--lr-ink);
    font-size: .98rem;
}

.lr-signature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.lr-signature-grid div {
    text-align: center;
}

.lr-signature-grid span {
    display: block;
    height: 2rem;
    border-bottom: 1px solid var(--lr-ink);
}

.lr-signature-grid strong,
.lr-signature-grid small {
    display: block;
}

.lr-signature-grid strong {
    margin-top: .5rem;
}

.lr-signature-grid small {
    color: var(--lr-muted);
}

.lr-report-header p,
.lr-report-header span {
    margin: 0;
    color: var(--lr-muted);
}

.lr-report-meta,
.lr-report-summary {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.lr-report-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lr-report-summary {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.lr-report-meta div,
.lr-report-summary div {
    padding: .65rem;
    border: 1px solid var(--lr-line);
    border-radius: var(--lr-radius);
    background: rgba(255, 255, 255, .72);
}

.lr-report-summary div:nth-child(2) {
    border-top: 4px solid var(--lr-green);
    background: linear-gradient(145deg, #fff 0%, #ecfdf5 100%);
}

.lr-report-summary div:nth-child(3) {
    border-top: 4px solid var(--lr-amber);
    background: linear-gradient(145deg, #fff 0%, #fff7ed 100%);
}

.lr-report-summary div:nth-child(4) {
    border-top: 4px solid var(--lr-red);
    background: linear-gradient(145deg, #fff 0%, #fff1f2 100%);
}

.lr-report-summary div:nth-child(5) {
    border-top: 4px solid #94a3b8;
    background: linear-gradient(145deg, #fff 0%, #f8fafc 100%);
}

.lr-report-meta strong,
.lr-report-meta span,
.lr-report-summary strong,
.lr-report-summary span {
    display: block;
}

.lr-report-meta strong,
.lr-report-summary span {
    color: var(--lr-muted);
    font-size: .76rem;
    text-transform: uppercase;
}

.lr-report-summary strong {
    font-size: 1.4rem;
}

.lr-report-section {
    margin-top: 1rem;
}

.lr-report-section h2 {
    font-size: 1rem;
    font-weight: 800;
}

.lr-report-table {
    min-width: 980px;
}

.lr-notification-list article {
    align-items: center;
}

.lr-notification-list article.is-unread {
    border-color: rgba(109, 40, 217, .38);
    background: var(--lr-soft-blue);
}

.lr-issue-list article {
    align-items: center;
}

.lr-issue-list article div {
    min-width: 0;
    flex: 1;
}

.lr-issue-list article span {
    display: block;
    color: var(--lr-muted);
}

.lr-issue-list em {
    color: var(--lr-blue);
    font-style: normal;
    font-weight: 800;
}

.lr-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.lr-chip-list span {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: .25rem .55rem;
    border: 1px solid var(--lr-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--lr-muted);
    font-weight: 700;
}

.lr-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
}

.lr-meta-line > span:not(.badge) {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: .2rem .5rem;
    border: 1px solid var(--lr-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--lr-muted);
    font-size: .78rem;
    font-weight: 800;
}

@media (max-width: 1280px) {
    .lr-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lr-workspace {
        grid-template-columns: 1fr;
    }

    .lr-document-viewer,
    .lr-tab-content {
        height: auto;
        min-height: 640px;
        max-height: none;
    }
}

@media (max-width: 940px) {
    .lr-app-shell,
    .lr-login-wrap,
    .lr-grid-2,
    .lr-upload-grid,
    .lr-summary-band,
    .lr-report-meta,
    .lr-report-summary,
    .lr-signature-grid {
        grid-template-columns: 1fr;
    }

    .lr-sidebar {
        position: fixed;
        z-index: 50;
        inset: 0 auto 0 0;
        width: var(--lr-sidebar-width);
        height: 100vh;
        border-radius: 0 18px 18px 0;
        transform: translateX(-100%);
        transition: transform .18s ease;
    }

    .lr-app-shell {
        padding: .75rem;
    }

    .lr-topbar {
        top: .75rem;
    }

    body.lr-sidebar-open .lr-sidebar {
        transform: translateX(0);
    }

    .lr-sidebar-toggle {
        display: inline-flex;
    }

    body.lr-sidebar-collapsed .lr-app-shell {
        grid-template-columns: 1fr;
    }

    body.lr-sidebar-collapsed .lr-sidebar {
        transform: translateX(-100%);
    }

    .lr-upload-side {
        position: static;
    }

    .lr-page-head,
    .lr-workspace-top,
    .lr-queue-card {
        display: block;
    }

    .lr-head-actions,
    .lr-queue-actions {
        margin-top: .75rem;
    }
}

@media (max-width: 680px) {
    .lr-content {
        padding: .75rem;
    }

    .lr-topbar {
        align-items: flex-start;
    }

    .lr-topbar-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .lr-metric-grid,
    .lr-filter-bar,
    .lr-work-summary,
    .lr-review-progress,
    .lr-compare-grid,
    .lr-detail-grid,
    .lr-review-form {
        grid-template-columns: 1fr;
    }

    .lr-login-card {
        padding: 1rem;
    }

    .lr-demo-grid {
        grid-template-columns: 1fr;
    }

    .lr-document-viewer iframe {
        height: 70vh;
        min-height: 520px;
    }

    .lr-sticky-actions {
        justify-content: stretch;
    }

    .lr-sticky-actions .btn,
    .lr-sticky-actions form {
        width: 100%;
    }
}

@media print {
    body {
        background: #fff;
        color: #111827;
        font-size: 11px;
    }

    .lr-sidebar,
    .lr-topbar,
    .lr-print-hidden,
    .lr-sticky-actions {
        display: none !important;
    }

    .lr-app-shell {
        display: block;
    }

    .lr-content {
        padding: 0;
    }

    .lr-report-paper,
    .lr-certificate-paper {
        max-width: none;
        border: 0;
        box-shadow: none;
        background: #fff;
        padding: 0;
    }

    .lr-report-header,
    .lr-certificate-header {
        margin-bottom: .6rem;
        padding-bottom: .45rem;
        border-bottom: 1px solid #111827;
    }

    .lr-report-header h1,
    .lr-certificate-header h1 {
        margin: .1rem 0;
        font-size: 18px;
    }

    .lr-certificate-seal {
        width: 3rem;
        height: 3rem;
        border: 1px solid #111827;
        background: #fff;
        color: #111827;
    }

    .lr-certificate-alert {
        border-color: #111827;
        background: #fff;
        color: #111827;
    }

    .lr-report-meta,
    .lr-report-summary {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        margin-top: .45rem;
        border: 1px solid #111827;
        border-bottom: 0;
    }

    .lr-report-meta div,
    .lr-report-summary div {
        display: grid;
        grid-template-columns: 42mm minmax(0, 1fr);
        min-height: 0;
        padding: 0;
        border: 0;
        border-bottom: 1px solid #111827;
        border-radius: 0;
        background: #fff !important;
        box-shadow: none;
        break-inside: avoid;
    }

    .lr-report-meta strong,
    .lr-report-meta span,
    .lr-report-summary strong,
    .lr-report-summary span {
        display: block;
        padding: .16rem .28rem;
        border: 0;
        color: #111827;
        font-size: 10.5px;
        line-height: 1.25;
        text-transform: none;
    }

    .lr-report-meta strong,
    .lr-report-summary span {
        border-right: 1px solid #111827;
        background: #f3f4f6;
        font-weight: 800;
    }

    .lr-report-summary span {
        order: -1;
    }

    .lr-report-summary strong {
        font-size: 10.5px;
    }

    .lr-report-section {
        margin-top: .7rem;
        break-inside: avoid;
    }

    .lr-report-section h2 {
        margin-bottom: .25rem;
        font-size: 12px;
    }

    .lr-report-table {
        min-width: 0;
        width: 100%;
        font-size: 9.5px;
    }

    .lr-report-table th,
    .lr-report-table td {
        padding: .18rem .24rem;
        border-color: #111827;
    }

    .lr-signature-grid {
        gap: .8rem;
        margin-top: 2rem;
    }
}
