:root {
    --color-primary: #087fd0;
    --color-primary-hover: #066bb3;
    --color-primary-light: #eaf4ff;
    --color-navy: #14283d;
    --color-navy-secondary: #1b344d;
    --color-page: #f5f8fb;
    --color-surface: #ffffff;
    --color-border: #dce5ee;
    --color-text: #183047;
    --color-text-secondary: #718096;
    --color-success: #16845b;
    --color-warning: #c58a19;
    --color-danger: #d64545;
    --color-info: #087fd0;
    --red: #9b1b1b;
    --red-dark: #6e1212;
    --red-soft: #c0392b;
    --charcoal: #183047;
    --slate: #1b344d;
    --muted: #718096;
    --line: #dce5ee;
    --bg: #f5f8fb;
    --white: #ffffff;
    --shadow: 0 8px 24px rgba(20, 40, 61, 0.07);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    color: var(--charcoal);
    background: var(--bg);
}

a { color: var(--red); text-decoration: none; }
h1, h2, h3 { margin: 0 0 .4rem; }

.guest-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background:
        linear-gradient(160deg, rgba(110, 18, 18, .92), rgba(28, 28, 30, .95)),
        radial-gradient(circle at top left, #c0392b, transparent 40%);
}

.guest-shell { width: min(440px, calc(100% - 32px)); }
.guest-body-login { display: block; min-height: 100vh; padding: 0; background: #14263a; }
.guest-shell-login { width: 100%; min-height: 100vh; }
.login-page { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); min-height: 100vh; background: #fff; color: #203247; }
.login-story { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 100vh; padding: 42px 6.2vw 22px; overflow: hidden; background: #14263a; color: #fff; }
.login-logo-plate { position: relative; z-index: 1; display: block; width: min(445px, 100%); padding: 11px 14px; border-radius: 4px; background: #fff; }
.login-logo-plate img { display: block; width: 100%; height: auto; }
.login-story-copy { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; justify-content: center; max-width: 610px; padding: 60px 0 48px; }
.login-story-kicker { color: #a9bdd1; font-size: .68rem; font-weight: 700; }
.login-story-kicker i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #1596ed; }
.login-story-copy h2 { margin: 18px 0 13px; color: #fff; font-size: 3rem; line-height: 1.08; }
.login-story-copy h2 strong { color: #42a8f4; font-weight: 700; }
.login-story-copy p { max-width: 445px; margin: 0; color: #b8c6d2; font-size: .92rem; line-height: 1.65; }
.login-feature-list { position: relative; z-index: 1; max-width: 560px; }
.login-feature-list > div { display: grid; grid-template-columns: 42px minmax(0, 1fr) 22px; align-items: center; gap: 10px; min-height: 45px; border-top: 1px solid rgba(212, 227, 239, .16); }
.login-feature-list > div > span { color: #6f8ca6; font-size: .62rem; font-variant-numeric: tabular-nums; }
.login-feature-list strong { color: #e1e9ef; font-size: .76rem; font-weight: 600; }
.login-feature-list i { color: #5ba7df; font-size: .8rem; font-style: normal; text-align: right; }
.login-story-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; margin-top: 23px; color: #8095a8; font-size: .58rem; font-weight: 700; }
.login-story-footer > span:last-child { color: #93a5b4; }
.login-story-footer i { display: inline-block; width: 3px; height: 3px; margin: 0 5px 2px; border-radius: 50%; background: #4fa8eb; }
.login-grid-mark { position: absolute; right: -145px; bottom: 90px; width: 420px; height: 300px; border: 1px solid rgba(103, 151, 190, .12); background-image: linear-gradient(rgba(103, 151, 190, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(103, 151, 190, .045) 1px, transparent 1px); background-size: 28px 28px; transform: rotate(-19deg); pointer-events: none; }
.login-access-panel { display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: center; align-items: center; min-width: 0; min-height: 100vh; padding: 38px 48px 20px; background: #fbfcfd; }
.login-form-wrap { width: min(100%, 400px); }
.login-copyright { align-self: end; padding-top: 20px; text-align: center; }
.login-copyright a { color: #87939a; font-size: .64rem; line-height: 1.5; text-decoration: none; transition: color .15s ease; }
.login-copyright a:hover { color: #126fa9; text-decoration: underline; }
.login-form-heading { margin-bottom: 28px; }
.login-form-kicker { color: #2676aa; font-size: .66rem; font-weight: 700; }
.login-form-heading h1 { margin: 9px 0 5px; color: #1d2e3e; font-size: 1.9rem; }
.login-form-heading p { margin: 0; color: #72808b; font-size: .84rem; line-height: 1.55; }
.login-alert { margin-bottom: 15px; font-size: .8rem; }
.login-form { display: grid; gap: 18px; }
.login-form label { display: grid; gap: 7px; color: #35495b; font-size: .75rem; font-weight: 700; }
.login-input-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 48px; padding: 0 12px; border: 1px solid #dce3e8; border-radius: 5px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.login-input-wrap:focus-within { border-color: #458fbd; box-shadow: 0 0 0 3px rgba(30, 128, 190, .12); }
.login-input-wrap svg { flex: 0 0 18px; width: 18px; height: 18px; stroke: #80909d; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.login-input-wrap input { min-width: 0; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; outline: 0; background: transparent; color: #233649; font-size: .8rem; box-shadow: none; }
.login-input-wrap input:focus { outline: 0; border: 0; background: transparent; box-shadow: none; }
.login-input-wrap input::placeholder { color: #9aa6af; }
.login-form .login-submit { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 48px; margin: 4px 0 0; padding: 11px 14px; border-radius: 5px; background: #087dce; font-size: .78rem; letter-spacing: 0; text-align: left; text-transform: none; transition: background .15s ease, transform .15s ease; }
.login-form .login-submit:hover { transform: translateY(-1px); background: #076bb2; }
.login-submit span { font-size: 1rem; }
.login-register-prompt { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #e6eaed; color: #75828c; font-size: .72rem; }
.login-register-prompt a { color: #126fa9; font-weight: 700; }
.login-register-prompt a:hover { color: #084f7c; text-decoration: underline; }
.login-security-note { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 24px 0 0; color: #98a2a9; font-size: .64rem; }
.login-security-note span { color: #54836d; font-size: .78rem; }
.login-page :is(a, button, input):focus-visible { outline: 3px solid rgba(8, 125, 206, .24); outline-offset: 3px; }
@media (max-width: 900px) {
    .login-page { grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); }
    .login-story { padding-right: 4vw; padding-left: 4vw; }
    .login-story-copy h2 { font-size: 2.55rem; }
    .login-access-panel { padding: 42px 32px; }
}
@media (max-width: 680px) {
    .login-page { grid-template-columns: minmax(0, 1fr); }
    .login-story { min-height: auto; padding: 22px 20px 18px; }
    .login-logo-plate { width: min(300px, 78%); padding: 8px 10px; }
    .login-story-copy { flex: 0; padding: 28px 0 22px; }
    .login-story-copy h2 { margin: 11px 0 7px; font-size: 2.05rem; }
    .login-story-copy p { max-width: 450px; font-size: .78rem; }
    .login-feature-list, .login-story-footer, .login-grid-mark { display: none; }
    .login-access-panel { grid-template-rows: auto auto; align-items: start; min-height: 0; padding: 34px 22px 22px; }
    .login-form-wrap { width: min(100%, 430px); }
    .login-copyright { align-self: end; width: 100%; padding-top: 28px; }
    .login-form-heading { margin-bottom: 22px; }
    .login-form-heading h1 { font-size: 1.65rem; }
}

.auth-card {
    background: var(--white);
    border-radius: 18px;
    padding: 32px 28px;
    box-shadow: var(--shadow);
}

.auth-header { text-align: center; margin-bottom: 24px; }
.auth-logo { display: block; width: min(300px, 100%); height: auto; margin: 0 auto 15px; }
.auth-header h1 { font-size: 1.6rem; }
.auth-header p, .topbar p, .page-head p, .menu-label { color: var(--muted); }

.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 10px;
    border-radius: 12px;
    background: var(--red);
    color: #fff;
    font-weight: 700;
    letter-spacing: .04em;
}

.form { display: grid; gap: 14px; }
label { display: grid; gap: 6px; font-size: .92rem; font-weight: 600; }
input, textarea, select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 12px 14px;
    font: inherit;
    background: #fafafa;
}
textarea { min-height: 90px; resize: vertical; }
select { min-height: 44px; }
input:focus, textarea:focus {
    outline: 2px solid rgba(155, 27, 27, .25);
    border-color: var(--red);
    background: #fff;
}
input:disabled { background: #eee; color: var(--muted); }

.field-error { color: var(--red); font-weight: 500; }

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 10px;
    padding: 12px 16px;
    font: inherit;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    text-transform: uppercase;
}
.btn-primary { width: 100%; background: var(--red); color: #fff; }
.btn-primary:hover { background: var(--red-dark); }
.btn-ghost {
    width: 100%;
    margin-top: 10px;
    background: transparent;
    color: var(--charcoal);
    border: 1px solid var(--line);
}
.btn-sm { padding: 7px 10px; font-size: .75rem; width: auto; }
.btn-success { background: #1f7a4d; color: #fff; }
.btn-danger { background: var(--red); color: #fff; }
.btn-warning { background: #8a5a12; color: #fff; }

.alert {
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-size: .95rem;
}
.alert-error { background: #fdecea; color: var(--red-dark); }
.alert-success { background: #e9f7ef; color: #1f7a4d; }

.app-shell { display: flex; min-height: 100vh; }
.sidebar {
    width: 272px;
    flex: 0 0 272px;
    background: #f4f7f5;
    color: #293a34;
    padding: 18px 14px 14px;
    border-right: 1px solid #dfe7e3;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 100vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #bdcbc3 transparent;
}
.brand { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.brand-logo { display: block; width: 100%; padding: 8px 10px; overflow: hidden; border: 1px solid #e2e9e5; border-radius: 5px; background: #fff; }
.brand-logo img { display: block; width: 100%; height: auto; }
.brand small { display: block; color: #708078; font-size: .7rem; }
.menu { display: flex; flex: 1 1 auto; flex-direction: column; gap: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 0 2px 8px 0; scrollbar-width: thin; scrollbar-color: #bdcbc3 transparent; }
.menu-group { display: grid; gap: 2px; padding: 11px 0 10px; border-top: 1px solid #dfe7e3; }
.menu-group:first-child { padding-top: 0; border-top: 0; }
.menu a {
    display: flex;
    align-items: center;
    min-height: 35px;
    padding: 7px 10px 7px 11px;
    border-left: 3px solid transparent;
    border-radius: 4px;
    color: #46564f;
    font-size: .84rem;
    line-height: 1.3;
    text-decoration: none;
    transition: background .14s ease, color .14s ease, border-color .14s ease;
}
.menu a.active { border-left-color: #28715d; background: #e3eee8; color: #205c49; font-weight: 700; }
.menu a:hover { background: #eaf1ed; color: #245f4d; }
.menu-label {
    margin: 0 0 6px;
    padding: 0 10px;
    color: #76867e;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}
.logout-form { flex: 0 0 auto; margin-top: 10px; padding-top: 12px; border-top: 1px solid #dfe7e3; }
.logout-form button {
    width: 100%;
    min-height: 39px;
    background: #fff;
    color: #7d4843;
    border: 1px solid #e6d9d6;
    border-radius: 4px;
    padding: 9px 12px;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    text-transform: uppercase;
    transition: background .14s ease, border-color .14s ease;
}
.logout-form button:hover { border-color: #d8bcb6; background: #fbf5f3; }

@media (min-width: 961px) {
    .sidebar {
        width: 272px;
        flex-basis: 272px;
        padding: 18px 14px 14px;
    }
}

.main { flex: 1; min-width: 0; }
.topbar {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 24px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.topbar h1 { font-size: 1.15rem; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.topbar-user { text-align: right; }
.topbar-user em { display: block; color: var(--red); font-style: normal; font-size: .75rem; font-weight: 700; }
.notification-menu { position: relative; }
.notification-menu summary { list-style: none; cursor: pointer; font-size: .85rem; font-weight: 700; }
.notification-menu summary::-webkit-details-marker { display: none; }
.notification-menu summary b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 5px; padding: 0 5px; border-radius: 999px; background: var(--red); color: #fff; font-size: .7rem; }
.notification-dropdown { position: absolute; z-index: 5; top: 30px; right: 0; width: 320px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.notification-dropdown a { display: block; padding: 10px; border-radius: 8px; color: var(--charcoal); font-size: .82rem; }
.notification-dropdown a:hover, .notification-dropdown a.unread { background: #fff4f1; }
.notification-dropdown-item { margin: 0; }
.notification-dropdown-item button { width: 100%; padding: 10px; border: 0; border-radius: 8px; background: transparent; color: var(--charcoal); text-align: left; font: inherit; cursor: pointer; }
.notification-dropdown-item button:hover, .notification-dropdown-item.unread button { background: #fff4f1; }
.notification-dropdown strong, .notification-dropdown span { display: block; }
.notification-dropdown span { margin-top: 3px; color: var(--muted); }
.notification-dropdown .notification-all { margin-top: 5px; border-top: 1px solid var(--line); color: var(--red-dark); font-weight: 700; }
.notification-empty { display: block; padding: 12px; color: var(--muted); font-size: .85rem; }
.nav-toggle { display: none; }

.content { padding: 24px; }
.page-head { margin-bottom: 20px; }
.page-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
.tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.tabs a { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--charcoal); font-size: .85rem; }
.tabs a.active { background: var(--charcoal); color: #fff; border-color: var(--charcoal); }
.notification-list { overflow: hidden; }
.notification-item-form { margin: 0; }
.notification-item { display: flex; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); color: var(--charcoal); }
.notification-item-form .notification-item { width: 100%; border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.notification-item:last-child { border-bottom: 0; }
.notification-item.unread { background: #fff8f5; }
.notification-item strong, .notification-item span, .notification-item small { display: block; }
.notification-item > span:last-child { flex: 1; }
.notification-item span { margin-top: 4px; color: var(--muted); }
.notification-item small { margin-top: 8px; color: var(--muted); font-size: .75rem; }
.notification-dot { width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: transparent; }
.notification-item.unread .notification-dot { background: var(--red); }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.stat-card {
    background: #fff;
    border-radius: 16px;
    padding: 22px;
    box-shadow: var(--shadow);
    border-top: 4px solid var(--charcoal);
}
.stat-card.accent { border-top-color: var(--red); }
.stat-card span { color: var(--muted); }
.stat-card strong { display: block; font-size: 2rem; margin-top: 8px; }

.filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.filter-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; align-items: center; }
.filter-bar input { flex: 1 1 260px; }
.filter-bar select { flex: 0 1 180px; }
.filter-bar .btn { width: auto; }
.chip {
    background: #fff;
    color: var(--charcoal);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 12px;
    font-size: .85rem;
}
.chip em { color: var(--muted); font-style: normal; }
.chip.active { background: var(--charcoal); color: #fff; border-color: var(--charcoal); }

.table-wrap {
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--shadow);
}
table { width: 100%; border-collapse: collapse; min-width: 920px; }
th, td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); font-size: .92rem; }
th { background: #faf8f6; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.empty { text-align: center; color: var(--muted); padding: 28px !important; }
.actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: flex-start; }
.actions form { margin: 0; }

.badge {
    display: inline-block;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .75rem;
    font-weight: 700;
}
.badge-pending { background: #fff4d6; color: #8a5a12; }
.badge-active { background: #e9f7ef; color: #1f7a4d; }
.badge-rejected { background: #fdecea; color: var(--red-dark); }
.badge-inactive { background: #ececec; color: #555; }

.profile-card, .profile-form {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--shadow);
    max-width: 720px;
}
.profile-card dl { display: grid; gap: 16px; margin: 0 0 20px; }
.profile-card dt { color: var(--muted); font-size: .8rem; text-transform: uppercase; }
.profile-card dd { margin: 4px 0 0; font-weight: 600; }
.status-line { margin-bottom: 16px; }

.modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: grid;
    place-items: center;
    padding: 16px;
    z-index: 50;
}
.modal[hidden] { display: none; }
.modal-card {
    width: min(460px, 100%);
    background: #fff;
    border-radius: 16px;
    padding: 22px;
}
.modal-actions { display: flex; gap: 8px; margin-top: 12px; }
.modal-actions .btn { width: auto; flex: 1; }

.overlay { display: none; }

.page-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.page-head-row .btn { width: auto; }
.split-grid { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 20px; align-items: start; }
.wide-form { max-width: 960px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid label { min-width: 0; }
.compact-form { min-width: 220px; padding: 10px; margin-top: 8px; }
.compact-form textarea { min-height: 60px; }
.detail-grid { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: 20px; align-items: start; }
.section-gap, .dashboard-section { margin-top: 24px; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.product-card { background: #fff; border-radius: 16px; padding: 20px; box-shadow: var(--shadow); border-top: 4px solid var(--red); }
.product-card-top { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .8rem; }
.product-card h3 { margin-top: 20px; min-height: 2.6em; }
.product-card p { color: var(--muted); min-height: 2.4em; }
.product-card strong { display: block; color: var(--red-dark); font-size: 1.15rem; margin: 18px 0 8px; }
.product-card small { color: var(--muted); }
.po-form h3 { margin-top: 24px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.customer-preview { background: #faf8f6; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; color: var(--muted); min-height: 44px; }
.po-add-row { display: flex; gap: 8px; margin-bottom: 12px; }
.po-add-row select { flex: 1; }
.po-add-row .btn { width: auto; }
.po-items-table { min-width: 980px; }
.po-items-table input { min-width: 90px; padding: 8px; }
.po-summary, .po-total-card { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; align-items: end; margin: 16px 0; }
.po-summary > div, .po-total-card > div { background: #faf8f6; border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
.po-summary span, .po-total-card span { display: block; color: var(--muted); font-size: .8rem; }
.po-summary strong, .po-total-card strong { display: block; margin-top: 6px; color: var(--red-dark); }
.grand-total { border-color: var(--red) !important; }
.grand-total strong { font-size: 1.25rem; }
.print-body { background: #fff; color: #111; }
.print-sheet { max-width: 1100px; margin: 24px auto; padding: 24px; }
.print-header, .print-meta { display: flex; justify-content: space-between; gap: 24px; border-bottom: 2px solid #111; padding-bottom: 16px; }
.print-header small { display: block; margin-top: 6px; }
.print-title { font-size: 1.5rem; font-weight: 800; }
.print-meta { border-bottom: 1px solid #999; padding: 18px 0; }
.print-table { width: 100%; border-collapse: collapse; margin-top: 22px; min-width: 0; }
.print-table th, .print-table td { border: 1px solid #999; padding: 8px; font-size: .8rem; }
.print-table th { background: #eee; color: #111; }
.print-total { width: min(360px, 100%); margin: 20px 0 0 auto; }
.print-total div { display: flex; justify-content: space-between; padding: 6px 0; }
.print-notes { border-top: 1px solid #999; margin-top: 20px; padding-top: 12px; }
.print-button { width: auto; margin-top: 20px; }
.loan-report-page { --report-ink: #28363d; --report-muted: #76838a; --report-line: #dfe6e8; --report-blue: #087dce; --report-deep: #173047; min-width: 0; color: var(--report-ink); }
.loan-report-hero { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 148px; margin-bottom: 14px; padding: 24px 28px; border-radius: 7px; background: #173047; color: #fff; }
.loan-report-hero > div:first-child { min-width: 0; }
.loan-report-kicker { color: #a8bfd0; font-size: .64rem; font-weight: 700; }
.loan-report-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d2a25e; }
.loan-report-hero h2 { margin: 8px 0 4px; color: #fff; font-size: 1.65rem; }
.loan-report-hero p { max-width: 580px; margin: 0; color: #c2ced6; font-size: .82rem; line-height: 1.55; }
.loan-report-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
.loan-report-secondary { color: #c8d4dc; font-size: .69rem; font-weight: 600; }
.loan-report-secondary:hover { color: #fff; text-decoration: underline; }
.loan-report-primary { display: inline-flex; align-items: center; gap: 8px; min-height: 39px; padding: 8px 11px; border-radius: 4px; background: #087dce; color: #fff; font-size: .69rem; font-weight: 700; transition: background .15s ease, transform .15s ease; }
.loan-report-primary:hover { transform: translateY(-1px); background: #0768ad; }
.loan-report-primary > span { font-size: .95rem; }
.loan-report-alert { margin: 0 0 12px; }
.loan-report-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.loan-report-metric { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 75px; padding: 11px 13px; border: 1px solid var(--report-line); border-radius: 5px; background: #fff; transition: transform .15s ease, border-color .15s ease; }
.loan-report-metric:hover { transform: translateY(-2px); border-color: #bdcdd4; }
.loan-report-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 5px; background: #edf1f3; color: #516874; }
.loan-report-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-active .loan-report-icon { background: #e9f2ec; color: #39744f; }
.metric-unreturned .loan-report-icon { background: #edf2f4; color: #3e718b; }
.metric-late .loan-report-icon { background: #f7eae8; color: #a14e46; }
.metric-completed .loan-report-icon { background: #ebf1f2; color: #4f737b; }
.metric-returns .loan-report-icon { background: #f5f0e6; color: #9a7434; }
.loan-report-metric small, .loan-report-metric strong, .loan-report-metric div > span { display: block; }
.loan-report-metric small { color: #738087; font-size: .64rem; }
.loan-report-metric strong { margin-top: 2px; color: var(--report-ink); font-size: 1.12rem; }
.loan-report-metric div > span { margin-top: 1px; color: #89949a; font-size: .59rem; }
.loan-report-workspace { display: grid; grid-template-columns: minmax(230px, .68fr) minmax(0, 1.72fr); gap: 12px; align-items: start; }
.loan-report-side-panel { display: grid; justify-items: center; padding: 19px 17px; border: 1px solid var(--report-line); border-radius: 5px; background: #f6f8f8; text-align: center; }
.loan-report-side-kicker { color: #75828a; font-size: .59rem; font-weight: 700; }
.loan-report-side-panel h3 { margin: 4px 0 3px; color: var(--report-ink); font-size: .95rem; }
.loan-report-side-panel > p { max-width: 260px; margin: 0; color: #7c888f; font-size: .66rem; line-height: 1.5; }
.loan-activity-meter { display: grid; place-items: center; width: 146px; height: 146px; margin: 17px auto 11px; border-radius: 50%; background: conic-gradient(#1885c2 0deg, #1885c2 calc(var(--activity-percent, 0) * 3.6deg), #dce5e8 calc(var(--activity-percent, 0) * 3.6deg), #dce5e8 360deg); }
.loan-activity-meter > div { display: grid; align-content: center; justify-items: center; width: 112px; height: 112px; border-radius: 50%; background: #f6f8f8; }
.loan-activity-meter strong { color: var(--report-deep); font-size: 1.65rem; line-height: 1.1; }
.loan-activity-meter span { margin-top: 3px; color: #79868d; font-size: .65rem; }
.loan-activity-legend { display: grid; gap: 7px; width: 100%; padding-top: 9px; border-top: 1px solid #e2e8ea; }
.loan-activity-legend > div, .loan-activity-legend > div > span { display: flex; align-items: center; }
.loan-activity-legend > div { justify-content: space-between; gap: 10px; color: #64727a; font-size: .66rem; }
.loan-activity-legend > div > span { gap: 7px; }
.loan-activity-legend strong { color: #344650; font-size: .68rem; }
.loan-activity-legend i { width: 8px; height: 8px; border-radius: 2px; background: #1885c2; }
.loan-activity-legend .legend-completed { background: #bdcbd0; }
.loan-report-side-panel > a { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; color: #1476ad; font-size: .66rem; font-weight: 700; }
.loan-report-side-panel > a:hover { color: #084f7a; text-decoration: underline; }
.loan-report-list-panel { min-width: 0; overflow: hidden; border: 1px solid var(--report-line); border-radius: 5px; background: #fff; }
.loan-report-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #e9edef; }
.loan-report-list-heading h3 { margin: 3px 0 2px; color: var(--report-ink); font-size: .92rem; }
.loan-report-list-heading p { margin: 0; color: #7d888e; font-size: .64rem; }
.loan-report-count { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #dfe6e8; border-radius: 4px; color: #66757c; font-size: .63rem; }
.loan-report-count strong { color: var(--report-blue); }
.loan-report-tools { padding: 9px 12px; border-bottom: 1px solid #edf0f1; }
.loan-report-search { position: relative; display: block; width: min(310px, 100%); }
.loan-report-search > span:first-child { position: absolute; top: 50%; left: 9px; color: #7c898f; font-size: 1.1rem; line-height: 1; transform: translateY(-54%); pointer-events: none; }
.loan-report-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.loan-report-search input { width: 100%; min-height: 34px; padding: 7px 9px 7px 28px; border: 1px solid #dfe5e7; border-radius: 4px; background: #fbfcfc; color: var(--report-ink); font: inherit; font-size: .67rem; }
.loan-report-search input:focus { outline: 3px solid rgba(8, 125, 206, .12); border-color: #70a8c6; background: #fff; }
.loan-report-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c9d5d9 transparent; scrollbar-width: thin; }
.loan-report-table-wrap:focus-visible { outline: 3px solid rgba(8, 125, 206, .18); outline-offset: -3px; }
.loan-report-table { width: 100%; min-width: 690px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.loan-report-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.loan-report-table th, .loan-report-table td { padding: 10px 9px; border-bottom: 1px solid #edf0f1; color: #5e6b72; text-align: left; vertical-align: middle; font-size: .66rem; overflow-wrap: anywhere; }
.loan-report-table th { background: #f4f7f8; color: #6d7b83; font-size: .58rem; font-weight: 700; white-space: nowrap; }
.loan-report-table th:nth-child(1) { width: 16%; }
.loan-report-table th:nth-child(2) { width: 23%; }
.loan-report-table th:nth-child(3) { width: 17%; }
.loan-report-table th:nth-child(4) { width: 16%; }
.loan-report-table th:nth-child(5) { width: 15%; }
.loan-report-table th:nth-child(6) { width: 13%; }
.loan-report-table tbody tr[data-loan-report-row] { transition: background .14s ease; }
.loan-report-table tbody tr[data-loan-report-row]:hover { background: #f8fafb; }
.loan-report-table tbody tr[hidden] { display: none !important; }
.loan-report-number { color: #2578a5; font-size: .66rem; }
.loan-report-borrower { display: block; color: #344750; font-size: .68rem; }
.loan-report-table td small { display: block; margin-top: 3px; color: #879197; font-size: .59rem; }
.loan-report-due { color: #5e6b72; }
.loan-report-due.is-late { color: #a14e46; font-weight: 700; }
.loan-report-status { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: .59rem; font-weight: 700; }
.loan-report-status.is-open { background: #eaf2ec; color: #39744f; }
.loan-report-status.is-late { background: #f7eae8; color: #a14e46; }
.loan-report-detail { color: #1476ad; font-size: .63rem; font-weight: 700; white-space: nowrap; }
.loan-report-detail:hover { color: #084f7a; text-decoration: underline; }
.loan-report-empty { padding: 25px 12px !important; color: #7c878d !important; text-align: center !important; }
.loan-report-pagination { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; padding: 8px 10px; border-top: 1px solid #e9edef; }
.loan-report-pagination:empty { display: none; }
.loan-report-pagination button { min-width: 28px; min-height: 28px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #596d77; font: inherit; font-size: .64rem; cursor: pointer; }
.loan-report-pagination button:hover { border-color: #d7e1e5; background: #f3f7f8; }
.loan-report-pagination button.is-current { border-color: var(--report-blue); background: var(--report-blue); color: #fff; }
.loan-report-page :is(a, button, input):focus-visible { outline: 3px solid rgba(8, 125, 206, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .loan-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .loan-report-workspace { grid-template-columns: minmax(0, 1fr); }
    .loan-report-side-panel { grid-template-columns: minmax(0, 1fr) auto; justify-items: start; text-align: left; }
    .loan-report-side-panel > p { grid-column: 1; }
    .loan-activity-meter { grid-column: 2; grid-row: 1 / span 3; width: 120px; height: 120px; margin: 0; }
    .loan-activity-meter > div { width: 92px; height: 92px; }
    .loan-activity-legend, .loan-report-side-panel > a { grid-column: 1; }
}
@media (max-width: 720px) {
    .loan-report-hero { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 17px; }
    .loan-report-hero h2 { font-size: 1.43rem; }
    .loan-report-actions { justify-content: space-between; width: 100%; }
    .loan-report-metrics { gap: 7px; }
    .loan-report-metric { min-height: 66px; padding: 8px; }
    .loan-report-icon { flex-basis: 29px; width: 29px; height: 29px; }
    .loan-report-icon svg { width: 15px; height: 15px; }
    .loan-report-metric small { font-size: .59rem; }
    .loan-report-metric strong { font-size: 1rem; }
    .loan-report-metric div > span { font-size: .56rem; }
    .loan-report-list-heading { align-items: flex-start; padding: 11px; }
    .loan-report-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .loan-report-table { display: block; min-width: 0; }
    .loan-report-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .loan-report-table tbody { display: grid; gap: 8px; padding: 8px; }
    .loan-report-table tbody tr[data-loan-report-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eaec; border-radius: 4px; }
    .loan-report-table tbody tr[data-loan-report-row][hidden] { display: none !important; }
    .loan-report-table td { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .69rem; }
    .loan-report-table td::before { content: attr(data-label); color: #75828a; font-size: .63rem; font-weight: 700; }
    .loan-report-table td:last-child { border-bottom: 0; }
    .loan-report-empty { display: block !important; text-align: center !important; }
    .loan-report-empty::before { content: none !important; }
    .loan-report-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .loan-report-actions { align-items: stretch; flex-direction: column-reverse; }
    .loan-report-secondary { text-align: center; }
    .loan-report-primary { justify-content: space-between; }
    .loan-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .loan-report-side-panel { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
    .loan-report-side-panel > p, .loan-activity-meter, .loan-activity-legend, .loan-report-side-panel > a { grid-column: 1; grid-row: auto; }
    .loan-activity-meter { margin: 14px auto 8px; }
}

    .ops-report-page { --ops-ink: #253a3d; --ops-muted: #758589; --ops-line: #dfe8e6; --ops-teal: #1c7778; --ops-coral: #b85b4a; display: grid; gap: 15px; min-width: 0; color: var(--ops-ink); }
    .ops-report-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 158px; overflow: hidden; padding: 25px 29px; border: 1px solid #24474a; border-left: 5px solid #ca7961; border-radius: 6px; background-color: #23464a; background-image: linear-gradient(110deg, rgba(30,62,66,.98), rgba(47,87,83,.96)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.07) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.07) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
    .ops-report-hero > div:first-child { position: relative; z-index: 1; min-width: 0; }
    .ops-report-kicker { display: flex; align-items: center; gap: 8px; color: #b7cdc7; font-size: .61rem; font-weight: 800; }
    .ops-report-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #d68970; }
    .ops-report-kicker b { color: #7d9d97; }
    .ops-report-hero h2 { margin: 10px 0 5px; color: #fff; font-size: 1.63rem; line-height: 1.18; }
    .ops-report-hero p { max-width: 590px; margin: 0; color: #c4d5cf; font-size: .76rem; line-height: 1.6; }
    .ops-report-hero-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex: 0 0 auto; padding-top: 14px; }
    .ops-report-secondary { color: #d0dfd9; font-size: .67rem; font-weight: 700; transition: color .15s ease; }
    .ops-report-secondary:hover { color: #fff; text-decoration: underline; }
    .ops-report-primary { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid #dfeae4; border-radius: 4px; background: #f5f8f5; color: #25494b; font-size: .67rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
    .ops-report-primary:hover { transform: translateY(-1px); background: #fff; }
    .ops-report-primary > span { color: var(--ops-coral); font-size: .95rem; }
    .ops-report-index { position: absolute; right: 28px; bottom: 9px; color: #97b2a9; font-size: .51rem; font-weight: 800; letter-spacing: .06em; }
    .ops-report-index i { margin: 0 4px; color: #d58b73; font-style: normal; }

    .ops-report-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
    .ops-stat { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 78px; padding: 11px 12px; border: 1px solid var(--ops-line); border-radius: 5px; background: #fff; transition: transform .16s ease, box-shadow .16s ease; }
    .ops-stat:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(35,62,60,.075); }
    .ops-stat-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #e1e8e6; border-radius: 4px; background: #f0f4f3; color: #657c7b; }
    .ops-stat-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
    .ops-stat-icon.icon-teal { border-color: #d4e7e0; background: #edf6f1; color: #3e806e; }
    .ops-stat-icon.icon-green { border-color: #dcead9; background: #eff6eb; color: #5a8050; }
    .ops-stat-icon.icon-coral { border-color: #efdfd9; background: #faf0ed; color: #ad5d4c; }
    .ops-stat-icon.icon-amber { border-color: #efe4cf; background: #faf5e9; color: #a08043; }
    .ops-stat-icon.icon-slate { border-color: #dfe7e8; background: #f0f4f4; color: #597176; }
    .ops-stat > div { display: grid; gap: 2px; min-width: 0; }
    .ops-stat small { color: #738386; font-size: .61rem; font-weight: 700; }
    .ops-stat strong { overflow: hidden; color: var(--ops-ink); font-size: 1.05rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
    .ops-stat > div > span { overflow: hidden; color: #909c9b; font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
    .cost-report-stats .ops-stat:first-child strong { font-size: .94rem; }
    .cost-report-stats .ops-stat .cost-stat-text { font-size: .79rem; }

    .ops-report-filters { display: grid; gap: 12px; padding: 14px 16px 15px; border: 1px solid var(--ops-line); border-radius: 5px; background: #f7faf8; }
    .ops-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
    .ops-filter-heading > div > span, .ops-table-heading > div > span { color: #81908e; font-size: .53rem; font-weight: 800; letter-spacing: .04em; }
    .ops-filter-heading h3 { margin: 3px 0 0; color: var(--ops-ink); font-size: .87rem; }
    .ops-filter-heading > a { color: #72827f; font-size: .61rem; font-weight: 700; }
    .ops-filter-heading > a:hover { color: var(--ops-coral); text-decoration: underline; }
    .ops-filter-fields { display: grid; grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(135px, 1fr)) auto; gap: 9px; align-items: end; }
    .ops-filter-fields label, .cost-filter-grid label { display: grid; gap: 4px; min-width: 0; color: #667a79; font-size: .59rem; font-weight: 700; }
    .ops-filter-fields input, .ops-filter-fields select, .cost-filter-grid input, .cost-filter-grid select { width: 100%; min-width: 0; min-height: 35px; padding: 6px 8px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: var(--ops-ink); font: inherit; font-size: .64rem; }
    .ops-filter-fields input:focus, .ops-filter-fields select:focus, .cost-filter-grid :is(input, select):focus { outline: 3px solid rgba(28,119,120,.12); border-color: #7eaaa0; }
    .ops-filter-fields input::placeholder { color: #9ba8a5; }
    .ops-filter-search { grid-column: span 1; }
    .ops-filter-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 35px; padding: 7px 11px; border: 0; border-radius: 4px; background: var(--ops-teal); color: #fff; font: inherit; font-size: .63rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
    .ops-filter-submit:hover { transform: translateY(-1px); background: #155f61; }
    .ops-filter-submit b { font-size: .85rem; }

    .ops-report-table-panel { min-width: 0; overflow: hidden; border: 1px solid var(--ops-line); border-radius: 5px; background: #fff; }
    .ops-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px 11px; border-bottom: 1px solid #eaf0ee; }
    .ops-table-heading h3 { margin: 4px 0 0; color: var(--ops-ink); font-size: .96rem; }
    .ops-table-heading p { margin: 0; color: #7c8b89; font-size: .61rem; }
    .ops-table-heading p strong { color: #42746b; }
    .ops-table-heading p i { display: inline-block; width: 4px; height: 4px; margin: 0 5px 2px; border-radius: 50%; background: #cb8068; }
    .ops-table-tools { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid #edf1ef; }
    .ops-quick-search { position: relative; display: flex; align-items: center; gap: 7px; width: min(340px, 70%); min-height: 32px; padding: 0 8px; border: 1px solid #dfe8e5; border-radius: 4px; background: #fbfcfc; }
    .ops-quick-search > span:first-child { color: #78908c; font-size: 1.08rem; line-height: 1; }
    .ops-quick-search input { flex: 1; min-width: 0; min-height: 28px; padding: 4px 0; border: 0; outline: 0; background: transparent; color: var(--ops-ink); font: inherit; font-size: .63rem; }
    .ops-quick-search input:focus { outline: 0; border-color: transparent; }
    .ops-quick-search kbd { padding: 1px 4px; border: 1px solid #e0e8e5; border-radius: 3px; color: #889794; font-family: inherit; font-size: .54rem; }
    .ops-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .ops-table-tools > span { color: #879492; font-size: .57rem; }
    .ops-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
    .ops-table-wrap:focus-visible { outline: 3px solid rgba(28,119,120,.17); outline-offset: -3px; }
    .ops-report-table { width: 100%; min-width: 930px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
    .ops-report-table.return-report-table { min-width: 1040px; }
    .ops-report-table.cost-report-table { min-width: 1130px; }
    .ops-report-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .ops-report-table th, .ops-report-table td { padding: 10px 9px; border-bottom: 1px solid #edf1ef; color: #536669; text-align: left; vertical-align: middle; font-size: .63rem; line-height: 1.45; overflow-wrap: anywhere; }
    .ops-report-table th { position: sticky; top: 0; z-index: 1; background: #f2f6f4; color: #718380; font-size: .54rem; font-weight: 800; white-space: nowrap; }
    .ops-report-table tbody tr[data-ops-row] { transition: background .14s ease; }
    .ops-report-table tbody tr[data-ops-row]:hover { background: #f8fbf9; }
    .ops-report-table tbody tr[data-ops-row][hidden] { display: none !important; }
    .ops-report-table td small { display: block; margin-top: 3px; color: #899795; font-size: .56rem; line-height: 1.4; }
    .ops-transaction-number { color: #317a72; font-size: .64rem; font-weight: 800; }
    a.ops-transaction-number:hover, .ops-loan-reference:hover, .ops-row-action:hover { color: #a95847; text-decoration: underline; }
    .ops-primary-cell { display: block; color: #354d50; font-size: .65rem; }
    .ops-due-date { display: inline-flex; flex-direction: column; gap: 2px; color: #566b6d; font-variant-numeric: tabular-nums; }
    .ops-due-date.is-late { color: #a85045; font-weight: 700; }
    .ops-due-date small { color: #a85045 !important; font-size: .53rem !important; }
    .ops-status-badge, .ops-condition-badge { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 4px 6px; border-radius: 3px; font-size: .55rem; font-weight: 800; line-height: 1.35; }
    .ops-status-badge i, .ops-condition-badge i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
    .ops-status-badge.is-active { background: #eaf4ee; color: #407758; }
    .ops-status-badge.is-partial { background: #fbf2e4; color: #94703a; }
    .ops-status-badge.is-complete { background: #eaf2f2; color: #4d7372; }
    .ops-status-badge.is-pending { background: #f5f0e5; color: #927748; }
    .ops-status-badge.is-muted { background: #eff2f1; color: #697a77; }
    .ops-condition-badge.is-good { background: #eaf4ec; color: #3d7650; }
    .ops-condition-badge.is-warn { background: #fbf2e3; color: #98713c; }
    .ops-condition-badge.is-alert { background: #f8eae7; color: #a55045; }
    .ops-condition-badge.is-neutral { background: #eff2f1; color: #6e7d7a; }
    .ops-loan-reference { color: #487b74; font-size: .62rem; font-weight: 800; }
    .ops-loan-reference span { margin-left: 3px; color: #a5b5af; }
    .ops-row-action { color: #3e7c73; font-size: .61rem; font-weight: 800; white-space: nowrap; }
    .ops-row-action span { margin-left: 4px; }
    .ops-cost-value { color: #426a60; font-size: .63rem; white-space: nowrap; }
    .ops-empty-row td { padding: 31px 14px; text-align: center; }
    .ops-empty-row strong, .ops-empty-row span { display: block; }
    .ops-empty-row strong { color: #46615f; font-size: .76rem; }
    .ops-empty-row span { margin-top: 5px; color: #879492; font-size: .62rem; }
    .ops-empty-row[hidden] { display: none !important; }
    .ops-table-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; padding: 7px 12px; border-top: 1px solid #eaf0ee; }
    .ops-table-footer[hidden] { display: none; }
    .ops-table-footer > span { color: #7f8e8c; font-size: .58rem; }
    .ops-table-footer nav { display: inline-flex; align-items: center; gap: 7px; }
    .ops-table-footer nav button { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: #42756e; font: inherit; cursor: pointer; }
    .ops-table-footer nav button:hover:not(:disabled) { border-color: #8fb5a8; background: #f1f7f4; }
    .ops-table-footer nav button:disabled { color: #b2bfbb; cursor: not-allowed; }
    .ops-table-footer nav span { min-width: 42px; color: #627673; font-size: .59rem; text-align: center; }
    .ops-report-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(28,119,120,.2); outline-offset: 2px; }

    .cost-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)) auto; gap: 9px; align-items: end; }
    .cost-filter-grid label:nth-child(4) { grid-column: span 2; }
    .cost-filter-grid label:nth-child(5), .cost-filter-grid label:nth-child(6), .cost-filter-grid label:nth-child(7) { grid-column: span 1; }
    .cost-insight-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, .9fr)); gap: 10px; }
    .cost-insight-panel, .cost-priority-panel { min-width: 0; padding: 14px; border: 1px solid var(--ops-line); border-radius: 5px; background: #fff; }
    .cost-panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 10px; min-height: 37px; }
    .cost-panel-heading > div > span, .cost-priority-panel header > span { color: #84928f; font-size: .52rem; font-weight: 800; }
    .cost-panel-heading h3, .cost-priority-panel h3 { margin: 3px 0 0; color: var(--ops-ink); font-size: .84rem; }
    .cost-panel-heading > small { color: #8a9794; font-size: .55rem; }
    .cost-month-chart { display: flex; align-items: end; gap: 8px; height: 188px; margin-top: 8px; padding: 8px 2px 0; overflow-x: auto; border-bottom: 1px solid #e6eeea; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
    .cost-month-column { display: flex; flex: 1 0 59px; flex-direction: column; justify-content: end; align-items: center; gap: 5px; min-width: 0; height: 100%; }
    .cost-month-column > strong { max-width: 100%; overflow: hidden; color: #71827f; font-size: .5rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
    .cost-month-bar { display: block; width: 23px; height: var(--bar-height); min-height: 5px; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #65a797, #327a73); transition: filter .15s ease; }
    .cost-month-column:hover .cost-month-bar { filter: saturate(1.3); }
    .cost-month-column > small { padding-bottom: 6px; color: #84928f; font-size: .53rem; white-space: nowrap; }
    .cost-ranking-list { display: grid; gap: 11px; padding-top: 12px; }
    .cost-ranking-row { display: grid; gap: 5px; }
    .cost-ranking-row > div { display: flex; justify-content: space-between; gap: 10px; color: #627572; font-size: .59rem; }
    .cost-ranking-row > div span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cost-ranking-row > div strong { flex: 0 0 auto; color: #496a62; font-size: .58rem; }
    .cost-ranking-row > i { display: block; width: 100%; height: 4px; overflow: hidden; border-radius: 4px; background: #edf2ef; }
    .cost-ranking-row > i::before { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; background: #5d9887; content: ""; }
    .cost-type-list .cost-ranking-row > i::before { background: #bd8066; }
    .cost-empty { margin: 14px 0 0; padding: 14px 9px; color: #879492; font-size: .61rem; text-align: center; }
    .cost-priority-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .cost-priority-panel { padding: 13px 14px 8px; }
    .cost-priority-panel header { padding-bottom: 10px; border-bottom: 1px solid #eaf0ee; }
    .cost-priority-panel h3 { font-size: .78rem; }
    .cost-priority-alert { border-top: 3px solid #c07862; padding-top: 11px; }
    .cost-priority-list { display: grid; }
    .cost-priority-list > a { display: flex; justify-content: space-between; align-items: center; gap: 9px; min-width: 0; padding: 9px 0; border-bottom: 1px solid #f0f3f1; color: #57716d; transition: color .14s ease; }
    .cost-priority-list > a:last-of-type { border-bottom: 0; }
    .cost-priority-list > a:hover { color: var(--ops-coral); }
    .cost-priority-list > a > span { display: grid; gap: 3px; min-width: 0; }
    .cost-priority-list > a strong { overflow: hidden; color: #526967; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
    .cost-priority-list > a small { color: #8a9794; font-size: .53rem; }
    .cost-priority-list > a > b { flex: 0 0 auto; color: #718f86; font-size: .58rem; }
    .cost-priority-list .cost-empty { grid-column: 1 / -1; }

    @media (max-width: 1050px) {
        .ops-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .ops-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .ops-filter-search { grid-column: span 2; }
        .cost-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .cost-filter-grid label:nth-child(4) { grid-column: span 2; }
        .cost-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cost-monthly-panel { grid-column: 1 / -1; }
        .cost-priority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cost-priority-panel:last-child { grid-column: 1 / -1; }
    }
    @media (max-width: 720px) {
        .ops-report-page { gap: 11px; }
        .ops-report-hero { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 20px 17px 25px; }
        .ops-report-hero h2 { font-size: 1.42rem; }
        .ops-report-hero p { font-size: .71rem; }
        .ops-report-hero-actions { justify-content: space-between; width: 100%; padding-top: 0; }
        .ops-report-index { right: 17px; bottom: 8px; }
        .ops-report-stats { gap: 7px; }
        .ops-stat { min-height: 66px; gap: 7px; padding: 8px; }
        .ops-stat-icon { flex-basis: 27px; width: 27px; height: 27px; }
        .ops-stat-icon svg { width: 14px; height: 14px; }
        .ops-stat small { font-size: .55rem; }
        .ops-stat strong { font-size: .93rem; }
        .ops-stat > div > span { font-size: .49rem; }
        .cost-report-stats .ops-stat:first-child strong { font-size: .78rem; }
        .cost-report-stats .ops-stat .cost-stat-text { font-size: .67rem; }
        .ops-report-filters { gap: 10px; padding: 12px; }
        .ops-filter-fields, .cost-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
        .ops-filter-search { grid-column: 1 / -1; }
        .ops-filter-submit { grid-column: 1 / -1; }
        .cost-filter-grid label:nth-child(4) { grid-column: span 2; }
        .cost-filter-grid label:nth-child(n) { grid-column: auto; }
        .cost-filter-grid button { grid-column: 1 / -1; }
        .ops-table-heading { align-items: flex-start; flex-direction: column; gap: 6px; padding: 11px; }
        .ops-table-tools { align-items: flex-start; flex-direction: column; padding: 8px 10px; }
        .ops-quick-search { width: 100%; }
        .ops-table-wrap { overflow: visible; border-top: 1px solid #edf1ef; }
        .ops-report-table, .ops-report-table.return-report-table, .ops-report-table.cost-report-table { display: block; min-width: 0; }
        .ops-report-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
        .ops-report-table tbody { display: grid; gap: 8px; padding: 8px; }
        .ops-report-table tbody tr[data-ops-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e3ebe7; border-radius: 4px; }
        .ops-report-table td { display: grid; grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #eef2f0; font-size: .64rem; }
        .ops-report-table td::before { color: #788986; content: attr(data-label); font-size: .58rem; font-weight: 700; }
        .ops-report-table td:last-child { border-bottom: 0; }
        .ops-empty-row { display: block; padding: 7px; border: 1px solid #e3ebe7; border-radius: 4px; }
        .ops-empty-row td { display: block; border: 0; }
        .ops-empty-row td::before { content: none; }
        .ops-table-footer { align-items: flex-start; flex-direction: column; }
        .ops-table-footer nav { align-self: center; }
        .cost-insight-grid, .cost-priority-grid { grid-template-columns: minmax(0, 1fr); }
        .cost-monthly-panel, .cost-priority-panel:last-child { grid-column: auto; }
        .cost-insight-panel, .cost-priority-panel { padding: 12px; }
        .cost-month-chart { height: 165px; }
    }
    @media (max-width: 440px) {
        .ops-report-hero-actions { align-items: stretch; flex-direction: column-reverse; gap: 9px; }
        .ops-report-secondary { padding: 3px 0; text-align: center; }
        .ops-report-primary { justify-content: space-between; }
        .ops-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .ops-filter-fields, .cost-filter-grid { grid-template-columns: minmax(0, 1fr); }
        .ops-filter-search, .ops-filter-submit, .cost-filter-grid label:nth-child(n), .cost-filter-grid button { grid-column: 1; }
        .ops-table-heading p { line-height: 1.6; }
    }

.admin-users-page, .admin-settings-page { --console-ink: #263a3d; --console-muted: #748486; --console-line: #dfe8e5; --console-teal: #217675; --console-coral: #ad594a; display: grid; gap: 15px; min-width: 0; color: var(--console-ink); }
.admin-console-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 158px; overflow: hidden; padding: 25px 29px; border: 1px solid #24464a; border-left: 5px solid #c8755e; border-radius: 6px; background-color: #23464a; background-image: linear-gradient(110deg, rgba(30,62,66,.98), rgba(48,85,81,.96)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.07) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.07) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.admin-console-hero > div:first-child { position: relative; z-index: 1; min-width: 0; }
.admin-console-kicker { display: flex; align-items: center; gap: 8px; color: #b9cec8; font-size: .61rem; font-weight: 800; }
.admin-console-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #d78970; }
.admin-console-kicker b { color: #7e9c96; }
.admin-console-hero h2 { margin: 10px 0 5px; color: #fff; font-size: 1.6rem; line-height: 1.2; }
.admin-console-hero p { max-width: 585px; margin: 0; color: #c4d5cf; font-size: .76rem; line-height: 1.6; }
.admin-console-hero-action { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: space-between; gap: 19px; flex: 0 0 auto; min-height: 40px; padding: 0 12px; border: 1px solid rgba(226,239,232,.72); border-radius: 4px; background: rgba(255,255,255,.94); color: #284b4d; font-size: .66rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.admin-console-hero-action:hover { transform: translateY(-1px); background: #fff; }
.admin-console-hero-action b { color: var(--console-coral); font-size: .9rem; }
.admin-console-index { position: absolute; right: 28px; bottom: 9px; color: #98b2aa; font-size: .51rem; font-weight: 800; letter-spacing: .06em; }
.admin-console-index i { margin: 0 4px; color: #d48a72; font-style: normal; }
.admin-console-alert { margin: 0; }
.settings-hub-page { gap: 16px; }
.settings-hub-hero { min-height: 177px; }
.settings-hub-snapshot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; }
.settings-hub-snapshot article { display: grid; align-content: center; gap: 4px; min-width: 0; min-height: 83px; padding: 13px 15px; border-right: 1px solid #eaf0ee; }
.settings-hub-snapshot article:last-child { border-right: 0; }
.settings-hub-snapshot article > span { color: #879592; font-size: .51rem; font-weight: 800; }
.settings-hub-snapshot article strong { overflow: hidden; color: #354f4e; font-size: .87rem; text-overflow: ellipsis; white-space: nowrap; }
.settings-hub-snapshot article strong i { color: #81918e; font-size: .57rem; font-style: normal; font-weight: 600; }
.settings-hub-snapshot article small { color: #909b98; font-size: .54rem; }
.settings-hub-section { display: grid; gap: 12px; }
.settings-hub-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; padding: 0 2px; }
.settings-hub-section-heading > div > span { color: #84918e; font-size: .53rem; font-weight: 800; }
.settings-hub-section-heading h3 { margin: 4px 0 0; color: var(--console-ink); font-size: 1rem; }
.settings-hub-section-heading p { margin: 0; color: #8a9693; font-size: .57rem; }
.settings-hub-section-heading p i { display: inline-block; width: 4px; height: 4px; margin: 0 5px 2px; border-radius: 50%; background: #c77e64; }
.settings-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.settings-module-link { position: relative; display: grid; grid-template-columns: 39px minmax(0, 1fr) 20px; align-items: center; gap: 12px; min-width: 0; min-height: 93px; padding: 14px; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; color: var(--console-ink); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.settings-module-link:hover { transform: translateY(-2px); border-color: #bfd4ca; box-shadow: 0 7px 17px rgba(35,62,60,.07); }
.settings-module-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d9e8e1; border-radius: 4px; background: #eff6f2; color: #4b7d69; }
.settings-module-icon svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.module-app .settings-module-icon { border-color: #dce5e7; background: #f0f4f4; color: #5e7d7d; }
.module-audit .settings-module-icon { border-color: #eee2cf; background: #faf5eb; color: #9b7a46; }
.module-backup .settings-module-icon { border-color: #efdfd9; background: #fbf1ee; color: #ab6252; }
.module-system .settings-module-icon { border-color: #e1e4ed; background: #f3f3f8; color: #6c718f; }
.settings-module-copy { display: grid; gap: 4px; min-width: 0; }
.settings-module-copy > small { color: #82918e; font-size: .5rem; font-weight: 800; }
.settings-module-copy > small i { margin-left: 3px; color: #a0aaa6; font-style: normal; }
.settings-module-copy > strong { color: #354f4e; font-size: .75rem; }
.settings-module-copy > em { color: #85928f; font-size: .58rem; font-style: normal; line-height: 1.45; }
.settings-module-arrow { justify-self: end; align-self: start; color: #8ba49a; font-size: .83rem; transition: color .15s ease, transform .15s ease; }
.settings-module-link:hover .settings-module-arrow { transform: translate(2px, -2px); color: var(--console-coral); }
.settings-hub-page :is(a, button):focus-visible { outline: 3px solid rgba(33,118,117,.2); outline-offset: 2px; }
@media (max-width: 720px) {
    .settings-hub-page { gap: 11px; }
    .settings-hub-snapshot article { min-height: 69px; padding: 9px 10px; }
    .settings-hub-snapshot article strong { font-size: .76rem; }
    .settings-hub-section { gap: 9px; }
    .settings-hub-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
}
@media (max-width: 520px) {
    .settings-hub-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-hub-snapshot article:nth-child(2) { border-right: 0; }
    .settings-hub-snapshot article:nth-child(-n+2) { border-bottom: 1px solid #eaf0ee; }
    .settings-module-grid { grid-template-columns: minmax(0, 1fr); }
    .settings-module-link { min-height: 82px; padding: 11px; }
}
.admin-user-stats, .audit-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.admin-user-stats article, .audit-summary-grid article { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 76px; padding: 11px 12px; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; transition: transform .15s ease, box-shadow .15s ease; }
.admin-user-stats article:hover, .audit-summary-grid article:hover { transform: translateY(-2px); box-shadow: 0 7px 17px rgba(35,62,60,.07); }
.admin-user-stat-icon, .audit-summary-symbol { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border: 1px solid #e0e8e5; border-radius: 4px; background: #f0f4f3; color: #627b79; font-size: .95rem; font-weight: 700; }
.admin-user-stat-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.admin-user-stat-icon.stat-pending, .audit-summary-symbol.symbol-warning { border-color: #efe3cb; background: #fbf5e9; color: #a17b3c; }
.admin-user-stat-icon.stat-active, .audit-summary-symbol.symbol-success { border-color: #d8eadd; background: #eff7ef; color: #54805b; }
.admin-user-stat-icon.stat-inactive, .audit-summary-symbol.symbol-failed { border-color: #efdfdb; background: #faf0ee; color: #ad5c50; }
.audit-summary-symbol.symbol-all { border-color: #d9e8e3; background: #edf5f1; color: #41796e; }
.admin-user-stats article > div, .audit-summary-grid article > div { display: grid; gap: 2px; min-width: 0; }
.admin-user-stats small, .audit-summary-grid small { color: #768684; font-size: .6rem; font-weight: 700; }
.admin-user-stats strong, .audit-summary-grid strong { color: var(--console-ink); font-size: 1.03rem; line-height: 1.2; }
.admin-user-stats article > div > span, .audit-summary-grid article > div > span { color: #909c99; font-size: .53rem; }
.admin-user-tabs, .settings-local-nav { display: flex; gap: 4px; overflow-x: auto; padding: 4px; border: 1px solid var(--console-line); border-radius: 5px; background: #f3f7f5; scrollbar-width: thin; }
.admin-user-tabs a, .settings-local-nav a { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 33px; padding: 6px 10px; border: 1px solid transparent; border-radius: 3px; color: #6d807d; font-size: .6rem; font-weight: 700; }
.admin-user-tabs a:hover, .settings-local-nav a:hover { background: #fff; color: #3c6d63; }
.admin-user-tabs a.is-current, .settings-local-nav a.is-current { border-color: #dce8e3; background: #fff; color: #32665c; box-shadow: 0 1px 3px rgba(37,61,58,.05); }
.admin-user-tabs a span { display: inline-grid; place-items: center; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 3px; background: #edf2ef; color: #71817d; font-size: .53rem; }
.admin-users-table-panel, .admin-audit-table-panel { min-width: 0; overflow: hidden; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; }
.admin-users-table-heading, .settings-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px 11px; border-bottom: 1px solid #eaf0ee; }
.admin-users-table-heading > div > span, .settings-table-heading > div > span { color: #81918e; font-size: .52rem; font-weight: 800; }
.admin-users-table-heading h3, .settings-table-heading h3 { margin: 4px 0 0; color: var(--console-ink); font-size: .94rem; }
.admin-users-table-heading p, .settings-table-heading p { margin: 0; color: #7c8b88; font-size: .59rem; }
.admin-users-table-heading p strong, .settings-table-heading p strong { color: var(--console-teal); }
.admin-users-tools, .settings-table-tools { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid #edf1ef; }
.admin-user-search, .settings-quick-search { position: relative; display: flex; align-items: center; gap: 7px; width: min(380px, 70%); min-height: 32px; padding: 0 8px; border: 1px solid #dfe8e5; border-radius: 4px; background: #fbfcfc; }
.admin-user-search > span:first-child, .settings-quick-search > span:first-child { color: #78908c; font-size: 1.08rem; line-height: 1; }
.admin-user-search input, .settings-quick-search input { flex: 1; min-width: 0; min-height: 28px; padding: 4px 0; border: 0; outline: 0; background: transparent; color: var(--console-ink); font: inherit; font-size: .61rem; }
.admin-user-search input:focus, .settings-quick-search input:focus { outline: 0; border-color: transparent; }
.admin-user-search kbd, .settings-quick-search kbd { padding: 1px 4px; border: 1px solid #e0e8e5; border-radius: 3px; color: #899794; font-family: inherit; font-size: .53rem; }
.admin-sr-only, .settings-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.admin-users-tools > span, .settings-table-tools > span { color: #879492; font-size: .56rem; }
.admin-users-table-wrap, .settings-data-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
.admin-users-table-wrap:focus-visible, .settings-data-table-wrap:focus-visible { outline: 3px solid rgba(33,118,117,.17); outline-offset: -3px; }
.admin-users-table, .settings-data-table { width: 100%; min-width: 1160px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.admin-users-table caption, .settings-data-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.admin-users-table th, .admin-users-table td, .settings-data-table th, .settings-data-table td { padding: 10px 9px; border-bottom: 1px solid #edf1ef; color: #586b6d; text-align: left; vertical-align: middle; font-size: .61rem; line-height: 1.45; overflow-wrap: anywhere; }
.admin-users-table th, .settings-data-table th { position: sticky; top: 0; z-index: 1; background: #f2f6f4; color: #748581; font-size: .53rem; font-weight: 800; white-space: nowrap; }
.admin-users-table tbody tr[data-admin-user-row], .settings-data-table tbody tr[data-audit-row] { transition: background .14s ease; }
.admin-users-table tbody tr[data-admin-user-row]:hover, .settings-data-table tbody tr[data-audit-row]:hover { background: #f8fbf9; }
.admin-users-table tbody tr[data-admin-user-row][hidden], .settings-data-table tbody tr[data-audit-row][hidden] { display: none !important; }
.admin-users-table th:nth-child(1) { width: 19%; } .admin-users-table th:nth-child(2) { width: 18%; } .admin-users-table th:nth-child(3) { width: 12%; } .admin-users-table th:nth-child(4) { width: 10%; } .admin-users-table th:nth-child(5) { width: 11%; } .admin-users-table th:nth-child(6) { width: 12%; } .admin-users-table th:nth-child(7) { width: 18%; }
.admin-user-identity { display: flex; align-items: center; gap: 8px; min-width: 0; }
.admin-user-avatar { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #d8e8e1; border-radius: 50%; background: #edf5f0; color: #4a7b68; font-size: .63rem; font-weight: 800; }
.admin-user-identity > div { display: grid; gap: 2px; min-width: 0; } .admin-user-identity strong, .settings-table-primary { overflow: hidden; color: #354d4e; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-identity small { color: #879492; font-size: .55rem; } .admin-user-email { color: #4d7972; font-size: .6rem; } .admin-user-email:hover { text-decoration: underline; }
.admin-user-role { display: inline-flex; padding: 4px 6px; border-radius: 3px; background: #eff3f2; color: #637775; font-size: .54rem; font-weight: 700; }
.admin-user-status, .audit-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; border-radius: 3px; font-size: .54rem; font-weight: 800; }
.admin-user-status i, .audit-status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-user-status.is-active, .audit-status.is-success { background: #eaf4ec; color: #427650; } .admin-user-status.is-pending, .audit-status.is-warning { background: #fbf3e3; color: #97723d; } .admin-user-status.is-rejected, .audit-status.is-failed { background: #f8eae7; color: #a35147; } .admin-user-status.is-inactive, .audit-status.is-neutral { background: #eff2f1; color: #6c7a77; }
.admin-user-actions { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; } .admin-user-actions form { margin: 0; }
.admin-user-action { display: inline-flex; justify-content: center; align-items: center; min-height: 27px; padding: 5px 7px; border: 1px solid #dfe8e4; border-radius: 3px; background: #fff; color: #58716d; font: inherit; font-size: .53rem; font-weight: 800; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .14s ease, border-color .14s ease, color .14s ease; }
.admin-user-action:hover { border-color: #b6cec4; background: #f2f7f4; color: #315f56; } .admin-user-action.action-approve { border-color: #d7e8dc; background: #f1f8f2; color: #427653; } .admin-user-action.action-reject { border-color: #efd9d4; background: #fff7f5; color: #a35147; } .admin-user-action.action-deactivate { border-color: #eee4cf; background: #fbf7ed; color: #8d7546; }
.admin-user-empty td, .settings-data-empty td { padding: 30px 14px; text-align: center; } .admin-user-empty strong, .admin-user-empty span, .settings-data-empty strong, .settings-data-empty span { display: block; } .admin-user-empty strong, .settings-data-empty strong { color: #46615d; font-size: .75rem; } .admin-user-empty span, .settings-data-empty span { margin-top: 4px; color: #879492; font-size: .6rem; } .admin-user-empty[hidden], .settings-data-empty[hidden] { display: none !important; }
.admin-user-pagination, .settings-table-pagination { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 43px; padding: 7px 12px; border-top: 1px solid #eaf0ee; } .admin-user-pagination[hidden], .settings-table-pagination[hidden] { display: none; }
.admin-user-pagination > span, .settings-table-pagination > span { color: #7f8e8b; font-size: .57rem; } .admin-user-pagination nav, .settings-table-pagination nav { display: inline-flex; align-items: center; gap: 7px; }
.admin-user-pagination nav button, .settings-table-pagination nav button { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #dce6e2; border-radius: 3px; background: #fff; color: #42766e; font: inherit; cursor: pointer; } .admin-user-pagination nav button:disabled, .settings-table-pagination nav button:disabled { color: #b2bfbb; cursor: not-allowed; }
.admin-user-pagination nav span, .settings-table-pagination nav span { min-width: 40px; color: #627673; font-size: .58rem; text-align: center; }
.admin-user-modal .admin-user-modal-card { width: min(470px, 100%); padding: 23px; border: 1px solid #e0e8e5; border-radius: 7px; box-shadow: 0 24px 70px rgba(21,43,44,.24); }
.admin-modal-kicker { color: #8b7067; font-size: .57rem; font-weight: 800; } .admin-user-modal-card h3 { margin: 7px 0 5px; color: var(--console-ink); font-size: 1.1rem; } .admin-user-modal-card > p { margin: 0 0 17px; color: #748482; font-size: .7rem; line-height: 1.5; }
.admin-user-modal-card form > label { display: grid; gap: 6px; color: #526966; font-size: .65rem; font-weight: 700; } .admin-user-modal-card textarea { min-height: 110px; padding: 10px; border: 1px solid #dce6e2; border-radius: 4px; color: var(--console-ink); font: inherit; font-size: .7rem; resize: vertical; }
.admin-user-modal-card .modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; } .admin-user-modal-card .modal-actions .admin-user-action { min-height: 34px; padding: 7px 11px; }

.settings-local-nav a { min-height: 31px; } .settings-edit-layout { display: grid; grid-template-columns: minmax(215px, .65fr) minmax(0, 1.65fr); gap: 12px; align-items: start; }
.settings-context-rail { position: relative; display: grid; justify-items: start; align-content: start; min-height: 270px; padding: 20px 18px; border: 1px solid #25484a; border-radius: 5px; background: #25484a; color: #fff; }
.settings-rail-index { justify-self: end; color: #a9c0b8; font-size: .55rem; font-weight: 800; } .settings-rail-index i { color: #819e96; font-style: normal; }
.settings-rail-mark { display: grid; place-items: center; width: 38px; height: 38px; margin-top: 8px; border: 1px solid rgba(213,236,222,.24); border-radius: 4px; background: rgba(245,255,247,.08); color: #d4e5dc; }
.settings-rail-mark svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; } .settings-context-rail h3 { margin: 15px 0 5px; color: #fff; font-size: .96rem; }
.settings-context-rail > p { margin: 0; color: #bfd0ca; font-size: .67rem; line-height: 1.55; } .settings-context-rail > div { display: grid; gap: 5px; width: 100%; margin-top: 22px; padding-top: 12px; border-top: 1px solid rgba(221,239,231,.18); }
.settings-context-rail > div small { color: #a3bcb4; font-size: .52rem; font-weight: 800; } .settings-context-rail > div strong { color: #eef5f1; font-size: .7rem; overflow-wrap: anywhere; }
.settings-form-panel { display: grid; gap: 16px; min-width: 0; margin: 0; padding: 19px; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; }
.settings-form-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 11px; border-bottom: 1px solid #eaf0ee; } .settings-form-heading > div > span, .settings-logo-section > div:first-child > span { color: #81918e; font-size: .52rem; font-weight: 800; }
.settings-form-heading h3, .settings-logo-section h3 { margin: 4px 0 0; color: var(--console-ink); font-size: .88rem; } .settings-form-heading > small { color: #8b9895; font-size: .55rem; }
.settings-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 12px; } .settings-fields-grid label, .settings-file-control { display: grid; gap: 5px; min-width: 0; color: #566d6a; font-size: .62rem; font-weight: 700; }
.settings-fields-grid .settings-field-wide { grid-column: 1 / -1; } .settings-fields-grid input, .settings-fields-grid textarea, .settings-file-control input { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; color: var(--console-ink); font: inherit; font-size: .68rem; font-weight: 400; }
.settings-fields-grid textarea { min-height: 82px; resize: vertical; } .settings-fields-grid :is(input, textarea):focus, .settings-file-control input:focus { outline: 3px solid rgba(33,118,117,.12); border-color: #7eaaa0; background: #fff; }
.settings-fields-grid input::placeholder { color: #9aa7a3; } .settings-field-hint { color: #8d9996; font-size: .54rem; font-weight: 400; } .settings-field-section { display: grid; gap: 14px; }
.settings-logo-section { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px; border: 1px solid #e5ece8; border-radius: 4px; background: #f8faf9; }
.settings-logo-section > div:first-child { flex: 1; min-width: 0; } .settings-logo-section p { max-width: 390px; margin: 4px 0 10px; color: #83908d; font-size: .58rem; line-height: 1.5; }
.settings-file-control { max-width: 350px; } .settings-file-control input { min-height: 35px; padding: 5px; background: #fff; font-size: .6rem; }
.settings-logo-preview { display: grid; justify-items: start; gap: 6px; flex: 0 0 auto; } .settings-logo-preview small { color: #84918e; font-size: .5rem; font-weight: 800; } .settings-logo-preview img { display: block; max-width: 160px; max-height: 78px; padding: 7px; border: 1px solid #e0e8e5; border-radius: 4px; background: #fff; object-fit: contain; }
.settings-logo-placeholder { display: grid; justify-items: center; gap: 3px; flex: 0 0 120px; padding: 13px; border: 1px dashed #ccd9d4; color: #8a9a95; } .settings-logo-placeholder span { color: #789b8d; font-size: 1.3rem; } .settings-logo-placeholder small { font-size: .53rem; }
.settings-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid #eaf0ee; } .settings-form-footer > span { color: #8b9794; font-size: .55rem; }
.settings-save-button, .settings-primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 37px; padding: 7px 12px; border: 0; border-radius: 4px; background: var(--console-teal); color: #fff; font: inherit; font-size: .64rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.settings-save-button:hover, .settings-primary-button:hover { transform: translateY(-1px); background: #185f60; } .settings-save-button b, .settings-primary-button b { font-size: .86rem; } .app-settings-layout .settings-context-rail { min-height: 315px; } .app-settings-layout .settings-form-panel { gap: 18px; }

.audit-filter-panel { display: grid; gap: 12px; padding: 14px 16px; border: 1px solid var(--console-line); border-radius: 5px; background: #f7faf8; }
.settings-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; } .settings-section-heading > div > span { color: #81918e; font-size: .52rem; font-weight: 800; } .settings-section-heading h3 { margin: 4px 0 0; color: var(--console-ink); font-size: .86rem; }
.settings-section-heading > a { color: #73837f; font-size: .59rem; font-weight: 700; } .settings-section-heading > a:hover { color: var(--console-coral); text-decoration: underline; }
.audit-filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 8px; align-items: end; } .audit-filter-fields label { display: grid; gap: 4px; min-width: 0; color: #657a77; font-size: .57rem; font-weight: 700; }
.audit-filter-fields :is(input, select) { width: 100%; min-width: 0; min-height: 35px; padding: 6px 8px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: var(--console-ink); font: inherit; font-size: .62rem; }
.audit-filter-fields :is(input, select):focus { outline: 3px solid rgba(33,118,117,.12); border-color: #7eaaa0; } .settings-primary-button { min-height: 35px; font-size: .6rem; }
.audit-data-table { min-width: 1050px; } .audit-data-table th:nth-child(1) { width: 16%; } .audit-data-table th:nth-child(2) { width: 12%; } .audit-data-table th:nth-child(3) { width: 10%; } .audit-data-table th:nth-child(4) { width: 18%; } .audit-data-table th:nth-child(5) { width: 10%; } .audit-data-table th:nth-child(6) { width: 34%; }
.audit-time { color: #607471; font-size: .59rem; font-variant-numeric: tabular-nums; } .audit-module { display: inline-flex; padding: 3px 5px; border-radius: 3px; background: #eff4f1; color: #5d7771; font-size: .54rem; font-weight: 700; } .audit-activity { color: #97644f; font-family: inherit; font-size: .56rem; overflow-wrap: anywhere; } .audit-summary-cell { color: #687b78 !important; }

.backup-overview { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 13px 15px; border: 1px solid #d9e8df; border-radius: 5px; background: #f2f8f4; }
.backup-overview-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #d8e9de; border-radius: 4px; background: #fff; color: #4d826c; } .backup-overview-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.backup-overview > div { display: grid; gap: 2px; min-width: 0; } .backup-overview > div small { color: #789087; font-size: .51rem; font-weight: 800; } .backup-overview > div strong { color: #385c4f; font-size: .75rem; } .backup-overview > div > span { overflow: hidden; color: #81928c; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.backup-storage-badge { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; margin-left: auto; padding: 5px 7px; border: 1px solid #d7e7dd; border-radius: 3px; background: #fff; color: #62816f; font-size: .53rem; font-weight: 700; } .backup-storage-badge i { width: 5px; height: 5px; border-radius: 50%; background: #67a477; }
.backup-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; } .backup-action-panel { display: grid; align-content: start; min-width: 0; padding: 17px; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; }
.backup-action-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .backup-action-icon { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #d9e9e1; border-radius: 4px; background: #eff6f2; color: #4c806b; } .backup-action-icon svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.backup-restore-panel .backup-action-icon { border-color: #eee2d1; background: #faf4e9; color: #9a7948; } .backup-action-step { color: #9aa7a1; font-size: .51rem; font-weight: 800; } .backup-action-step i { margin: 0 3px; color: #c37a61; font-style: normal; }
.backup-action-kicker { color: #82918c; font-size: .52rem; font-weight: 800; } .backup-action-panel h3 { margin: 5px 0; color: var(--console-ink); font-size: .98rem; } .backup-action-panel > p { min-height: 42px; margin: 0 0 14px; color: #7f8e89; font-size: .63rem; line-height: 1.55; } .backup-action-panel form { display: grid; gap: 10px; margin: 0; }
.backup-submit-button, .backup-validate-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 38px; padding: 8px 11px; border: 0; border-radius: 4px; background: var(--console-teal); color: #fff; font: inherit; font-size: .62rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; } .backup-submit-button:hover { transform: translateY(-1px); background: #185f60; } .backup-validate-button { background: #a47b44; } .backup-validate-button:hover { transform: translateY(-1px); background: #896738; }
.backup-file-field { display: grid; gap: 5px; color: #657a77; font-size: .58rem; font-weight: 700; } .backup-file-field input { width: 100%; min-width: 0; min-height: 36px; padding: 5px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; color: #667875; font: inherit; font-size: .58rem; } .backup-file-field input:focus { outline: 3px solid rgba(164,123,68,.14); border-color: #c2a679; }
.backup-safety-note { display: flex; align-items: start; gap: 9px; padding: 11px 13px; border: 1px solid #efe4d1; border-left: 3px solid #bf8b4f; border-radius: 4px; background: #fcf8ef; } .backup-safety-note > span { display: grid; place-items: center; flex: 0 0 19px; width: 19px; height: 19px; border-radius: 50%; background: #f1e4ca; color: #8f6c38; font-size: .67rem; font-weight: 800; } .backup-safety-note p { margin: 0; color: #81765f; font-size: .59rem; line-height: 1.55; } .backup-safety-note strong { margin-right: 4px; color: #715a36; }
.backup-archive-panel { min-width: 0; overflow: hidden; border: 1px solid var(--console-line); border-radius: 5px; background: #fff; } .backup-archive-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #eaf0ee; } .backup-archive-heading > div > span { color: #82908d; font-size: .51rem; font-weight: 800; }
.backup-archive-heading h3 { margin: 4px 0 2px; color: var(--console-ink); font-size: .9rem; } .backup-archive-heading p { margin: 0; color: #879491; font-size: .58rem; } .backup-archive-count { padding: 5px 8px; border: 1px solid #dfe8e4; border-radius: 3px; color: #617773; font-size: .56rem; font-weight: 700; }
.backup-empty-state { display: grid; justify-items: center; padding: 27px 15px; text-align: center; } .backup-empty-state > span { color: #8eaaa0; font-size: 1.5rem; } .backup-empty-state strong { margin-top: 5px; color: #4d6662; font-size: .75rem; } .backup-empty-state p { margin: 4px 0 0; color: #879492; font-size: .58rem; }
.backup-file-list { display: grid; margin: 0; padding: 0 14px; list-style: none; } .backup-file-list li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 0; border-bottom: 1px solid #eef2f0; } .backup-file-list li:last-child { border-bottom: 0; }
.backup-file-type { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border: 1px solid #e5dfd1; border-radius: 4px; background: #f8f4e9; color: #8d7645; font-size: .5rem; font-weight: 800; } .backup-file-list li > div { display: grid; gap: 2px; min-width: 0; } .backup-file-list li > div strong { overflow: hidden; color: #4a6260; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; } .backup-file-list li > div small { color: #909c99; font-size: .52rem; }
.backup-file-list li > a { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; margin-left: auto; padding: 6px 8px; border: 1px solid #dce8e2; border-radius: 3px; background: #f8fbf9; color: #4b776d; font-size: .56rem; font-weight: 800; } .backup-file-list li > a:hover { border-color: #a8c6b7; background: #edf6f0; }
.admin-settings-page :is(a, button, input, select, textarea):focus-visible, .admin-users-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(33,118,117,.2); outline-offset: 2px; }
@media (max-width: 1050px) {
    .admin-user-stats, .audit-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-edit-layout { grid-template-columns: minmax(0, 1fr); }
    .settings-context-rail { min-height: 0; grid-template-columns: 42px 1fr; align-items: center; column-gap: 11px; padding: 13px 15px; }
    .settings-rail-index { grid-column: 2; justify-self: start; grid-row: 1; }
    .settings-rail-mark { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
    .settings-context-rail h3 { grid-column: 2; margin: 0; }
    .settings-context-rail > p { grid-column: 2; }
    .settings-context-rail > div { display: none; }
    .audit-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .audit-filter-fields button { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .admin-users-page, .admin-settings-page { gap: 11px; }
    .admin-console-hero { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 20px 17px 25px; }
    .admin-console-hero h2 { font-size: 1.4rem; } .admin-console-hero p { font-size: .71rem; } .admin-console-index { right: 17px; bottom: 8px; }
    .admin-user-stats, .audit-summary-grid { gap: 7px; }
    .admin-user-stats article, .audit-summary-grid article { min-height: 64px; gap: 7px; padding: 8px; }
    .admin-user-stat-icon, .audit-summary-symbol { flex-basis: 27px; width: 27px; height: 27px; }
    .admin-user-stat-icon svg { width: 14px; height: 14px; }
    .admin-user-stats small, .audit-summary-grid small { font-size: .53rem; } .admin-user-stats strong, .audit-summary-grid strong { font-size: .92rem; } .admin-user-stats article > div > span, .audit-summary-grid article > div > span { font-size: .48rem; }
    .admin-user-tabs a, .settings-local-nav a { padding: 6px 8px; font-size: .57rem; }
    .admin-users-table-heading, .settings-table-heading { align-items: flex-start; padding: 11px; }
    .admin-users-tools, .settings-table-tools { align-items: flex-start; flex-direction: column; padding: 8px 10px; }
    .admin-user-search, .settings-quick-search { width: 100%; }
    .admin-users-table-wrap, .settings-data-table-wrap { overflow: visible; border-top: 1px solid #edf1ef; }
    .admin-users-table, .settings-data-table, .audit-data-table { display: block; min-width: 0; }
    .admin-users-table thead, .settings-data-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .admin-users-table tbody, .settings-data-table tbody { display: grid; gap: 8px; padding: 8px; }
    .admin-users-table tbody tr[data-admin-user-row], .settings-data-table tbody tr[data-audit-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e3ebe7; border-radius: 4px; }
    .admin-users-table td, .settings-data-table td { display: grid; grid-template-columns: minmax(88px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #eef2f0; font-size: .61rem; }
    .admin-users-table td::before, .settings-data-table td::before { color: #788986; content: attr(data-label); font-size: .56rem; font-weight: 700; }
    .admin-users-table td:last-child, .settings-data-table td:last-child { border-bottom: 0; }
    .admin-users-table td.admin-user-actions { display: flex; flex-wrap: wrap; gap: 5px; padding: 9px 0 4px; }
    .admin-users-table td.admin-user-actions::before { flex-basis: 100%; }
    .admin-user-empty, .settings-data-empty { display: block; padding: 7px; border: 1px solid #e3ebe7; border-radius: 4px; }
    .admin-user-empty td, .settings-data-empty td { display: block; border: 0; }
    .admin-user-empty td::before, .settings-data-empty td::before { content: none; }
    .admin-user-pagination, .settings-table-pagination { align-items: flex-start; flex-direction: column; }
    .admin-user-pagination nav, .settings-table-pagination nav { align-self: center; }
    .settings-edit-layout { grid-template-columns: minmax(0, 1fr); }
    .settings-context-rail { min-height: 0; grid-template-columns: 42px 1fr; align-items: center; column-gap: 11px; padding: 13px 15px; }
    .settings-rail-mark { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
    .settings-rail-index { grid-column: 2; justify-self: start; grid-row: 1; }
    .settings-context-rail h3 { grid-column: 2; margin: 0; } .settings-context-rail > p { grid-column: 2; } .settings-context-rail > div { display: none; }
    .settings-form-panel { padding: 14px; } .settings-fields-grid { gap: 11px 8px; }
    .settings-logo-section { align-items: flex-start; flex-direction: column; } .settings-logo-preview { width: 100%; }
    .settings-form-footer { align-items: flex-start; flex-direction: column; } .settings-form-footer > span { order: 2; } .settings-save-button { width: 100%; justify-content: space-between; }
    .audit-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .audit-filter-fields button { grid-column: 1 / -1; }
    .backup-action-grid { grid-template-columns: minmax(0, 1fr); } .backup-action-panel > p { min-height: 0; }
}
@media (max-width: 440px) {
    .admin-user-stats, .audit-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-fields-grid, .audit-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .settings-fields-grid .settings-field-wide, .audit-filter-fields button { grid-column: 1; }
    .settings-form-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .backup-overview { align-items: flex-start; flex-wrap: wrap; } .backup-storage-badge { margin-left: 45px; }
    .backup-archive-heading { align-items: flex-start; } .admin-user-modal .admin-user-modal-card { padding: 18px; }
}

.barcode-dashboard-page, .barcode-notifications-page, .barcode-profile-page, .barcode-user-scan-page { --barcode-ink: #253a3d; --barcode-muted: #758689; --barcode-line: #dfe8e5; --barcode-teal: #217675; --barcode-coral: #ad594a; display: grid; gap: 15px; min-width: 0; color: var(--barcode-ink); }
.barcode-dashboard-hero, .barcode-page-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 164px; overflow: hidden; padding: 25px 29px; border: 1px solid #24464a; border-left: 5px solid #c8755e; border-radius: 6px; background-color: #23464a; background-image: linear-gradient(110deg, rgba(30,62,66,.98), rgba(48,85,81,.96)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.07) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.07) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.barcode-dashboard-copy, .barcode-page-hero > div { position: relative; z-index: 1; min-width: 0; }
.barcode-dashboard-kicker { display: flex; align-items: center; gap: 8px; color: #b9cec8; font-size: .61rem; font-weight: 800; }
.barcode-dashboard-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #d78970; }
.barcode-dashboard-kicker b { color: #7e9c96; }
.barcode-dashboard-hero h2, .barcode-page-hero h2 { margin: 10px 0 5px; color: #fff; font-size: 1.62rem; line-height: 1.2; }
.barcode-dashboard-hero p, .barcode-page-hero p { max-width: 590px; margin: 0; color: #c4d5cf; font-size: .76rem; line-height: 1.6; }
.barcode-dashboard-primary { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; min-height: 43px; padding: 0 14px; border: 1px solid #e5ede8; border-radius: 4px; background: #f7faf7; color: #264b4b; font-size: .69rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.barcode-dashboard-primary:hover { transform: translateY(-1px); background: #fff; }
.barcode-dashboard-primary > span { color: var(--barcode-teal); font-size: 1.1rem; }
.barcode-dashboard-primary > b { color: var(--barcode-coral); font-size: .85rem; }
.barcode-dashboard-index, .barcode-page-index { position: absolute; right: 28px; bottom: 9px; color: #98b2aa; font-size: .51rem; font-weight: 800; letter-spacing: .06em; }
.barcode-dashboard-index i, .barcode-page-index i { margin: 0 4px; color: #d48a72; font-style: normal; }
.barcode-page-hero > a { position: relative; z-index: 1; flex: 0 0 auto; color: #d5e1dc; font-size: .67rem; font-weight: 700; }
.barcode-page-hero > a:hover { color: #fff; text-decoration: underline; }
.barcode-page-hero > a span { margin-left: 5px; color: #d28a72; }

.barcode-dashboard-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.barcode-dashboard-summary article { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 78px; padding: 11px 12px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; transition: transform .15s ease, box-shadow .15s ease; }
.barcode-dashboard-summary article:hover { transform: translateY(-2px); box-shadow: 0 7px 17px rgba(35,62,60,.07); }
.barcode-summary-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #d9e8e1; border-radius: 4px; background: #eff6f2; color: #4b7d69; }
.barcode-summary-icon svg, .barcode-feature-icon svg, .barcode-shortcut-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.barcode-summary-icon.summary-role { border-color: #eee2cf; background: #faf5eb; color: #9b7a46; }
.barcode-summary-icon.summary-scan { border-color: #dce5e7; background: #f0f4f4; color: #5e7d7d; }
.barcode-dashboard-summary article > div { display: grid; gap: 2px; min-width: 0; }
.barcode-dashboard-summary small { color: #768684; font-size: .59rem; font-weight: 700; }
.barcode-dashboard-summary strong { overflow: hidden; color: var(--barcode-ink); font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }
.barcode-dashboard-summary article > div > span { color: #909c99; font-size: .53rem; }
.barcode-dashboard-workspace { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 10px; }
.barcode-workspace-feature { display: grid; align-content: start; justify-items: start; min-height: 250px; padding: 18px; border: 1px solid #dce8e2; border-radius: 5px; background: #f6faf7; }
.barcode-feature-top { display: flex; justify-content: space-between; width: 100%; color: #7f918a; font-size: .53rem; font-weight: 800; }
.barcode-feature-number { color: #b3c2bc; }
.barcode-feature-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-top: 17px; border: 1px solid #d4e5dc; border-radius: 4px; background: #fff; color: #41806b; }
.barcode-feature-icon svg { width: 21px; height: 21px; }
.barcode-workspace-feature h3 { margin: 14px 0 5px; color: #2c4a4c; font-size: 1.03rem; }
.barcode-workspace-feature p { max-width: 430px; margin: 0; color: #7f908b; font-size: .66rem; line-height: 1.55; }
.barcode-workspace-feature > a { display: inline-flex; align-items: center; gap: 10px; margin-top: 15px; color: #31796e; font-size: .64rem; font-weight: 800; }
.barcode-workspace-feature > a:hover { color: var(--barcode-coral); }
.barcode-dashboard-side { display: grid; gap: 9px; }
.barcode-shortcut { display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; color: var(--barcode-ink); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.barcode-shortcut:hover { transform: translateY(-1px); border-color: #bdd3c9; box-shadow: 0 5px 14px rgba(35,62,60,.06); }
.barcode-shortcut-icon { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #eee2cf; border-radius: 4px; background: #faf5eb; color: #9b7a46; }
.barcode-shortcut-icon.shortcut-profile { border-color: #dfe5e9; background: #f2f5f6; color: #657d83; }
.barcode-shortcut > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.barcode-shortcut small { color: #83918e; font-size: .5rem; font-weight: 800; }
.barcode-shortcut strong { color: #365250; font-size: .7rem; }
.barcode-shortcut em { color: #879491; font-size: .56rem; font-style: normal; line-height: 1.45; }
.barcode-shortcut > b { justify-self: end; align-self: start; color: #8ca59b; font-size: .75rem; }
.barcode-scan-flow { padding: 15px 17px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; }
.barcode-scan-flow > header > span { color: #84928f; font-size: .52rem; font-weight: 800; }
.barcode-scan-flow h3 { margin: 4px 0 0; color: #30484a; font-size: .88rem; }
.barcode-scan-flow ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.barcode-scan-flow li { display: grid; grid-template-columns: 29px minmax(0, 1fr); align-items: center; gap: 2px 9px; padding: 5px 12px; border-right: 1px solid #e8efec; }
.barcode-scan-flow li:first-child { padding-left: 0; }
.barcode-scan-flow li:last-child { border-right: 0; }
.barcode-scan-flow li > span { display: grid; grid-row: span 2; place-items: center; width: 26px; height: 26px; border: 1px solid #d9e8e1; border-radius: 50%; color: #4d8170; font-size: .52rem; font-weight: 800; }
.barcode-scan-flow li strong { color: #47605d; font-size: .6rem; }
.barcode-scan-flow li small { color: #8a9793; font-size: .53rem; line-height: 1.4; }

.barcode-user-scan-page .barcode-scan-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 145px; overflow: hidden; padding: 23px 27px; border: 1px solid #24464a; border-left: 5px solid #c8755e; border-radius: 6px; background-color: #23464a; background-image: linear-gradient(110deg, rgba(30,62,66,.98), rgba(48,85,81,.96)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.07) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.07) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.barcode-user-scan-page .barcode-scan-hero h2 { margin: 9px 0 5px; color: #fff; font-size: 1.5rem; }
.barcode-user-scan-page .barcode-scan-hero p { max-width: 510px; margin: 0; color: #c4d5cf; font-size: .72rem; line-height: 1.55; }
.barcode-user-scan-page .barcode-scan-hero > a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 38px; padding: 0 11px; border: 1px solid rgba(226,239,232,.65); border-radius: 4px; background: rgba(255,255,255,.94); color: #315953; font-size: .63rem; font-weight: 800; white-space: nowrap; transition: background .15s ease, transform .15s ease; }
.barcode-user-scan-page .barcode-scan-hero > a:hover { transform: translateY(-1px); background: #fff; color: #244a49; }
.barcode-user-scan-page .barcode-scan-hero > a span { color: var(--barcode-coral); }
.barcode-scan-methods { display: flex; gap: 0; padding: 0 8px 11px; border-bottom: 1px solid var(--barcode-line); }
.barcode-scan-methods > span { display: flex; align-items: center; gap: 7px; flex: 1; padding: 4px 13px; border-right: 1px solid var(--barcode-line); color: #7d8c89; font-size: .62rem; font-weight: 700; }
.barcode-scan-methods > span:last-child { border-right: 0; }
.barcode-scan-methods > span i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #d7e4df; border-radius: 50%; color: #77918a; font-size: .5rem; font-style: normal; }
.barcode-scan-methods > span.is-current { color: #346b62; }
.barcode-scan-methods > span.is-current i { border-color: var(--barcode-teal); background: var(--barcode-teal); color: #fff; }
.barcode-user-scan-page .scan-layout { grid-template-columns: minmax(0, 1.06fr) minmax(300px, .94fr); gap: 12px; align-items: stretch; }
.barcode-user-scan-page .scanner-panel, .barcode-user-scan-page .result-panel { min-width: 0; padding: 17px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; box-shadow: 0 4px 14px rgba(35,62,60,.04); }
.barcode-scan-panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 10px; margin-bottom: 12px; }
.barcode-scan-panel-heading > div > span { color: #82918e; font-size: .51rem; font-weight: 800; }
.barcode-scan-panel-heading > div > span i { display: inline-block; width: 4px; height: 4px; margin: 0 4px 2px; border-radius: 50%; background: #c8755e; }
.barcode-scan-panel-heading h3, .barcode-result-heading h3 { margin: 4px 0; color: #2e494a; font-size: .93rem; }
.barcode-scan-panel-heading p, .barcode-result-heading p { margin: 0; color: #82908c; font-size: .62rem; }
.barcode-scan-panel-heading > span { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 5px 7px; border: 1px solid #dce9e1; border-radius: 3px; background: #f4f9f5; color: #557c64; font-size: .52rem; font-weight: 700; }
.barcode-scan-panel-heading > span i { width: 5px; height: 5px; border-radius: 50%; background: #69a477; }
.barcode-user-scan-page .scanner-stage, .barcode-user-scan-page .scanner-stage video { min-height: 315px; border-radius: 4px; background: #17363a; }
.barcode-user-scan-page .scanner-stage video { display: block; width: 100%; height: 315px; object-fit: cover; }
.barcode-user-scan-page .scanner-overlay { inset: 15% 13%; border: 1px solid rgba(225,244,235,.76); border-radius: 3px; box-shadow: inset 0 0 0 9999px rgba(10,30,32,.22); }
.barcode-scan-frame-label { position: absolute; right: 12px; bottom: 11px; left: 12px; color: rgba(255,255,255,.82); font-size: .52rem; font-weight: 800; text-align: center; }
.barcode-user-scan-page .scan-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.barcode-user-scan-page .scan-actions .btn { width: auto; min-height: 36px; margin: 0; padding: 7px 10px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: #5c7370; font-size: .61rem; font-weight: 700; }
.barcode-user-scan-page .scan-actions .btn-primary { border-color: var(--barcode-teal); background: var(--barcode-teal); color: #fff; }
.barcode-user-scan-page .scan-actions .btn:hover { border-color: #9dbbb0; background: #f4f8f5; color: #365f59; }
.barcode-user-scan-page .scan-actions .btn-primary:hover { background: #185f60; color: #fff; }
.barcode-user-scan-page .manual-entry { margin-top: 14px; }
.barcode-scan-divider { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; color: #879592; font-size: .51rem; font-weight: 800; }
.barcode-scan-divider i { flex: 1; height: 1px; background: #e7eeeb; }
.barcode-user-scan-page .manual-entry label { margin-bottom: 5px; color: #596f6c; font-size: .61rem; }
.barcode-user-scan-page .manual-row { gap: 7px; }
.barcode-user-scan-page .manual-row input { min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; font: inherit; font-size: .65rem; }
.barcode-user-scan-page .manual-row input:focus { outline: 3px solid rgba(33,118,117,.13); border-color: #7eaaa0; }
.barcode-user-scan-page .manual-row .btn { width: auto; min-height: 38px; margin: 0; padding: 7px 13px; border-radius: 4px; background: #344e4e; font-size: .62rem; }
.barcode-user-scan-page .status-message { margin-top: 11px; padding: 8px 10px; border-radius: 3px; font-size: .59rem; }
.barcode-result-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; padding-bottom: 11px; border-bottom: 1px solid #e9efec; }
.barcode-result-heading > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #d9e8e1; border-radius: 4px; background: #eff6f2; color: #4b7d69; }
.barcode-result-heading svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.barcode-result-heading > div > small { color: #84928f; font-size: .5rem; font-weight: 800; }
.barcode-user-scan-page .asset-result { min-height: 315px; }
.barcode-user-scan-page .asset-result.empty { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 20px; border: 1px dashed #cbdad4; border-radius: 4px; background: #f7faf8; color: #82918c; text-align: center; }
.barcode-user-scan-page .asset-result.empty::before { width: 72px; height: 38px; border: 1px solid #b9ccc4; border-radius: 3px; background: repeating-linear-gradient(90deg, #79958b 0 2px, transparent 2px 5px, #79958b 5px 6px, transparent 6px 10px); content: ""; opacity: .65; }
.barcode-user-scan-page .asset-result.empty p { max-width: 230px; margin: 0; color: #758782; font-size: .65rem; line-height: 1.55; }
.barcode-user-scan-page .asset-head { padding-bottom: 12px; border-bottom: 1px solid #e9efec; }
.barcode-user-scan-page .asset-head h4 { color: #2c4848; font-size: .88rem; }
.barcode-user-scan-page .asset-head p { color: #7e8f8b; font-size: .61rem; }
.barcode-user-scan-page .asset-image, .barcode-user-scan-page .asset-empty-image { width: 66px; height: 66px; flex: 0 0 66px; border: 1px solid #dce7e2; border-radius: 4px; background: #f1f6f3; }
.barcode-user-scan-page .asset-grid { gap: 0 12px; }
.barcode-user-scan-page .asset-grid > div { min-width: 0; padding: 9px 0; border: 0; border-bottom: 1px solid #edf1ef; border-radius: 0; background: transparent; }
.barcode-user-scan-page .asset-grid span { color: #85928f; font-size: .54rem; }
.barcode-user-scan-page .asset-grid strong { color: #3a5654; font-size: .64rem; overflow-wrap: anywhere; }

.barcode-notifications-page, .barcode-profile-page { gap: 13px; }
.notifications-hero { min-height: 145px; }
.notifications-mark-all-form { position: relative; z-index: 1; flex: 0 0 auto; margin: 0; }
.notifications-mark-all-form button { display: inline-flex; align-items: center; gap: 8px; min-height: 39px; padding: 0 11px; border: 1px solid rgba(226,239,232,.7); border-radius: 4px; background: rgba(255,255,255,.94); color: #315953; font: inherit; font-size: .62rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.notifications-mark-all-form button:hover { transform: translateY(-1px); background: #fff; }
.notifications-mark-all-form button span { color: #4b806b; font-size: .9rem; }
.notifications-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.notifications-overview article { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 70px; padding: 10px 12px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; }
.notifications-overview-icon { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #d9e8e1; border-radius: 4px; background: #eff6f2; color: #4b7d69; }
.notifications-overview-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.notifications-overview-icon.icon-unread { border-color: #efdfd9; background: #fbf1ee; }
.notifications-overview-icon.icon-unread i { width: 9px; height: 9px; border-radius: 50%; background: #bd6b57; }
.notifications-overview-icon.icon-page { border-color: #dce5e7; background: #f0f4f4; color: #5e7d7d; }
.notifications-overview article > div { display: grid; gap: 2px; min-width: 0; }
.notifications-overview small { color: #7f8e8b; font-size: .55rem; font-weight: 700; }
.notifications-overview strong { overflow: hidden; color: #354f4e; font-size: .93rem; text-overflow: ellipsis; white-space: nowrap; }
.notifications-overview strong i { color: #82918e; font-size: .62rem; font-style: normal; }
.notifications-overview article > div > span { color: #919c99; font-size: .51rem; }
.barcode-notice-alert { margin: 0; }
.notifications-filter-section { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #f7faf8; }
.notifications-filter-section > header { display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.notifications-filter-section > header > div > span, .notifications-list-heading > div > span { color: #84928f; font-size: .51rem; font-weight: 800; }
.notifications-filter-section h3, .notifications-list-heading h3 { margin: 4px 0 0; color: #30494a; font-size: .88rem; }
.notifications-filter-hint { color: #899693; font-size: .55rem; }
.notifications-filter-tabs { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
.notifications-filter-tabs a { flex: 0 0 auto; padding: 7px 9px; border: 1px solid #e0e9e5; border-radius: 3px; background: #fff; color: #6c817c; font-size: .56rem; font-weight: 700; white-space: nowrap; transition: border-color .14s ease, color .14s ease, background .14s ease; }
.notifications-filter-tabs a:hover { border-color: #bed4ca; color: #3e7568; }
.notifications-filter-tabs a.is-current { border-color: #417c70; background: #417c70; color: #fff; }
.notifications-list-panel { min-width: 0; overflow: hidden; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; }
.notifications-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #eaf0ee; }
.notifications-search { display: flex; align-items: center; gap: 7px; width: min(280px, 55%); min-height: 31px; padding: 0 8px; border: 1px solid #dfe8e5; border-radius: 4px; background: #fbfcfc; }
.notifications-search > span:first-child { color: #78908c; font-size: 1rem; }
.notifications-search input { flex: 1; min-width: 0; min-height: 27px; padding: 3px 0; border: 0; outline: 0; background: transparent; color: #334d4c; font: inherit; font-size: .58rem; }
.notifications-search input:focus { outline: 0; }
.notifications-search kbd { padding: 1px 4px; border: 1px solid #e0e8e5; border-radius: 3px; color: #899794; font-family: inherit; font-size: .51rem; }
.notifications-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.notifications-items { padding: 0 14px; }
.barcode-notification-form { margin: 0; border-bottom: 1px solid #edf1ef; }
.barcode-notification-form:last-of-type { border-bottom: 0; }
.barcode-notification-form[hidden] { display: none !important; }
.barcode-notification-item { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 16px; align-items: center; gap: 11px; width: 100%; min-height: 80px; padding: 12px 4px; border: 0; border-radius: 0; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; transition: background .14s ease; }
.barcode-notification-item:hover { background: #f7faf8; }
.barcode-notification-item.unread { background: #f7faf8; }
.barcode-notification-item .notification-dot { width: 7px; height: 7px; margin: 0; border-radius: 50%; }
.barcode-notification-item.unread .notification-dot { background: #b96654; }
.notification-content { display: grid; gap: 3px; min-width: 0; }
.notification-content strong { overflow: hidden; color: #385250; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.notification-content > span { overflow: hidden; color: #758582; font-size: .59rem; line-height: 1.5; text-overflow: ellipsis; }
.notification-content small { margin: 1px 0 0; color: #98a29f; font-size: .52rem; }
.notification-read-state { padding: 4px 6px; border-radius: 3px; background: #eff3f1; color: #75837f; font-size: .51rem; font-weight: 700; white-space: nowrap; }
.barcode-notification-item.unread .notification-read-state { background: #f9eee9; color: #a45e4e; }
.notification-open-arrow { color: #8da49b; font-size: .8rem; transition: transform .14s ease, color .14s ease; }
.barcode-notification-item:hover .notification-open-arrow { transform: translateX(2px); color: var(--barcode-coral); }
.notifications-empty { display: grid; justify-items: center; padding: 33px 16px; color: #82918c; text-align: center; }
.notifications-empty > span { color: #94aca2; font-size: 1.4rem; }
.notifications-empty strong { margin-top: 5px; color: #4c6660; font-size: .75rem; }
.notifications-empty p { margin: 4px 0 0; color: #879491; font-size: .58rem; }
.notifications-search-empty[hidden] { display: none; }
.notifications-pagination { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 43px; padding: 7px 13px; border-top: 1px solid #eaf0ee; }
.notifications-pagination > span { color: #7f8e8b; font-size: .57rem; }
.notifications-pagination a { display: inline-flex; align-items: center; gap: 6px; color: #3f786e; font-size: .59rem; font-weight: 800; }
.notifications-pagination a:hover { color: var(--barcode-coral); }

.profile-workspace { display: grid; grid-template-columns: minmax(230px, .68fr) minmax(0, 1.32fr); gap: 11px; align-items: stretch; }
.profile-identity-panel { display: grid; justify-items: start; align-content: start; min-width: 0; padding: 19px; border: 1px solid #25484a; border-radius: 5px; background: #25484a; color: #fff; }
.profile-identity-kicker { color: #a9c0b8; font-size: .52rem; font-weight: 800; }
.profile-avatar-mark { display: grid; place-items: center; width: 52px; height: 52px; margin-top: 17px; border: 1px solid rgba(213,236,222,.25); border-radius: 50%; background: rgba(245,255,247,.08); color: #d4e5dc; }
.profile-avatar-mark svg { width: 24px; height: 24px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.profile-identity-panel h3 { max-width: 100%; margin: 11px 0 6px; overflow-wrap: anywhere; color: #fff; font-size: .98rem; }
.profile-role-badge { padding: 4px 7px; border: 1px solid rgba(210,235,221,.24); border-radius: 3px; background: rgba(240,255,245,.08); color: #c1d7cc; font-size: .53rem; font-weight: 700; }
.profile-identity-details { display: grid; gap: 10px; width: 100%; margin-top: 21px; padding-top: 13px; border-top: 1px solid rgba(221,239,231,.18); }
.profile-identity-details > div { display: grid; gap: 3px; min-width: 0; }
.profile-identity-details small { color: #a3bcb4; font-size: .5rem; font-weight: 800; }
.profile-identity-details strong { overflow: hidden; color: #edf5f0; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-identity-note { margin: 15px 0 0; color: #b7cbc3; font-size: .57rem; line-height: 1.55; }
.profile-workspace-form { display: grid; align-content: start; gap: 16px; min-width: 0; margin: 0; padding: 19px; border: 1px solid var(--barcode-line); border-radius: 5px; background: #fff; }
.profile-form-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding-bottom: 11px; border-bottom: 1px solid #eaf0ee; }
.profile-form-heading > div > span { color: #84928f; font-size: .51rem; font-weight: 800; }
.profile-form-heading h3 { margin: 4px 0 3px; color: #30494a; font-size: .91rem; }
.profile-form-heading p { margin: 0; color: #84918e; font-size: .59rem; line-height: 1.5; }
.profile-form-required { color: #a36655; font-size: .53rem; white-space: nowrap; }
.profile-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 11px; }
.profile-fields-grid label { display: grid; gap: 5px; min-width: 0; color: #5b716e; font-size: .61rem; font-weight: 700; }
.profile-fields-grid input { width: 100%; min-width: 0; min-height: 39px; padding: 8px 10px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; color: #344d4b; font: inherit; font-size: .67rem; font-weight: 400; }
.profile-fields-grid input:focus { outline: 3px solid rgba(33,118,117,.12); border-color: #7eaaa0; background: #fff; }
.profile-fields-grid .profile-readonly-field input:disabled { border-color: #e5ebe8; background: #f1f4f2; color: #8a9692; cursor: not-allowed; }
.profile-fields-grid .field-error { color: #a84f45; font-size: .54rem; font-weight: 600; }
.profile-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid #eaf0ee; }
.profile-form-footer > span { color: #8a9793; font-size: .55rem; }
.profile-form-footer button { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 38px; padding: 8px 12px; border: 0; border-radius: 4px; background: var(--barcode-teal); color: #fff; font: inherit; font-size: .63rem; font-weight: 800; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.profile-form-footer button:hover { transform: translateY(-1px); background: #185f60; }
.barcode-dashboard-page :is(a, button):focus-visible, .barcode-notifications-page :is(a, button, input):focus-visible, .barcode-profile-page :is(a, button, input):focus-visible, .barcode-user-scan-page :is(a, button, input):focus-visible { outline: 3px solid rgba(33,118,117,.2); outline-offset: 2px; }

@media (max-width: 960px) {
    .barcode-dashboard-workspace { grid-template-columns: minmax(0, 1fr); }
    .barcode-workspace-feature { min-height: 0; }
    .barcode-user-scan-page .scan-layout { grid-template-columns: minmax(0, 1fr); }
    .profile-workspace { grid-template-columns: minmax(0, 1fr); }
    .profile-identity-panel { grid-template-columns: 54px minmax(0, 1fr); align-items: center; column-gap: 11px; }
    .profile-identity-kicker { grid-column: 2; grid-row: 1; }
    .profile-avatar-mark { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
    .profile-identity-panel h3 { grid-column: 2; margin: 0; }
    .profile-role-badge { grid-column: 2; justify-self: start; }
    .profile-identity-details, .profile-identity-note { display: none; }
}
@media (max-width: 720px) {
    .topbar { gap: 10px; padding: 12px 16px; }
    .topbar > div:not(.topbar-actions) { flex: 1 1 auto; min-width: 0; }
    .topbar h1 { margin: 0; font-size: .92rem; line-height: 1.25; overflow-wrap: anywhere; }
    .topbar p { margin: 3px 0 0; font-size: .61rem; }
    .topbar-actions { flex: 0 0 auto; gap: 11px; margin-left: 0; }
    .notification-menu summary { font-size: .65rem; white-space: nowrap; }
    .notification-menu summary b { min-width: 17px; height: 17px; font-size: .58rem; }
    .topbar-user { max-width: 100px; min-width: 0; }
    .topbar-user span { display: block; overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
    .topbar-user em { overflow: hidden; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
    .notification-dropdown { right: -45px; width: min(320px, calc(100vw - 24px)); }
    .barcode-dashboard-page, .barcode-notifications-page, .barcode-profile-page, .barcode-user-scan-page { gap: 11px; }
    .barcode-dashboard-hero, .barcode-page-hero { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 20px 17px 25px; }
    .barcode-dashboard-hero h2, .barcode-page-hero h2 { font-size: 1.4rem; }
    .barcode-dashboard-hero p, .barcode-page-hero p { font-size: .7rem; }
    .barcode-dashboard-index, .barcode-page-index { right: 17px; bottom: 8px; }
    .barcode-dashboard-primary { min-height: 38px; }
    .barcode-user-scan-page .barcode-scan-hero { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 20px 17px 18px; }
    .barcode-user-scan-page .barcode-scan-hero h2 { font-size: 1.36rem; }
    .barcode-user-scan-page .barcode-scan-hero p { max-width: 100%; font-size: .68rem; }
    .barcode-user-scan-page .barcode-scan-hero > a { min-height: 36px; }
    .barcode-dashboard-summary, .notifications-overview { gap: 7px; }
    .barcode-dashboard-summary article, .notifications-overview article { min-height: 65px; gap: 7px; padding: 8px; }
    .barcode-summary-icon, .notifications-overview-icon { flex-basis: 27px; width: 27px; height: 27px; }
    .barcode-dashboard-summary small, .notifications-overview small { font-size: .52rem; }
    .barcode-dashboard-summary strong { font-size: .73rem; }
    .barcode-dashboard-summary article > div > span, .notifications-overview article > div > span { font-size: .47rem; }
    .barcode-scan-flow ol { grid-template-columns: minmax(0, 1fr); }
    .barcode-scan-flow li { min-height: 47px; padding: 6px 2px; border-right: 0; border-bottom: 1px solid #e8efec; }
    .barcode-scan-flow li:last-child { border-bottom: 0; }
    .barcode-user-scan-page .scanner-stage, .barcode-user-scan-page .scanner-stage video { min-height: 255px; }
    .barcode-user-scan-page .scanner-stage video { height: 255px; }
    .barcode-user-scan-page .scan-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .barcode-user-scan-page .scan-actions #startScanBtn { grid-column: 1 / -1; }
    .barcode-user-scan-page .manual-row { flex-direction: row; }
    .barcode-scan-methods { padding: 0 1px 8px; }
    .barcode-scan-methods > span { justify-content: center; gap: 5px; padding: 3px 6px; font-size: .53rem; }
    .barcode-scan-methods > span i { width: 20px; height: 20px; }
    .notifications-filter-section { padding: 10px; }
    .notifications-filter-hint { font-size: .5rem; }
    .notifications-list-heading { align-items: flex-start; flex-direction: column; padding: 11px; }
    .notifications-search { width: 100%; }
    .notifications-items { padding: 0 9px; }
    .barcode-notification-item { grid-template-columns: 9px minmax(0, 1fr) auto; gap: 8px; min-height: 76px; padding: 10px 2px; }
    .notification-open-arrow { display: none; }
    .notification-content strong { font-size: .63rem; }
    .notification-content > span { font-size: .55rem; }
    .notification-read-state { padding: 4px; font-size: .48rem; }
    .profile-workspace-form { padding: 14px; }
    .profile-fields-grid { gap: 11px 8px; }
    .profile-form-footer { align-items: flex-start; flex-direction: column; }
    .profile-form-footer > span { order: 2; }
    .profile-form-footer button { width: 100%; }
}
@media (max-width: 440px) {
    .topbar { gap: 8px; padding: 10px 12px; }
    .topbar h1 { font-size: .82rem; }
    .topbar p { font-size: .55rem; }
    .topbar-actions { gap: 8px; }
    .notification-menu summary { font-size: .59rem; }
    .topbar-user { max-width: 78px; }
    .topbar-user span { font-size: .59rem; }
    .topbar-user em { font-size: .47rem; }
    .barcode-dashboard-summary, .notifications-overview { grid-template-columns: minmax(0, 1fr); }
    .barcode-dashboard-summary article, .notifications-overview article { min-height: 58px; }
    .barcode-dashboard-primary { width: 100%; justify-content: space-between; }
    .barcode-page-hero > a { padding: 2px 0; }
    .barcode-scan-methods > span { flex-direction: column; gap: 3px; font-size: .48rem; }
    .barcode-user-scan-page .scanner-panel, .barcode-user-scan-page .result-panel { padding: 13px; }
    .barcode-user-scan-page .manual-row { gap: 6px; }
    .barcode-user-scan-page .manual-row .btn { padding: 7px 10px; }
    .profile-fields-grid { grid-template-columns: minmax(0, 1fr); }
    .profile-form-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
    .notifications-pagination { padding: 7px 9px; }
}

.maintenance-report-create-page { --report-create-ink: #293738; --report-create-muted: #768386; --report-create-line: #dfe6e5; --report-create-teal: #286e70; --report-create-orange: #c46d48; min-width: 0; color: var(--report-create-ink); }
.report-create-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 133px; margin-bottom: 13px; padding: 21px 26px; border: 1px solid #dce5e3; border-left: 5px solid var(--report-create-orange); border-radius: 6px; background: #f1f5f3; }
.report-create-hero > div:first-child { min-width: 0; }
.report-create-kicker { color: #687b7d; font-size: .62rem; font-weight: 700; }
.report-create-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: var(--report-create-orange); }
.report-create-hero h2 { margin: 7px 0 4px; color: var(--report-create-ink); font-size: 1.55rem; }
.report-create-hero p { max-width: 560px; margin: 0; color: #788589; font-size: .78rem; line-height: 1.5; }
.report-create-back { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #64777b; font-size: .67rem; font-weight: 600; }
.report-create-back:hover { color: var(--report-create-teal); text-decoration: underline; }
.report-create-alert { margin: 0 0 11px; }
.report-asset-search-panel { display: grid; grid-template-columns: minmax(185px, .75fr) minmax(220px, 1.5fr) auto auto; gap: 9px; align-items: center; margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--report-create-line); border-radius: 5px; background: #fff; }
.report-asset-search-panel > div span, .report-asset-search-panel > div strong { display: block; }
.report-asset-search-panel > div span { color: #7c898b; font-size: .56rem; font-weight: 700; }
.report-asset-search-panel > div strong { margin-top: 3px; color: #3c5051; font-size: .69rem; }
.report-asset-search-panel label { display: block; min-width: 0; }
.report-asset-search-panel input { width: 100%; min-width: 0; min-height: 35px; padding: 7px 9px; border: 1px solid #dce5e3; border-radius: 4px; background: #fbfcfc; color: var(--report-create-ink); font: inherit; font-size: .65rem; }
.report-asset-search-panel input:focus { outline: 3px solid rgba(40, 110, 112, .12); border-color: #75a3a0; background: #fff; }
.report-asset-search-panel button { min-height: 35px; padding: 6px 10px; border: 0; border-radius: 4px; background: var(--report-create-teal); color: #fff; font: inherit; font-size: .64rem; font-weight: 700; cursor: pointer; }
.report-asset-search-panel button:hover { background: #205a5c; }
.report-asset-search-panel > a { color: #718084; font-size: .63rem; font-weight: 600; }
.report-asset-search-panel > a:hover { color: var(--report-create-orange); }
.report-create-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(250px, .7fr); gap: 12px; align-items: start; }
.report-create-main { display: grid; gap: 10px; min-width: 0; }
.report-create-section { min-width: 0; padding: 16px 17px; border: 1px solid var(--report-create-line); border-radius: 5px; background: #fff; }
.report-create-section-heading { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 13px; padding-bottom: 10px; border-bottom: 1px solid #edf1ef; }
.report-create-section-heading > span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 4px; background: #e9f1ef; color: var(--report-create-teal); font-size: .6rem; font-weight: 700; }
.report-create-section-heading small { display: block; color: #7b8987; font-size: .55rem; font-weight: 700; }
.report-create-section-heading h3 { margin: 3px 0 2px; color: #37494a; font-size: .88rem; }
.report-create-section-heading p { margin: 0; color: #7f8b8e; font-size: .61rem; line-height: 1.45; }
.report-create-field { display: grid; align-content: start; gap: 5px; min-width: 0; color: #55666a; font-size: .64rem; font-weight: 600; }
.report-create-field > i { display: inline; color: var(--report-create-orange); font-style: normal; }
.report-create-field input, .report-create-field select, .report-create-field textarea { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #dce4e3; border-radius: 4px; background: #fbfcfc; color: var(--report-create-ink); font: inherit; font-size: .66rem; font-weight: 400; }
.report-create-field input::placeholder, .report-create-field textarea::placeholder { color: #99a4a5; }
.report-create-field input:focus, .report-create-field select:focus, .report-create-field textarea:focus { outline: 3px solid rgba(40, 110, 112, .12); border-color: #75a3a0; background: #fff; }
.report-create-field textarea { min-height: 78px; resize: vertical; line-height: 1.45; }
.report-create-layout .report-create-section:first-child > .report-create-field { margin-top: 1px; }
.report-asset-section > .report-create-field { display: grid; gap: 6px; color: #55666a; font-size: .65rem; font-weight: 600; }
.report-asset-section select { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid #dce4e3; border-radius: 4px; background: #fbfcfc; color: var(--report-create-ink); font: inherit; font-size: .68rem; }
.report-asset-section select:focus { outline: 3px solid rgba(40, 110, 112, .12); border-color: #75a3a0; background: #fff; }
.report-asset-count { display: flex; align-items: center; gap: 6px; margin-top: 8px; color: #6d7d7e; font-size: .6rem; }
.report-asset-count svg { width: 14px; height: 14px; stroke: var(--report-create-teal); stroke-width: 1.7; stroke-linecap: round; }
.report-asset-count small { color: #909b9c; font-size: .56rem; }
.report-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 11px; }
.report-field-full { grid-column: 1 / -1; }
.report-create-guide { position: sticky; top: 18px; padding: 16px; border: 1px solid #dce6e2; border-top: 3px solid var(--report-create-teal); border-radius: 5px; background: #f6f9f7; }
.report-guide-kicker { color: #738481; font-size: .57rem; font-weight: 700; }
.report-create-guide h3 { margin: 4px 0 3px; color: #3c504f; font-size: .88rem; }
.report-create-guide > p { margin: 0; color: #7b8988; font-size: .62rem; line-height: 1.45; }
.report-create-guide ul { display: grid; gap: 12px; margin: 15px 0; padding: 0; list-style: none; }
.report-create-guide li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; align-items: start; }
.report-create-guide li > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #d5e2dc; border-radius: 50%; color: var(--report-create-teal); font-size: .55rem; font-weight: 700; }
.report-create-guide li strong, .report-create-guide li small { display: block; }
.report-create-guide li strong { color: #4b5e5c; font-size: .62rem; }
.report-create-guide li small { margin-top: 3px; color: #83908d; font-size: .57rem; line-height: 1.4; }
.report-guide-priority { display: flex; align-items: flex-start; gap: 8px; padding: 9px; border: 1px solid #eadfcf; border-radius: 4px; background: #fcf7ef; }
.report-guide-priority > span { flex: 0 0 15px; color: var(--report-create-orange); }
.report-guide-priority svg { width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.report-guide-priority p { margin: 0; color: #806b4f; font-size: .56rem; line-height: 1.45; }
.report-create-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 2px 0; }
.report-create-actions > p { margin: 0; color: #7e8a8d; font-size: .6rem; }
.report-create-actions > p i { color: var(--report-create-orange); font-style: normal; }
.report-create-actions > div { display: flex; align-items: center; gap: 13px; }
.report-create-actions > div > a { color: #6f7d80; font-size: .65rem; font-weight: 600; }
.report-create-actions > div > a:hover { color: var(--report-create-orange); }
.report-create-actions button { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 145px; min-height: 38px; padding: 7px 10px; border: 0; border-radius: 4px; background: var(--report-create-teal); color: #fff; font: inherit; font-size: .65rem; font-weight: 700; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.report-create-actions button:hover { transform: translateY(-1px); background: #20595b; }
.report-create-empty { display: grid; justify-items: center; padding: 35px 18px; border: 1px dashed #d8e2df; border-radius: 5px; background: #f8faf9; text-align: center; }
.report-create-empty > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #f8eae5; color: var(--report-create-orange); }
.report-create-empty svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.report-create-empty h3 { margin: 10px 0 3px; color: #37494a; font-size: .88rem; }
.report-create-empty p { margin: 0; color: #7b8889; font-size: .64rem; }
.report-create-empty a { display: inline-flex; gap: 7px; margin-top: 11px; color: var(--report-create-teal); font-size: .64rem; font-weight: 700; }
.maintenance-report-create-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(40, 110, 112, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .report-create-layout { grid-template-columns: minmax(0, 1fr); }
    .report-create-guide { position: static; }
    .report-create-guide ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
}
@media (max-width: 720px) {
    .report-create-hero { align-items: flex-start; flex-direction: column; gap: 10px; padding: 19px 16px; }
    .report-create-hero h2 { font-size: 1.37rem; }
    .report-asset-search-panel { grid-template-columns: minmax(0, 1fr) auto; }
    .report-asset-search-panel > div { grid-column: 1 / -1; }
    .report-create-section { padding: 14px 13px; }
    .report-create-guide ul { grid-template-columns: minmax(0, 1fr); }
    .report-create-actions { align-items: stretch; flex-direction: column; }
    .report-create-actions > div { justify-content: flex-end; }
}
@media (max-width: 440px) {
    .report-asset-search-panel { grid-template-columns: minmax(0, 1fr); }
    .report-asset-search-panel > div { grid-column: 1; }
    .report-asset-search-panel > a { justify-self: center; }
    .report-create-fields { grid-template-columns: minmax(0, 1fr); }
    .report-field-full { grid-column: 1; }
    .report-create-actions > div { justify-content: space-between; }
    .report-create-actions button { flex: 1; }
}
.maintenance-schedule-create-page { --create-ink: #29383d; --create-muted: #77858a; --create-line: #dfe6e7; --create-teal: #2c7188; --create-copper: #bd663e; min-width: 0; color: var(--create-ink); }
.schedule-create-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 133px; margin-bottom: 13px; padding: 21px 26px; border: 1px solid #dfe6e7; border-left: 5px solid var(--create-copper); border-radius: 6px; background: #f2f5f5; }
.schedule-create-hero > div:first-child { min-width: 0; }
.schedule-create-kicker { color: #687a7f; font-size: .62rem; font-weight: 700; }
.schedule-create-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: var(--create-copper); }
.schedule-create-hero h2 { margin: 7px 0 4px; color: var(--create-ink); font-size: 1.55rem; }
.schedule-create-hero p { max-width: 570px; margin: 0; color: #78858a; font-size: .77rem; line-height: 1.5; }
.schedule-create-back { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #64767c; font-size: .68rem; font-weight: 600; }
.schedule-create-back:hover { color: var(--create-teal); text-decoration: underline; }
.schedule-create-back span { font-size: .9rem; }
.schedule-create-alert { margin: 0 0 12px; }
.schedule-create-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .68fr); gap: 12px; align-items: start; }
.schedule-create-main { display: grid; gap: 10px; min-width: 0; }
.schedule-create-section { min-width: 0; padding: 17px 18px; border: 1px solid var(--create-line); border-radius: 5px; background: #fff; }
.schedule-create-section-heading { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 15px; padding-bottom: 11px; border-bottom: 1px solid #edf0f1; }
.schedule-create-section-heading > span { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border-radius: 4px; background: #eaf1f2; color: var(--create-teal); font-size: .62rem; font-weight: 700; }
.schedule-create-section-heading small { display: block; color: #7b888d; font-size: .56rem; font-weight: 700; }
.schedule-create-section-heading h3 { margin: 3px 0 2px; color: #34474d; font-size: .9rem; }
.schedule-create-section-heading p { margin: 0; color: #818d91; font-size: .63rem; line-height: 1.45; }
.schedule-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 12px; min-width: 0; }
.schedule-create-field { display: grid; align-content: start; gap: 5px; min-width: 0; color: #52636a; font-size: .66rem; font-weight: 600; }
.schedule-field-full { grid-column: 1 / -1; }
.schedule-required { color: var(--create-copper); }
.schedule-create-field input, .schedule-create-field select, .schedule-create-field textarea { width: 100%; min-width: 0; min-height: 37px; padding: 7px 9px; border: 1px solid #dce4e6; border-radius: 4px; background: #fbfcfc; color: var(--create-ink); font: inherit; font-size: .68rem; font-weight: 400; }
.schedule-create-field input::placeholder, .schedule-create-field textarea::placeholder { color: #9aa5a8; }
.schedule-create-field input:focus, .schedule-create-field select:focus, .schedule-create-field textarea:focus { outline: 3px solid rgba(44, 113, 136, .12); border-color: #76a5b3; background: #fff; }
.schedule-create-field textarea { min-height: 78px; resize: vertical; line-height: 1.45; }
.schedule-source-report { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; grid-column: 1 / -1; padding: 11px 12px; border: 1px solid #d9e6e1; border-left: 3px solid var(--create-teal); border-radius: 4px; background: #f1f6f4; }
.schedule-source-label { grid-column: 1 / -1; color: #6f847b; font-size: .55rem; font-weight: 700; }
.schedule-source-report > strong { color: #2c5961; font-size: .7rem; }
.schedule-source-report > span:nth-of-type(2) { color: #697a7f; font-size: .65rem; overflow-wrap: anywhere; }
.schedule-source-state { align-self: center; padding: 4px 6px; border-radius: 3px; background: #f6f0e5; color: #927039; font-size: .57rem; font-weight: 700; white-space: nowrap; }
.schedule-create-aside { position: sticky; top: 18px; padding: 17px; border: 1px solid #dfe6e7; border-top: 3px solid var(--create-teal); border-radius: 5px; background: #f7f9f8; }
.schedule-aside-kicker { color: #718188; font-size: .57rem; font-weight: 700; }
.schedule-create-aside h3 { margin: 4px 0 3px; color: #35474c; font-size: .9rem; }
.schedule-create-aside > p { margin: 0; color: #7c898e; font-size: .64rem; line-height: 1.5; }
.schedule-create-aside ul { display: grid; gap: 13px; margin: 16px 0; padding: 0; list-style: none; }
.schedule-create-aside li { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 8px; align-items: start; }
.schedule-create-aside li > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #d6e0df; border-radius: 50%; color: var(--create-teal); font-size: .6rem; font-weight: 700; }
.schedule-create-aside li strong, .schedule-create-aside li small { display: block; }
.schedule-create-aside li strong { color: #485a60; font-size: .65rem; }
.schedule-create-aside li small { margin-top: 3px; color: #839095; font-size: .59rem; line-height: 1.4; }
.schedule-create-aside > a { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px solid #e2e8e7; color: var(--create-teal); font-size: .64rem; font-weight: 700; }
.schedule-create-aside > a:hover { color: #1a515f; }
.schedule-create-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 2px 0; }
.schedule-create-actions > p { margin: 0; color: #7d898d; font-size: .61rem; }
.schedule-create-actions > div { display: flex; align-items: center; gap: 13px; }
.schedule-create-actions > div > a { color: #6f7d82; font-size: .66rem; font-weight: 600; }
.schedule-create-actions > div > a:hover { color: var(--create-copper); text-decoration: underline; }
.schedule-create-actions button { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 146px; min-height: 38px; padding: 7px 10px; border: 0; border-radius: 4px; background: var(--create-teal); color: #fff; font: inherit; font-size: .66rem; font-weight: 700; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.schedule-create-actions button:hover { transform: translateY(-1px); background: #205e68; }
.schedule-create-empty { display: grid; justify-items: center; padding: 36px 20px; border: 1px dashed #d8e1e2; border-radius: 5px; background: #f8faf9; text-align: center; }
.schedule-create-empty strong { color: var(--create-ink); font-size: .85rem; }
.schedule-create-empty p { margin: 5px 0 0; color: #78868b; font-size: .68rem; }
.schedule-create-empty a { display: inline-flex; gap: 7px; margin-top: 12px; color: var(--create-teal); font-size: .67rem; font-weight: 700; }
.maintenance-schedule-create-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(44, 113, 136, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .schedule-create-layout { grid-template-columns: minmax(0, 1fr); }
    .schedule-create-aside { position: static; }
    .schedule-create-aside ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 720px) {
    .schedule-create-hero { align-items: flex-start; flex-direction: column; gap: 12px; padding: 19px 17px; }
    .schedule-create-hero h2 { font-size: 1.38rem; }
    .schedule-create-layout { gap: 9px; }
    .schedule-create-section { padding: 14px 13px; }
    .schedule-create-fields { gap: 10px; }
    .schedule-create-aside ul { grid-template-columns: minmax(0, 1fr); }
    .schedule-create-actions { align-items: stretch; flex-direction: column; }
    .schedule-create-actions > div { justify-content: flex-end; }
}
@media (max-width: 440px) {
    .schedule-create-back { align-self: flex-end; }
    .schedule-create-fields { grid-template-columns: minmax(0, 1fr); }
    .schedule-field-full { grid-column: 1; }
    .schedule-source-report { grid-template-columns: minmax(0, 1fr); }
    .schedule-source-state { justify-self: start; }
    .schedule-create-actions > div { justify-content: space-between; }
    .schedule-create-actions button { flex: 1; }
}
.maintenance-history-page { --history-ink: #2b3639; --history-muted: #778388; --history-line: #dfe5e6; --history-blue: #426d7c; --history-deep: #2b3c42; --history-green: #438268; min-width: 0; color: var(--history-ink); }
.maintenance-history-hero { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 144px; margin-bottom: 13px; padding: 22px 27px; border: 1px solid #dce4e5; border-radius: 6px; background: #eaf0f1; }
.maintenance-history-hero > div:first-child { min-width: 0; }
.history-kicker { color: #60767e; font-size: .62rem; font-weight: 700; }
.history-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #b7884c; }
.maintenance-history-hero h2 { margin: 8px 0 4px; color: var(--history-deep); font-size: 1.6rem; }
.maintenance-history-hero p { max-width: 590px; margin: 0; color: #748288; font-size: .79rem; line-height: 1.55; }
.history-header-actions { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.history-work-link { color: #60747c; font-size: .66rem; font-weight: 600; }
.history-work-link:hover { color: var(--history-blue); text-decoration: underline; }
.history-primary-action { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 11px; border-radius: 4px; background: var(--history-blue); color: #fff; font-size: .67rem; font-weight: 700; transition: transform .14s ease, background .14s ease; }
.history-primary-action:hover { transform: translateY(-1px); background: #345966; }
.history-primary-action span { font-size: .95rem; }
.history-alert { margin: 0 0 11px; }
.history-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.history-metric { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 67px; padding: 9px 11px; border: 1px solid var(--history-line); border-radius: 5px; background: #fff; transition: transform .14s ease, border-color .14s ease; }
.history-metric:hover { transform: translateY(-2px); border-color: #c4d2d4; }
.history-metric-icon { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border-radius: 4px; background: #edf1f2; color: #5d7279; }
.history-metric-icon svg { width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.history-metric-complete .history-metric-icon { background: #eaf2ec; color: var(--history-green); }
.history-metric-cancelled .history-metric-icon { background: #f4eceb; color: #966258; }
.history-metric-priority .history-metric-icon { background: #f7f0e5; color: #9a763a; }
.history-metric small, .history-metric strong, .history-metric div > span { display: block; }
.history-metric small { color: #77848a; font-size: .6rem; }
.history-metric strong { margin-top: 2px; color: var(--history-ink); font-size: 1rem; }
.history-metric div > span { margin-top: 1px; color: #899398; font-size: .53rem; }
.history-filter-panel { display: grid; gap: 9px; margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--history-line); border-radius: 5px; background: #fff; }
.history-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.history-filter-heading > div { display: flex; align-items: center; gap: 9px; }
.history-filter-heading > div > span { color: #79868b; font-size: .55rem; font-weight: 700; }
.history-filter-heading strong { color: #405157; font-size: .71rem; }
.history-filter-heading > a { color: #6e7d83; font-size: .62rem; font-weight: 600; }
.history-filter-heading > a:hover { color: var(--history-blue); text-decoration: underline; }
.history-filter-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; align-items: end; }
.history-filter-fields label { display: grid; gap: 4px; min-width: 0; color: #6f7c81; font-size: .6rem; font-weight: 600; }
.history-filter-fields .history-search-field { grid-column: span 2; }
.history-filter-fields input, .history-filter-fields select { width: 100%; min-width: 0; min-height: 33px; padding: 6px 8px; border: 1px solid #dfe5e6; border-radius: 4px; background: #fbfcfc; color: var(--history-ink); font: inherit; font-size: .64rem; }
.history-filter-fields input:focus, .history-filter-fields select:focus { outline: 3px solid rgba(66, 109, 124, .12); border-color: #82a6b0; background: #fff; }
.history-filter-submit { display: inline-flex; align-items: center; justify-content: space-between; min-height: 33px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--history-blue); color: #fff; font: inherit; font-size: .63rem; font-weight: 700; cursor: pointer; }
.history-filter-submit:hover { background: #345966; }
.history-table-panel { overflow: hidden; border: 1px solid var(--history-line); border-radius: 5px; background: #fff; }
.history-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; border-bottom: 1px solid #e9edef; }
.history-table-heading > div > span { color: #7b878b; font-size: .55rem; font-weight: 700; }
.history-table-heading h3 { margin: 3px 0 0; color: #394b50; font-size: .9rem; }
.history-table-heading p { margin: 0; color: #7e898d; font-size: .61rem; }
.history-table-heading p strong { color: var(--history-blue); }
.history-table-heading p i { display: inline-block; width: 3px; height: 3px; margin: 0 5px 2px; border-radius: 50%; background: #b7884c; }
.history-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #cad5d8 transparent; scrollbar-width: thin; }
.history-table-wrap:focus-visible { outline: 3px solid rgba(66, 109, 124, .18); outline-offset: -3px; }
.history-table { width: 100%; min-width: 1130px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.history-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.history-table th, .history-table td { padding: 9px 8px; border-bottom: 1px solid #edf0f1; color: #5e6b70; text-align: left; vertical-align: middle; font-size: .6rem; overflow-wrap: anywhere; }
.history-table th { background: #f3f6f7; color: #6f7d82; font-size: .54rem; font-weight: 700; white-space: nowrap; }
.history-table th:nth-child(1) { width: 13%; }
.history-table th:nth-child(2) { width: 16%; }
.history-table th:nth-child(3) { width: 16%; }
.history-table th:nth-child(4) { width: 10%; }
.history-table th:nth-child(5) { width: 13%; }
.history-table th:nth-child(6) { width: 14%; }
.history-table th:nth-child(7), .history-table th:nth-child(8) { width: 8%; }
.history-table th:nth-child(9) { width: 7%; }
.history-number { display: block; color: #3a7185; font-size: .62rem; font-weight: 700; }
.history-number:hover { color: #245262; text-decoration: underline; }
.history-table td small { display: block; margin-top: 3px; color: #879196; font-size: .55rem; }
.history-asset-name { color: #3b4d52; font-size: .61rem; }
.history-priority, .history-status { display: inline-flex; padding: 4px 6px; border-radius: 3px; font-size: .54rem; font-weight: 700; }
.history-priority.priority-emergency { background: #f7e8e5; color: #a0473a; }
.history-priority.priority-high { background: #fbf0e2; color: #91601f; }
.history-priority.priority-normal { background: #edf1f2; color: #61747a; }
.history-priority.priority-low { background: #eaf2ec; color: #39734f; }
.history-status.history-completed { background: #eaf2ec; color: #39744f; }
.history-status.history-cancelled { background: #f5ecea; color: #925e55; }
.history-detail-action { color: #3b7185; font-size: .59rem; font-weight: 700; white-space: nowrap; }
.history-detail-action:hover { color: #244f60; text-decoration: underline; }
.history-empty { padding: 25px 12px !important; color: #7d888d !important; text-align: center !important; }
.history-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 8px 11px; border-top: 1px solid #e9edef; }
.history-pagination span { color: #79868b; font-size: .6rem; }
.history-pagination a { color: var(--history-blue); font-size: .62rem; font-weight: 700; }
.history-pagination a:hover { color: #244f60; text-decoration: underline; }
.maintenance-history-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(66, 109, 124, .2); outline-offset: 2px; }
@media (max-width: 1100px) {
    .history-filter-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .history-filter-fields .history-search-field { grid-column: span 2; }
}
@media (max-width: 960px) {
    .history-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .maintenance-history-hero { align-items: flex-start; flex-direction: column; gap: 14px; padding: 19px 16px; }
    .maintenance-history-hero h2 { font-size: 1.4rem; }
    .history-header-actions { justify-content: space-between; width: 100%; }
    .history-metrics { gap: 7px; }
    .history-metric { min-height: 61px; gap: 7px; padding: 8px; }
    .history-metric-icon { flex-basis: 26px; width: 26px; height: 26px; }
    .history-metric-icon svg { width: 14px; height: 14px; }
    .history-metric small { font-size: .55rem; }
    .history-metric strong { font-size: .93rem; }
    .history-metric div > span { font-size: .51rem; }
    .history-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-filter-fields .history-search-field { grid-column: 1 / -1; }
    .history-filter-submit { grid-column: 1 / -1; }
    .history-table-heading { align-items: flex-start; padding: 10px; }
    .history-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .history-table { display: block; min-width: 0; }
    .history-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .history-table tbody { display: grid; gap: 8px; padding: 8px; }
    .history-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e5eaec; border-radius: 4px; }
    .history-table td { display: grid; grid-template-columns: minmax(93px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .66rem; }
    .history-table td::before { content: attr(data-label); color: #758288; font-size: .6rem; font-weight: 700; }
    .history-table td:last-child { border-bottom: 0; }
    .history-empty { display: block !important; text-align: center !important; }
    .history-empty::before { content: none !important; }
    .history-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .history-header-actions { align-items: stretch; flex-direction: column; }
    .history-work-link { text-align: center; }
    .history-primary-action { justify-content: space-between; }
    .history-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .history-filter-fields .history-search-field, .history-filter-submit { grid-column: 1; }
}
.maintenance-workorders-page { --work-ink: #293840; --work-muted: #75838a; --work-line: #dfe6e9; --work-blue: #3b7188; --work-deep: #223944; --work-amber: #bb7b2d; min-width: 0; color: var(--work-ink); }
.workorders-command-header { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 145px; margin-bottom: 13px; padding: 23px 28px; border: 1px solid #dfe6e9; border-left: 5px solid var(--work-blue); border-radius: 6px; background: #f1f4f5; }
.workorders-command-header > div:first-child { min-width: 0; }
.workorders-kicker { color: #667c86; font-size: .63rem; font-weight: 700; }
.workorders-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: var(--work-amber); }
.workorders-command-header h2 { margin: 8px 0 4px; color: var(--work-deep); font-size: 1.62rem; }
.workorders-command-header p { max-width: 580px; margin: 0; color: #738188; font-size: .8rem; line-height: 1.55; }
.workorders-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 11px; flex: 0 0 auto; }
.workorders-secondary-action { color: #62747d; font-size: .66rem; font-weight: 600; }
.workorders-secondary-action:hover { color: var(--work-blue); text-decoration: underline; }
.workorders-primary-action { display: inline-flex; align-items: center; gap: 8px; min-height: 39px; padding: 8px 11px; border-radius: 4px; background: var(--work-blue); color: #fff; font-size: .68rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.workorders-primary-action:hover { transform: translateY(-1px); background: #2c5e72; }
.workorders-primary-action span { font-size: .96rem; }
.workorders-alert { margin: 0 0 11px; }
.workorders-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
.workorders-metric { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 68px; padding: 9px 11px; border: 1px solid var(--work-line); border-radius: 5px; background: #fff; transition: transform .14s ease, border-color .14s ease; }
.workorders-metric:hover { transform: translateY(-2px); border-color: #c4d1d7; }
.workorders-metric-icon { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 4px; background: #edf1f3; color: #5b707b; }
.workorders-metric-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.workorders-metric-active .workorders-metric-icon { background: #e9f0f3; color: #3b7188; }
.workorders-metric-waiting .workorders-metric-icon { background: #f6f0e5; color: #9a7539; }
.workorders-metric-priority .workorders-metric-icon { background: #f8eae5; color: #a8533f; }
.workorders-metric small, .workorders-metric strong, .workorders-metric div > span { display: block; }
.workorders-metric small { color: #748189; font-size: .61rem; }
.workorders-metric strong { margin-top: 2px; color: var(--work-ink); font-size: 1.02rem; }
.workorders-metric div > span { margin-top: 1px; color: #899499; font-size: .54rem; }
.workorders-filter-panel { display: grid; gap: 9px; margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--work-line); border-radius: 5px; background: #fff; }
.workorders-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.workorders-filter-heading > div { display: flex; align-items: center; gap: 9px; }
.workorders-filter-heading > div > span { color: #7b878d; font-size: .56rem; font-weight: 700; }
.workorders-filter-heading strong { color: #3c5059; font-size: .72rem; }
.workorders-filter-heading > a { color: #6f7e85; font-size: .63rem; font-weight: 600; }
.workorders-filter-heading > a:hover { color: var(--work-blue); text-decoration: underline; }
.workorders-filter-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; align-items: end; }
.workorders-filter-fields label { display: grid; gap: 4px; min-width: 0; color: #6c7a81; font-size: .61rem; font-weight: 600; }
.workorders-filter-fields .workorders-search-field { grid-column: span 2; }
.workorders-filter-fields input, .workorders-filter-fields select { width: 100%; min-width: 0; min-height: 34px; padding: 6px 8px; border: 1px solid #dfe5e7; border-radius: 4px; background: #fbfcfc; color: var(--work-ink); font: inherit; font-size: .65rem; }
.workorders-filter-fields input:focus, .workorders-filter-fields select:focus { outline: 3px solid rgba(59, 113, 136, .12); border-color: #76a0af; background: #fff; }
.workorders-filter-submit { display: inline-flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--work-blue); color: #fff; font: inherit; font-size: .64rem; font-weight: 700; cursor: pointer; }
.workorders-filter-submit:hover { background: #2c5e72; }
.workorders-table-panel { overflow: hidden; border: 1px solid var(--work-line); border-radius: 5px; background: #fff; }
.workorders-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e9edef; }
.workorders-table-heading > div > span { color: #7a878d; font-size: .56rem; font-weight: 700; }
.workorders-table-heading h3 { margin: 3px 0 0; color: #35484f; font-size: .91rem; }
.workorders-table-heading p { margin: 0; color: #7b888e; font-size: .61rem; }
.workorders-table-heading p strong { color: var(--work-blue); }
.workorders-table-heading p i { display: inline-block; width: 3px; height: 3px; margin: 0 5px 2px; border-radius: 50%; background: var(--work-amber); }
.workorders-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #cbd6da transparent; scrollbar-width: thin; }
.workorders-table-wrap:focus-visible { outline: 3px solid rgba(59, 113, 136, .18); outline-offset: -3px; }
.workorders-table { width: 100%; min-width: 1080px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.workorders-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.workorders-table th, .workorders-table td { padding: 10px 8px; border-bottom: 1px solid #edf0f1; color: #5e6d73; text-align: left; vertical-align: middle; font-size: .62rem; overflow-wrap: anywhere; }
.workorders-table th { background: #f4f7f8; color: #6e7c83; font-size: .55rem; font-weight: 700; white-space: nowrap; }
.workorders-table th:nth-child(1) { width: 17%; }
.workorders-table th:nth-child(2) { width: 17%; }
.workorders-table th:nth-child(3) { width: 10%; }
.workorders-table th:nth-child(4) { width: 14%; }
.workorders-table th:nth-child(5), .workorders-table th:nth-child(6) { width: 10%; }
.workorders-table th:nth-child(7), .workorders-table th:nth-child(8) { width: 9%; }
.workorders-table th:nth-child(9) { width: 4%; }
.workorders-table tbody tr { transition: background .13s ease; }
.workorders-table tbody tr:hover { background: #f8fafb; }
.workorders-number { display: block; color: #34718a; font-size: .64rem; font-weight: 700; }
.workorders-number:hover { color: #1d5067; text-decoration: underline; }
.workorders-table td small { display: block; margin-top: 3px; color: #869196; font-size: .57rem; }
.workorders-job-title { color: #354a52; font-size: .64rem; }
.workorders-priority, .workorders-status { display: inline-flex; padding: 4px 6px; border-radius: 3px; font-size: .56rem; font-weight: 700; }
.workorders-priority.priority-emergency { background: #f8e8e4; color: #a0473a; }
.workorders-priority.priority-high { background: #fbf0e2; color: #91601f; }
.workorders-priority.priority-normal { background: #edf1f2; color: #61747a; }
.workorders-priority.priority-low { background: #eaf2ec; color: #39734f; }
.workorders-status.status-progress { background: #e8eff5; color: #456d8b; }
.workorders-status.status-waiting { background: #f6f0e5; color: #95743a; }
.workorders-status.status-postponed { background: #f1edf0; color: #75616f; }
.workorders-status.status-scheduled { background: #e8f1f0; color: #34767a; }
.workorders-detail-action { color: #34718a; font-size: .6rem; font-weight: 700; white-space: nowrap; }
.workorders-detail-action:hover { color: #1b4f63; text-decoration: underline; }
.workorders-empty { padding: 25px 12px !important; color: #7c898e !important; text-align: center !important; }
.workorders-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 8px 11px; border-top: 1px solid #e9edef; }
.workorders-pagination span { color: #79868c; font-size: .61rem; }
.workorders-pagination a { color: #34718a; font-size: .63rem; font-weight: 700; }
.workorders-pagination a:hover { color: #1b4f63; text-decoration: underline; }
.maintenance-workorders-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(59, 113, 136, .2); outline-offset: 2px; }
@media (max-width: 1100px) {
    .workorders-filter-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .workorders-filter-fields .workorders-search-field { grid-column: span 2; }
}
@media (max-width: 960px) {
    .workorders-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workorders-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .workorders-command-header { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px 17px; }
    .workorders-command-header h2 { font-size: 1.42rem; }
    .workorders-header-actions { justify-content: space-between; width: 100%; }
    .workorders-metrics { gap: 7px; }
    .workorders-metric { min-height: 62px; gap: 7px; padding: 8px; }
    .workorders-metric-icon { flex-basis: 27px; width: 27px; height: 27px; }
    .workorders-metric-icon svg { width: 14px; height: 14px; }
    .workorders-metric small { font-size: .56rem; }
    .workorders-metric strong { font-size: .95rem; }
    .workorders-metric div > span { font-size: .52rem; }
    .workorders-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workorders-filter-fields .workorders-search-field { grid-column: 1 / -1; }
    .workorders-filter-submit { grid-column: 1 / -1; }
    .workorders-table-heading { align-items: flex-start; }
    .workorders-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .workorders-table { display: block; min-width: 0; }
    .workorders-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .workorders-table tbody { display: grid; gap: 8px; padding: 8px; }
    .workorders-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eaec; border-radius: 4px; }
    .workorders-table td { display: grid; grid-template-columns: minmax(92px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .67rem; }
    .workorders-table td::before { content: attr(data-label); color: #758389; font-size: .61rem; font-weight: 700; }
    .workorders-table td:last-child { border-bottom: 0; }
    .workorders-empty { display: block !important; text-align: center !important; }
    .workorders-empty::before { content: none !important; }
    .workorders-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .workorders-header-actions { align-items: stretch; flex-direction: column; }
    .workorders-secondary-action { text-align: center; }
    .workorders-primary-action { justify-content: space-between; }
    .workorders-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workorders-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .workorders-filter-fields .workorders-search-field, .workorders-filter-submit { grid-column: 1; }
}
.maintenance-vendors-page { --vendor-ink: #2b383d; --vendor-muted: #77848a; --vendor-line: #dfe6e8; --vendor-blue: #426f83; --vendor-deep: #263941; --vendor-copper: #bd7541; min-width: 0; color: var(--vendor-ink); }
.vendors-hero { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 140px; margin-bottom: 13px; padding: 22px 27px; border: 1px solid #dce4e6; border-left: 5px solid var(--vendor-copper); border-radius: 6px; background: #f1f4f5; }
.vendors-hero > div { min-width: 0; }
.vendors-kicker { color: #687a82; font-size: .62rem; font-weight: 700; }
.vendors-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: var(--vendor-copper); }
.vendors-hero h2 { margin: 7px 0 4px; color: var(--vendor-deep); font-size: 1.58rem; }
.vendors-hero p { max-width: 590px; margin: 0; color: #78858b; font-size: .78rem; line-height: 1.5; }
.vendors-primary-action { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 39px; padding: 8px 12px; border-radius: 4px; background: var(--vendor-blue); color: #fff; font-size: .67rem; font-weight: 700; transition: transform .14s ease, background .14s ease; }
.vendors-primary-action:hover { transform: translateY(-1px); background: #31596b; }
.vendors-primary-action span { font-size: .95rem; }
.vendors-alert { margin: 0 0 11px; }
.vendors-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
.vendors-metric { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 65px; padding: 9px 11px; border: 1px solid var(--vendor-line); border-radius: 5px; background: #fff; transition: transform .14s ease, border-color .14s ease; }
.vendors-metric:hover { transform: translateY(-2px); border-color: #c6d3d7; }
.vendors-metric-icon { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border-radius: 4px; background: #edf1f2; color: #586f78; }
.vendors-metric-icon svg { width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vendors-metric-active .vendors-metric-icon { background: #eaf2ec; color: #407652; }
.vendors-metric-inactive .vendors-metric-icon { background: #f6eee8; color: #a26745; }
.vendors-metric small, .vendors-metric strong, .vendors-metric div > span { display: block; }
.vendors-metric small { color: #76838a; font-size: .6rem; }
.vendors-metric strong { margin-top: 2px; color: var(--vendor-ink); font-size: 1.02rem; }
.vendors-metric div > span { color: #8b969a; font-size: .54rem; }
.vendors-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(275px, .75fr); gap: 12px; align-items: start; }
.vendors-directory { min-width: 0; overflow: hidden; border: 1px solid var(--vendor-line); border-radius: 5px; background: #fff; }
.vendors-directory-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #e9edef; }
.vendors-directory-heading > div > span { color: #7a878c; font-size: .56rem; font-weight: 700; }
.vendors-directory-heading h3 { margin: 3px 0 2px; color: #38494f; font-size: .92rem; }
.vendors-directory-heading p { margin: 0; color: #7f8a8f; font-size: .61rem; }
.vendors-count { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--vendor-line); border-radius: 4px; color: #6d7a80; font-size: .61rem; }
.vendors-count strong { color: var(--vendor-blue); }
.vendors-tools { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 7px; padding: 9px 12px; border-bottom: 1px solid #edf0f1; }
.vendors-search { position: relative; display: block; min-width: 0; }
.vendors-search > span:first-child { position: absolute; top: 50%; left: 9px; color: #78868b; font-size: 1.08rem; line-height: 1; transform: translateY(-54%); pointer-events: none; }
.vendors-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.vendors-search input, .vendors-status-filter select { width: 100%; min-width: 0; min-height: 34px; padding: 6px 8px; border: 1px solid #dfe5e7; border-radius: 4px; background: #fbfcfc; color: var(--vendor-ink); font: inherit; font-size: .63rem; }
.vendors-search input { padding-left: 28px; }
.vendors-search input:focus, .vendors-status-filter select:focus { outline: 3px solid rgba(66, 111, 131, .12); border-color: #82a6b3; background: #fff; }
.vendors-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #cbd6d9 transparent; scrollbar-width: thin; }
.vendors-table-wrap:focus-visible { outline: 3px solid rgba(66, 111, 131, .18); outline-offset: -3px; }
.vendors-table { width: 100%; min-width: 690px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.vendors-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.vendors-table th, .vendors-table td { padding: 10px 9px; border-bottom: 1px solid #edf0f1; color: #5e6d73; text-align: left; vertical-align: middle; font-size: .63rem; overflow-wrap: anywhere; }
.vendors-table th { background: #f3f6f7; color: #6f7d83; font-size: .55rem; font-weight: 700; white-space: nowrap; }
.vendors-table th:nth-child(1) { width: 25%; }
.vendors-table th:nth-child(2) { width: 21%; }
.vendors-table th:nth-child(3) { width: 20%; }
.vendors-table th:nth-child(4) { width: 13%; }
.vendors-table th:nth-child(5) { width: 21%; }
.vendors-table tbody tr[data-vendor-row] { transition: background .13s ease; }
.vendors-table tbody tr[data-vendor-row]:hover { background: #f8fafb; }
.vendors-table tbody tr[data-vendor-row][hidden] { display: none !important; }
.vendor-name, .vendor-contact-name { display: block; color: #35484f; font-size: .66rem; }
.vendors-table td small { display: block; margin-top: 3px; color: #849095; font-size: .57rem; }
.vendor-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; border-radius: 3px; font-size: .56rem; font-weight: 700; white-space: nowrap; }
.vendor-status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.vendor-status.is-active { background: #eaf2ec; color: #39734f; }
.vendor-status.is-inactive { background: #f5ece9; color: #956052; }
.vendor-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.vendor-edit-details { position: relative; }
.vendor-edit-details summary { padding: 6px 7px; border: 1px solid #dfe5e7; border-radius: 3px; color: #4d6974; font-size: .59rem; font-weight: 700; cursor: pointer; list-style: none; white-space: nowrap; }
.vendor-edit-details summary::-webkit-details-marker { display: none; }
.vendor-edit-details summary:hover { border-color: #aac0c7; background: #f1f6f7; }
.vendor-edit-form { position: absolute; z-index: 5; top: calc(100% + 5px); right: 0; display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 8px; width: min(440px, 78vw); padding: 13px; border: 1px solid var(--vendor-line); border-radius: 5px; background: #fff; box-shadow: 0 10px 25px rgba(35, 52, 58, .16); }
.vendor-edit-form label { display: grid; gap: 4px; color: #586970; font-size: .6rem; font-weight: 600; }
.vendor-edit-form input, .vendor-edit-form textarea { width: 100%; min-width: 0; min-height: 32px; padding: 6px 7px; border: 1px solid #dfe5e7; border-radius: 3px; background: #fbfcfc; color: var(--vendor-ink); font: inherit; font-size: .62rem; }
.vendor-edit-full { grid-column: 1 / -1; }
.vendor-edit-form button { grid-column: 1 / -1; min-height: 32px; border: 0; border-radius: 3px; background: var(--vendor-blue); color: #fff; font: inherit; font-size: .63rem; font-weight: 700; cursor: pointer; }
.vendor-edit-form button:hover { background: #31596b; }
.vendor-toggle-form { margin: 0; }
.vendor-toggle-button { min-height: 30px; padding: 5px 7px; border: 1px solid #dfe5e7; border-radius: 3px; background: #fff; font: inherit; font-size: .57rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.vendor-toggle-button.is-disable { color: #9a594a; }
.vendor-toggle-button.is-enable { color: #39734f; }
.vendor-toggle-button:hover { background: #f4f7f7; }
.vendors-empty { padding: 22px 10px !important; color: #7d898d !important; text-align: center !important; }
.vendors-empty-state { display: grid; justify-items: center; padding: 34px 16px; text-align: center; }
.vendors-empty-state > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #edf1f2; color: var(--vendor-blue); }
.vendors-empty-state svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vendors-empty-state h4 { margin: 10px 0 3px; color: #374950; font-size: .83rem; }
.vendors-empty-state p { margin: 0; color: #7f8c91; font-size: .63rem; }
.vendors-pagination { display: flex; justify-content: flex-end; gap: 4px; padding: 8px 10px; border-top: 1px solid #e9edef; }
.vendors-pagination:empty { display: none; }
.vendors-pagination button { min-width: 27px; min-height: 27px; padding: 4px 6px; border: 1px solid transparent; border-radius: 3px; background: #fff; color: #596d76; font: inherit; font-size: .61rem; cursor: pointer; }
.vendors-pagination button:hover { border-color: #d7e0e3; background: #f2f6f7; }
.vendors-pagination button.is-current { border-color: var(--vendor-blue); background: var(--vendor-blue); color: #fff; }
.vendors-create-panel { position: sticky; top: 18px; min-width: 0; padding: 16px; border: 1px solid #dce5e7; border-top: 3px solid var(--vendor-copper); border-radius: 5px; background: #f7f9f9; }
.vendors-create-heading { display: flex; align-items: center; gap: 9px; }
.vendors-create-heading > span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 4px; background: var(--vendor-blue); color: #fff; font-size: 1rem; }
.vendors-create-heading small { color: #7b898e; font-size: .55rem; font-weight: 700; }
.vendors-create-heading h3 { margin: 2px 0 0; color: #35494f; font-size: .87rem; }
.vendors-create-panel > p { margin: 10px 0 13px; color: #7b878c; font-size: .62rem; line-height: 1.45; }
.vendors-create-form { display: grid; gap: 9px; }
.vendors-create-form label { display: grid; gap: 4px; min-width: 0; color: #56676e; font-size: .61rem; font-weight: 600; }
.vendors-create-form label > i { display: inline; color: var(--vendor-copper); font-style: normal; }
.vendors-create-form input, .vendors-create-form textarea { width: 100%; min-width: 0; min-height: 34px; padding: 7px 8px; border: 1px solid #dce4e6; border-radius: 3px; background: #fff; color: var(--vendor-ink); font: inherit; font-size: .64rem; font-weight: 400; }
.vendors-create-form input:focus, .vendors-create-form textarea:focus { outline: 3px solid rgba(66, 111, 131, .12); border-color: #82a6b3; }
.vendors-create-form textarea { min-height: 65px; resize: vertical; }
.vendor-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.vendors-create-form > button { display: flex; justify-content: space-between; align-items: center; min-height: 37px; margin-top: 2px; padding: 7px 9px; border: 0; border-radius: 3px; background: var(--vendor-blue); color: #fff; font: inherit; font-size: .64rem; font-weight: 700; cursor: pointer; }
.vendors-create-form > button:hover { background: #31596b; }
.vendors-create-form > small { color: #879297; font-size: .56rem; }
.vendors-create-form > small i { color: var(--vendor-copper); font-style: normal; }
.maintenance-vendors-page :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid rgba(66, 111, 131, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .vendors-workspace { grid-template-columns: minmax(0, 1fr); }
    .vendors-create-panel { position: static; }
    .vendors-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vendors-create-form > button, .vendors-create-form > small { grid-column: 1 / -1; }
    .vendor-contact-fields { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .vendors-hero { align-items: flex-start; flex-direction: column; gap: 13px; padding: 19px 16px; }
    .vendors-hero h2 { font-size: 1.4rem; }
    .vendors-primary-action { width: 100%; justify-content: space-between; }
    .vendors-metrics { gap: 6px; }
    .vendors-metric { min-height: 60px; gap: 6px; padding: 7px; }
    .vendors-metric-icon { flex-basis: 25px; width: 25px; height: 25px; }
    .vendors-metric-icon svg { width: 13px; height: 13px; }
    .vendors-metric small { font-size: .55rem; }
    .vendors-metric strong { font-size: .94rem; }
    .vendors-metric div > span { font-size: .5rem; }
    .vendors-tools { grid-template-columns: minmax(0, 1fr) 112px; padding: 8px; }
    .vendors-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .vendors-table { display: block; min-width: 0; }
    .vendors-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .vendors-table tbody { display: grid; gap: 8px; padding: 8px; }
    .vendors-table tbody tr[data-vendor-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e5eaec; border-radius: 4px; }
    .vendors-table tbody tr[data-vendor-row][hidden] { display: none !important; }
    .vendors-table td { display: grid; grid-template-columns: minmax(83px, .62fr) minmax(0, 1.38fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .66rem; }
    .vendors-table td::before { content: attr(data-label); color: #758389; font-size: .6rem; font-weight: 700; }
    .vendors-table td:last-child { border-bottom: 0; }
    .vendors-table td.vendor-actions { display: flex; flex-wrap: wrap; gap: 7px; padding: 9px 1px; }
    .vendors-table td.vendor-actions::before { flex: 0 0 100%; }
    .vendor-edit-details[open] { flex: 1 1 100%; }
    .vendor-edit-form { position: static; width: 100%; margin-top: 7px; box-shadow: none; }
    .vendors-empty { display: block !important; text-align: center !important; }
    .vendors-empty::before { content: none !important; }
    .vendors-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .vendors-metrics { grid-template-columns: minmax(0, 1fr); }
    .vendors-metric { grid-template-columns: 30px minmax(0, 1fr); }
    .vendors-metric-icon { width: 28px; height: 28px; }
    .vendors-tools { grid-template-columns: minmax(0, 1fr); }
    .vendors-create-form, .vendor-contact-fields, .vendor-edit-form { grid-template-columns: minmax(0, 1fr); }
    .vendor-edit-full, .vendors-create-form > button, .vendors-create-form > small { grid-column: 1; }
}
.maintenance-reports-page { --reports-ink: #253631; --reports-muted: #75827c; --reports-line: #dfe7e2; --reports-green: #2d765b; --reports-deep: #203d36; --reports-orange: #bf7544; min-width: 0; color: var(--reports-ink); }
.maintenance-reports-hero { display: flex; justify-content: space-between; align-items: center; gap: 23px; min-height: 145px; margin-bottom: 13px; padding: 23px 28px; border-left: 5px solid #69a47b; border-radius: 6px; background: #203d36; color: #fff; }
.maintenance-reports-hero > div:first-child { min-width: 0; }
.reports-kicker { color: #b5cdc0; font-size: .63rem; font-weight: 700; }
.reports-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d3a15c; }
.maintenance-reports-hero h2 { margin: 8px 0 4px; color: #fff; font-size: 1.62rem; }
.maintenance-reports-hero p { max-width: 590px; margin: 0; color: #c4d3ca; font-size: .8rem; line-height: 1.55; }
.reports-hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: 11px; flex: 0 0 auto; }
.reports-secondary-action { color: #c5d4cb; font-size: .66rem; font-weight: 600; }
.reports-secondary-action:hover { color: #fff; text-decoration: underline; }
.reports-primary-action { display: inline-flex; align-items: center; gap: 8px; min-height: 39px; padding: 8px 11px; border-radius: 4px; background: #2d765b; color: #fff; font-size: .68rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.reports-primary-action:hover { transform: translateY(-1px); background: #246349; }
.reports-primary-action span { font-size: .96rem; }
.reports-alert { margin: 0 0 11px; }
.reports-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.reports-metric { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 69px; padding: 9px 11px; border: 1px solid var(--reports-line); border-radius: 5px; background: #fff; transition: transform .14s ease, border-color .14s ease; }
.reports-metric:hover { transform: translateY(-2px); border-color: #c3d4c9; }
.reports-metric-icon { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 4px; background: #edf2ef; color: #60716a; }
.reports-metric-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-pending .reports-metric-icon { background: #f6f0e5; color: #9a7538; }
.metric-urgent .reports-metric-icon { background: #f8eae5; color: #a7503e; }
.metric-linked .reports-metric-icon { background: #e9f2ec; color: #39744f; }
.reports-metric small, .reports-metric strong, .reports-metric div > span { display: block; }
.reports-metric small { color: #75827c; font-size: .61rem; }
.reports-metric strong { margin-top: 2px; color: var(--reports-ink); font-size: 1.02rem; }
.reports-metric div > span { margin-top: 1px; color: #89948e; font-size: .54rem; }
.reports-filter-panel { display: grid; gap: 9px; margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--reports-line); border-radius: 5px; background: #fff; }
.reports-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.reports-filter-heading > div { display: flex; align-items: center; gap: 9px; }
.reports-filter-heading > div > span { color: #7b8781; font-size: .56rem; font-weight: 700; }
.reports-filter-heading strong { color: #3b4c45; font-size: .72rem; }
.reports-filter-heading > a { color: #6d7b74; font-size: .63rem; font-weight: 600; }
.reports-filter-heading > a:hover { color: var(--reports-green); text-decoration: underline; }
.reports-filter-fields { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr) minmax(250px, 1.5fr) auto; gap: 8px; align-items: end; }
.reports-filter-fields label { display: grid; gap: 4px; min-width: 0; color: #6d7a74; font-size: .61rem; font-weight: 600; }
.reports-filter-fields select { width: 100%; min-width: 0; min-height: 34px; padding: 6px 8px; border: 1px solid #dfe6e1; border-radius: 4px; background: #fbfcfb; color: var(--reports-ink); font: inherit; font-size: .65rem; }
.reports-filter-fields select:focus { outline: 3px solid rgba(45, 118, 91, .12); border-color: #79a58a; background: #fff; }
.reports-filter-submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 9px; min-height: 34px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--reports-green); color: #fff; font: inherit; font-size: .64rem; font-weight: 700; cursor: pointer; }
.reports-filter-submit:hover { background: #235f49; }
.reports-table-panel { overflow: hidden; border: 1px solid var(--reports-line); border-radius: 5px; background: #fff; }
.reports-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e9eeeb; }
.reports-table-heading > div > span { color: #7a8781; font-size: .56rem; font-weight: 700; }
.reports-table-heading h3 { margin: 3px 0 0; color: #34473e; font-size: .91rem; }
.reports-table-heading p { margin: 0; color: #7c8982; font-size: .61rem; }
.reports-table-heading p strong { color: var(--reports-green); }
.reports-table-heading p i { display: inline-block; width: 3px; height: 3px; margin: 0 5px 2px; border-radius: 50%; background: #b6844a; }
.reports-search-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid #edf0ee; }
.reports-search { position: relative; display: block; width: min(360px, 70%); }
.reports-search > span:first-child { position: absolute; top: 50%; left: 9px; color: #7e8a84; font-size: 1.1rem; line-height: 1; transform: translateY(-54%); pointer-events: none; }
.reports-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.reports-search input { width: 100%; min-height: 34px; padding: 6px 9px 6px 28px; border: 1px solid #dfe6e1; border-radius: 4px; background: #fbfcfb; color: var(--reports-ink); font: inherit; font-size: .64rem; }
.reports-search input:focus { outline: 3px solid rgba(45, 118, 91, .12); border-color: #79a58a; background: #fff; }
.reports-search-row > small { color: #87928c; font-size: .58rem; }
.reports-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #cad6cf transparent; scrollbar-width: thin; }
.reports-table-wrap:focus-visible { outline: 3px solid rgba(45, 118, 91, .18); outline-offset: -3px; }
.reports-table { width: 100%; min-width: 1120px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.reports-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.reports-table th, .reports-table td { padding: 9px 8px; border-bottom: 1px solid #edf0ee; color: #5e6c65; text-align: left; vertical-align: middle; font-size: .61rem; line-height: 1.4; overflow-wrap: anywhere; }
.reports-table th { background: #f4f7f5; color: #6f7d75; font-size: .55rem; font-weight: 700; white-space: nowrap; }
.reports-table th:nth-child(1) { width: 12%; }
.reports-table th:nth-child(2) { width: 12%; }
.reports-table th:nth-child(3) { width: 16%; }
.reports-table th:nth-child(4) { width: 11%; }
.reports-table th:nth-child(5) { width: 19%; }
.reports-table th:nth-child(6), .reports-table th:nth-child(7) { width: 10%; }
.reports-table th:nth-child(8) { width: 10%; }
.reports-table tbody tr[data-report-row] { transition: background .13s ease; }
.reports-table tbody tr[data-report-row]:hover { background: #f8faf8; }
.reports-table tbody tr[data-report-row][hidden] { display: none !important; }
.report-number { color: #2d765b; font-size: .63rem; font-weight: 700; }
.report-number:hover, .report-work-order-link:hover { color: #1c513c; text-decoration: underline; }
.report-asset { display: block; color: #344840; font-size: .64rem; }
.reports-table td small { display: block; max-width: 260px; margin-top: 3px; color: #849089; font-size: .57rem; line-height: 1.4; }
.report-priority, .report-status { display: inline-flex; padding: 4px 6px; border-radius: 3px; font-size: .56rem; font-weight: 700; }
.report-priority.is-emergency { background: #f7e7e4; color: #a04439; }
.report-priority.is-high { background: #fbf0e3; color: #926125; }
.report-priority.is-normal { background: #edf1ef; color: #60736a; }
.report-priority.is-low { background: #eaf2ec; color: #39734f; }
.report-status.is-pending { background: #f6f0e5; color: #96743a; }
.report-status.is-processing { background: #e8eff4; color: #466e83; }
.report-status.is-completed { background: #eaf2ec; color: #39734f; }
.report-status.is-cancelled { background: #f3eae9; color: #8e5b54; }
.report-work-order-link { color: #2d765b; font-size: .61rem; font-weight: 700; }
.report-create-work-order { display: inline-flex; align-items: center; gap: 5px; color: #26725b; font-size: .59rem; font-weight: 700; }
.report-create-work-order:hover { color: #174c39; text-decoration: underline; }
.reports-empty { padding: 25px 12px !important; color: #7c8981 !important; text-align: center !important; }
.reports-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 8px 11px; border-top: 1px solid #e9eeeb; }
.reports-pagination span { color: #7a8780; font-size: .61rem; }
.reports-pagination a { color: var(--reports-green); font-size: .63rem; font-weight: 700; }
.reports-pagination a:hover { color: #194e39; text-decoration: underline; }
.maintenance-reports-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(45, 118, 91, .2); outline-offset: 2px; }

.inventory-report-page { --inventory-ink: #20373c; --inventory-muted: #74858a; --inventory-line: #e1e8e7; --inventory-teal: #19777a; --inventory-red: #a52f3c; display: grid; gap: 16px; min-width: 0; color: var(--inventory-ink); }
.inventory-report-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 174px; overflow: hidden; padding: 27px 30px; border: 1px solid #183f46; border-radius: 7px; background-color: #193d43; background-image: linear-gradient(115deg, rgba(22,55,62,.98), rgba(34,79,79,.94)), linear-gradient(90deg, transparent 39px, rgba(230,246,237,.08) 40px), linear-gradient(transparent 39px, rgba(230,246,237,.08) 40px); background-size: auto, 40px 40px, 40px 40px; }
.inventory-report-heading { position: relative; z-index: 1; max-width: 610px; }
.inventory-report-kicker { display: flex; align-items: center; gap: 9px; color: #b4c9c5; font-size: .63rem; font-weight: 800; }
.inventory-report-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #de8c71; }
.inventory-report-kicker b { color: #789697; }
.inventory-report-heading h2 { margin: 12px 0 7px; color: #fff; font-size: 1.75rem; line-height: 1.2; }
.inventory-report-heading p { max-width: 500px; margin: 0; color: #c0d1cc; font-size: .79rem; line-height: 1.6; }
.inventory-report-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; flex: 0 0 auto; padding-top: 15px; }
.inventory-manage-link { color: #d6e2de; font-size: .72rem; font-weight: 700; transition: color .15s ease; }
.inventory-manage-link span { margin-left: 4px; color: #a8c4bb; }
.inventory-manage-link:hover { color: #fff; }
.inventory-export-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 42px; padding: 0 13px; border: 1px solid #e3ebe7; border-radius: 4px; background: #f7faf8; color: #24464a; font-size: .7rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.inventory-export-button:hover { transform: translateY(-1px); background: #fff; }
.inventory-export-button svg { width: 16px; height: 16px; stroke: var(--inventory-teal); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.inventory-report-index { position: absolute; right: 30px; bottom: 12px; color: #9cb4b0; font-size: .52rem; font-weight: 700; letter-spacing: .07em; }
.inventory-report-index i { margin: 0 4px; color: #da927b; font-style: normal; }

.inventory-report-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.inventory-metric { display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 88px; padding: 14px 13px; border: 1px solid var(--inventory-line); border-radius: 6px; background: #fff; box-shadow: 0 3px 10px rgba(31,57,58,.025); transition: transform .16s ease, box-shadow .16s ease; }
.inventory-metric:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(31,57,58,.08); }
.inventory-metric-icon { display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; border: 1px solid #dce9e5; border-radius: 5px; background: #eef5f2; color: #317568; }
.inventory-metric-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.inventory-metric-units .inventory-metric-icon { border-color: #e3e7eb; background: #f1f3f5; color: #596b79; }
.inventory-metric-ready .inventory-metric-icon { border-color: #d9e9dc; background: #eff7ef; color: #4a845c; }
.inventory-metric-repair .inventory-metric-icon { border-color: #f0dfd2; background: #fbf3eb; color: #aa7047; }
.inventory-metric-value .inventory-metric-icon { border-color: #efdcde; background: #fbf0f1; color: var(--inventory-red); }
.inventory-metric > div { display: grid; gap: 2px; min-width: 0; }
.inventory-metric small { color: #728288; font-size: .62rem; font-weight: 700; }
.inventory-metric strong { overflow: hidden; color: var(--inventory-ink); font-size: 1.05rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.inventory-metric-value strong { font-size: .88rem; }
.inventory-metric > div > span { overflow: hidden; color: #9aa5a6; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }

.inventory-report-filters { display: grid; gap: 13px; padding: 16px 18px 17px; border: 1px solid var(--inventory-line); border-radius: 6px; background: #f9fbfa; }
.inventory-filter-topline { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.inventory-filter-topline > div > span, .inventory-table-heading > div > span { color: #7c8a8a; font-size: .55rem; font-weight: 800; letter-spacing: .04em; }
.inventory-filter-topline h3 { margin: 3px 0 0; color: var(--inventory-ink); font-size: .89rem; }
.inventory-filter-topline > a { color: #687c7d; font-size: .65rem; font-weight: 700; }
.inventory-filter-topline > a:hover { color: var(--inventory-red); text-decoration: underline; }
.inventory-filter-grid { display: grid; grid-template-columns: minmax(190px, 1.6fr) repeat(3, minmax(125px, 1fr)) repeat(2, minmax(130px, .9fr)) auto; gap: 9px; align-items: end; }
.inventory-filter-grid label { display: grid; gap: 5px; min-width: 0; color: #64777a; font-size: .6rem; font-weight: 700; }
.inventory-filter-grid input, .inventory-filter-grid select { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #dce5e2; border-radius: 4px; background: #fff; color: var(--inventory-ink); font: inherit; font-size: .65rem; }
.inventory-filter-grid input::placeholder { color: #9aa6a5; }
.inventory-filter-grid :is(input, select):focus, .inventory-table-search input:focus { outline: 3px solid rgba(25,119,122,.12); border-color: #7da9a3; }
.inventory-apply-filter { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 36px; padding: 7px 11px; border: 0; border-radius: 4px; background: var(--inventory-teal); color: #fff; font: inherit; font-size: .64rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.inventory-apply-filter:hover { transform: translateY(-1px); background: #145f63; }
.inventory-apply-filter b { font-size: .9rem; }

.inventory-report-table-panel { min-width: 0; overflow: hidden; border: 1px solid var(--inventory-line); border-radius: 6px; background: #fff; }
.inventory-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 17px 12px; border-bottom: 1px solid #eaf0ee; }
.inventory-table-heading h3 { margin: 4px 0 0; color: var(--inventory-ink); font-size: 1rem; }
.inventory-table-heading p { margin: 0; color: #7d8b8b; font-size: .62rem; }
.inventory-table-heading p strong { color: #3d6561; }
.inventory-table-heading p i { display: inline-block; width: 4px; height: 4px; margin: 0 6px 2px; border-radius: 50%; background: #cb836b; }
.inventory-table-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 14px; border-bottom: 1px solid #edf1ef; }
.inventory-table-search { position: relative; display: flex; align-items: center; gap: 7px; width: min(320px, 65%); min-height: 32px; padding: 0 8px; border: 1px solid #e0e8e5; border-radius: 4px; background: #fbfcfc; }
.inventory-table-search > span:first-child { color: #78908e; font-size: 1.1rem; line-height: 1; }
.inventory-table-search input { flex: 1; min-width: 0; min-height: 28px; padding: 4px 0; border: 0; outline: 0; background: transparent; color: var(--inventory-ink); font: inherit; font-size: .63rem; }
.inventory-table-search input:focus { outline: 0; border-color: transparent; }
.inventory-table-search kbd { padding: 1px 4px; border: 1px solid #e1e7e4; border-radius: 3px; color: #879493; font-family: inherit; font-size: .56rem; }
.inventory-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.inventory-table-toolbar > span { color: #8a9796; font-size: .59rem; }
.inventory-report-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c4d2cd transparent; scrollbar-width: thin; }
.inventory-report-table-wrap:focus-visible { outline: 3px solid rgba(25,119,122,.18); outline-offset: -3px; }
.inventory-report-table { width: 100%; min-width: 1030px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.inventory-report-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.inventory-report-table th, .inventory-report-table td { padding: 11px 10px; border-bottom: 1px solid #edf1ef; color: #506468; text-align: left; vertical-align: middle; font-size: .65rem; line-height: 1.45; overflow-wrap: anywhere; }
.inventory-report-table th { position: sticky; top: 0; z-index: 1; background: #f4f7f6; color: #758584; font-size: .56rem; font-weight: 800; white-space: nowrap; }
.inventory-report-table th:nth-child(1) { width: 21%; }
.inventory-report-table th:nth-child(2) { width: 12%; }
.inventory-report-table th:nth-child(3) { width: 12%; }
.inventory-report-table th:nth-child(4) { width: 13%; }
.inventory-report-table th:nth-child(5) { width: 13%; }
.inventory-report-table th:nth-child(6) { width: 8%; }
.inventory-report-table th:nth-child(7) { width: 13%; }
.inventory-report-table th:nth-child(8) { width: 8%; }
.inventory-report-table tbody tr[data-inventory-row] { transition: background .14s ease; }
.inventory-report-table tbody tr[data-inventory-row]:hover { background: #f8fbf9; }
.inventory-report-table tbody tr[data-inventory-row][hidden] { display: none !important; }
.inventory-asset-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.inventory-asset-mark { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #dce9e4; border-radius: 4px; background: #f0f6f3; color: #427b6c; }
.inventory-asset-mark svg { width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.inventory-asset-identity > div { display: grid; gap: 3px; min-width: 0; }
.inventory-asset-identity strong { color: #2b4347; font-size: .67rem; }
.inventory-asset-identity small, .inventory-cell-note { display: block; color: #879594; font-size: .57rem; }
.inventory-asset-identity small i { margin: 0 2px; color: #b1bfbb; font-style: normal; }
.inventory-barcode-value { color: #536b6d; font-variant-numeric: tabular-nums; }
.inventory-location { color: #4c6264; font-size: .63rem; }
.inventory-condition-badge, .inventory-status-badge { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 4px 6px; border-radius: 3px; font-size: .56rem; font-weight: 700; line-height: 1.35; }
.inventory-condition-badge.is-good { background: #eaf4ec; color: #39734c; }
.inventory-condition-badge.is-minor { background: #fbf2e2; color: #92703c; }
.inventory-condition-badge.is-major { background: #fae9e7; color: #a14a42; }
.inventory-condition-badge.is-repair { background: #edf0f6; color: #5a6683; }
.inventory-condition-badge.is-neutral { background: #eef1f0; color: #687a78; }
.inventory-status-badge.is-ready { background: #eaf4ec; color: #39734c; }
.inventory-status-badge.is-loaned { background: #eaf1f5; color: #4c7082; }
.inventory-status-badge.is-repair { background: #fbf0e3; color: #94663a; }
.inventory-status-badge.is-inactive { background: #eef0ef; color: #687573; }
.inventory-status-badge.is-neutral { background: #eef1f0; color: #687a78; }
.inventory-status-badge i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.inventory-quantity { color: #354e51; font-variant-numeric: tabular-nums; }
.inventory-report-table td > small { color: #899695; font-size: .56rem; }
.inventory-value { color: #395e5b; font-size: .63rem; white-space: nowrap; }
.inventory-row-actions { white-space: nowrap; }
.inventory-row-actions a { display: inline-block; margin-right: 7px; color: #3c7771; font-size: .59rem; font-weight: 800; }
.inventory-row-actions a:last-child { margin-right: 0; color: var(--inventory-red); }
.inventory-row-actions a:hover { text-decoration: underline; }
.inventory-report-empty-row td { padding: 36px 16px; text-align: center; }
.inventory-report-empty-row[hidden] { display: none !important; }
.inventory-report-empty-row strong, .inventory-report-empty-row span { display: block; }
.inventory-report-empty-row strong { color: #435e60; font-size: .8rem; }
.inventory-report-empty-row span { margin-top: 5px; color: #879493; font-size: .65rem; }
.inventory-table-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 46px; padding: 7px 13px; border-top: 1px solid #eaf0ee; }
.inventory-table-footer[hidden] { display: none; }
.inventory-table-footer > span { color: #7e8d8b; font-size: .6rem; }
.inventory-table-footer nav { display: inline-flex; align-items: center; gap: 7px; }
.inventory-table-footer nav button { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: #3c6e69; font: inherit; cursor: pointer; }
.inventory-table-footer nav button:hover:not(:disabled) { border-color: #8eb4aa; background: #f1f7f4; }
.inventory-table-footer nav button:disabled { color: #b1bcba; cursor: not-allowed; }
.inventory-table-footer nav span { min-width: 42px; color: #637775; font-size: .6rem; text-align: center; }
.inventory-report-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(25,119,122,.2); outline-offset: 2px; }

@media (max-width: 1100px) {
    .inventory-report-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .inventory-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .inventory-filter-search { grid-column: span 2; }
}
@media (max-width: 720px) {
    .inventory-report-page { gap: 12px; }
    .inventory-report-hero { align-items: flex-start; flex-direction: column; gap: 13px; min-height: 0; padding: 21px 18px 26px; }
    .inventory-report-heading h2 { font-size: 1.48rem; }
    .inventory-report-heading p { font-size: .73rem; }
    .inventory-report-actions { justify-content: space-between; width: 100%; padding-top: 0; }
    .inventory-report-index { right: 18px; bottom: 9px; }
    .inventory-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .inventory-metric { min-height: 70px; gap: 8px; padding: 9px; }
    .inventory-metric-icon { flex-basis: 29px; width: 29px; height: 29px; }
    .inventory-metric-icon svg { width: 14px; height: 14px; }
    .inventory-metric small { font-size: .55rem; }
    .inventory-metric strong { font-size: .94rem; }
    .inventory-metric-value strong { font-size: .75rem; }
    .inventory-metric > div > span { font-size: .49rem; }
    .inventory-report-filters { gap: 11px; padding: 13px; }
    .inventory-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .inventory-filter-search { grid-column: 1 / -1; }
    .inventory-apply-filter { grid-column: 1 / -1; }
    .inventory-table-heading { align-items: flex-start; flex-direction: column; gap: 7px; padding: 12px; }
    .inventory-table-toolbar { align-items: flex-start; flex-direction: column; padding: 9px 11px; }
    .inventory-table-search { width: 100%; }
    .inventory-report-table-wrap { overflow: visible; border-top: 1px solid #edf1ef; }
    .inventory-report-table { display: block; min-width: 0; }
    .inventory-report-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .inventory-report-table tbody { display: grid; gap: 8px; padding: 8px; }
    .inventory-report-table tbody tr[data-inventory-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5ece8; border-radius: 5px; }
    .inventory-report-table td { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1.35fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #eef2f0; font-size: .65rem; }
    .inventory-report-table td::before { color: #7b8b89; content: attr(data-label); font-size: .59rem; font-weight: 700; }
    .inventory-report-table td:first-child { align-items: start; }
    .inventory-report-table td:last-child { border-bottom: 0; }
    .inventory-report-table td.inventory-row-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 0 5px; }
    .inventory-report-table td.inventory-row-actions::before { flex-basis: 100%; }
    .inventory-row-actions a { padding: 5px 8px; border: 1px solid #dce8e3; border-radius: 3px; background: #f8fbf9; }
    .inventory-report-empty-row { display: block; padding: 8px; border: 1px solid #e5ece8; border-radius: 5px; }
    .inventory-report-empty-row td { display: block; border: 0; }
    .inventory-report-empty-row td::before { content: none; }
}
@media (max-width: 440px) {
    .inventory-report-actions { align-items: stretch; flex-direction: column-reverse; gap: 10px; }
    .inventory-manage-link { padding: 5px 0; }
    .inventory-export-button { width: 100%; }
    .inventory-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inventory-filter-grid { grid-template-columns: minmax(0, 1fr); }
    .inventory-filter-search, .inventory-apply-filter { grid-column: 1; }
    .inventory-table-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 960px) {
    .reports-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reports-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reports-asset-filter { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .maintenance-reports-hero { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px 17px; }
    .maintenance-reports-hero h2 { font-size: 1.42rem; }
    .reports-hero-actions { justify-content: space-between; width: 100%; }
    .reports-metrics { gap: 7px; }
    .reports-metric { min-height: 62px; gap: 7px; padding: 8px; }
    .reports-metric-icon { flex-basis: 27px; width: 27px; height: 27px; }
    .reports-metric-icon svg { width: 14px; height: 14px; }
    .reports-metric small { font-size: .56rem; }
    .reports-metric strong { font-size: .95rem; }
    .reports-metric div > span { font-size: .51rem; }
    .reports-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .reports-asset-filter { grid-column: 1; }
    .reports-filter-submit { justify-content: space-between; }
    .reports-table-heading { align-items: flex-start; padding: 10px 11px; }
    .reports-search-row { align-items: flex-start; flex-direction: column; }
    .reports-search { width: 100%; }
    .reports-table-wrap { overflow: visible; border-top: 1px solid #edf0ee; }
    .reports-table { display: block; min-width: 0; }
    .reports-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .reports-table tbody { display: grid; gap: 8px; padding: 8px; }
    .reports-table tbody tr[data-report-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e4eae6; border-radius: 4px; }
    .reports-table tbody tr[data-report-row][hidden] { display: none !important; }
    .reports-table td { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0ee; font-size: .67rem; }
    .reports-table td::before { content: attr(data-label); color: #75827a; font-size: .61rem; font-weight: 700; }
    .reports-table td:last-child { border-bottom: 0; }
    .reports-empty { display: block !important; text-align: center !important; }
    .reports-empty::before { content: none !important; }
    .reports-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .reports-hero-actions { align-items: stretch; flex-direction: column; }
    .reports-secondary-action { text-align: center; }
    .reports-primary-action { justify-content: space-between; }
    .reports-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.maintenance-schedule-page { --schedule-ink: #2d393c; --schedule-muted: #768287; --schedule-line: #dfe5e6; --schedule-copper: #bd663e; --schedule-blue: #2c7188; min-width: 0; color: var(--schedule-ink); }
.schedule-command-header { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 145px; margin-bottom: 13px; padding: 23px 28px; border: 1px solid #e1e7e7; border-left: 5px solid var(--schedule-copper); border-radius: 6px; background: #f5f7f6; }
.schedule-command-header > div:first-child { min-width: 0; }
.schedule-kicker { color: #64767a; font-size: .63rem; font-weight: 700; }
.schedule-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: var(--schedule-copper); }
.schedule-command-header h2 { margin: 8px 0 4px; color: var(--schedule-ink); font-size: 1.62rem; }
.schedule-command-header p { max-width: 590px; margin: 0; color: #758187; font-size: .8rem; line-height: 1.55; }
.schedule-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex: 0 0 auto; }
.schedule-report-link { color: #64767a; font-size: .67rem; font-weight: 600; }
.schedule-report-link:hover { color: var(--schedule-copper); text-decoration: underline; }
.schedule-primary-action { display: inline-flex; align-items: center; gap: 8px; min-height: 39px; padding: 8px 12px; border-radius: 4px; background: var(--schedule-copper); color: #fff; font-size: .68rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.schedule-primary-action:hover { transform: translateY(-1px); background: #a85532; }
.schedule-primary-action span { font-size: .98rem; }
.schedule-alert { margin: 0 0 11px; }
.schedule-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
.schedule-metric { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 69px; padding: 9px 11px; border: 1px solid var(--schedule-line); border-radius: 5px; background: #fff; transition: transform .14s ease, border-color .14s ease; }
.schedule-metric:hover { transform: translateY(-2px); border-color: #cbd6d7; }
.schedule-metric-icon { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 4px; background: #edf1f1; color: #587078; }
.schedule-metric-icon svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-today .schedule-metric-icon { background: #e9f1f1; color: var(--schedule-blue); }
.metric-late .schedule-metric-icon { background: #f8eae5; color: var(--schedule-copper); }
.metric-priority .schedule-metric-icon { background: #f6f0e5; color: #9a783e; }
.schedule-metric small, .schedule-metric strong, .schedule-metric div > span { display: block; }
.schedule-metric small { color: #748187; font-size: .62rem; }
.schedule-metric strong { margin-top: 2px; color: var(--schedule-ink); font-size: 1.02rem; }
.schedule-metric div > span { margin-top: 1px; color: #8b9599; font-size: .55rem; }
.schedule-filter-panel { display: grid; gap: 10px; margin-bottom: 13px; padding: 12px 14px; border: 1px solid var(--schedule-line); border-radius: 5px; background: #fff; }
.schedule-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.schedule-filter-heading > div { display: flex; align-items: center; gap: 9px; }
.schedule-filter-heading > div > span { color: #7b878b; font-size: .57rem; font-weight: 700; }
.schedule-filter-heading strong { color: #405054; font-size: .73rem; }
.schedule-filter-heading > a { color: #6e7e82; font-size: .64rem; font-weight: 600; }
.schedule-filter-heading > a:hover { color: var(--schedule-copper); text-decoration: underline; }
.schedule-filter-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; align-items: end; }
.schedule-filter-fields label { display: grid; gap: 4px; min-width: 0; color: #6b797e; font-size: .62rem; font-weight: 600; }
.schedule-filter-fields .schedule-search-field { grid-column: span 2; }
.schedule-filter-fields input, .schedule-filter-fields select { width: 100%; min-width: 0; min-height: 34px; padding: 6px 8px; border: 1px solid #dfe5e6; border-radius: 4px; background: #fbfcfc; color: var(--schedule-ink); font: inherit; font-size: .66rem; }
.schedule-filter-fields input:focus, .schedule-filter-fields select:focus { outline: 3px solid rgba(44, 113, 136, .12); border-color: #71a2ae; background: #fff; }
.schedule-filter-submit { display: inline-flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--schedule-blue); color: #fff; font: inherit; font-size: .65rem; font-weight: 700; cursor: pointer; transition: background .15s ease; }
.schedule-filter-submit:hover { background: #225a6c; }
.schedule-table-panel { overflow: hidden; border: 1px solid var(--schedule-line); border-radius: 5px; background: #fff; }
.schedule-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e9edef; }
.schedule-table-heading > div > span { color: #7a878b; font-size: .57rem; font-weight: 700; }
.schedule-table-heading h3 { margin: 3px 0 0; color: #35474b; font-size: .92rem; }
.schedule-table-heading p { margin: 0; color: #7b878c; font-size: .63rem; }
.schedule-table-heading p strong { color: var(--schedule-blue); }
.schedule-table-heading p i { display: inline-block; width: 3px; height: 3px; margin: 0 5px 2px; border-radius: 50%; background: #ad7c43; }
.schedule-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #cbd5d7 transparent; scrollbar-width: thin; }
.schedule-table-wrap:focus-visible { outline: 3px solid rgba(44, 113, 136, .18); outline-offset: -3px; }
.schedule-table { width: 100%; min-width: 1100px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.schedule-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.schedule-table th, .schedule-table td { padding: 10px 8px; border-bottom: 1px solid #edf0f1; color: #5e6c71; text-align: left; vertical-align: middle; font-size: .63rem; overflow-wrap: anywhere; }
.schedule-table th { background: #f4f7f7; color: #6e7c81; font-size: .56rem; font-weight: 700; white-space: nowrap; }
.schedule-table th:nth-child(1) { width: 17%; }
.schedule-table th:nth-child(2) { width: 18%; }
.schedule-table th:nth-child(3) { width: 10%; }
.schedule-table th:nth-child(4) { width: 15%; }
.schedule-table th:nth-child(5) { width: 12%; }
.schedule-table th:nth-child(6) { width: 11%; }
.schedule-table th:nth-child(7), .schedule-table th:nth-child(8) { width: 8%; }
.schedule-table th:nth-child(9) { width: 7%; }
.schedule-table tbody tr { transition: background .13s ease; }
.schedule-table tbody tr:hover { background: #f8faf9; }
.schedule-number { display: block; color: #27768b; font-size: .64rem; font-weight: 700; }
.schedule-table td small { display: block; margin-top: 3px; color: #859196; font-size: .58rem; }
.schedule-job-title { color: #35484d; font-size: .65rem; }
.schedule-date { color: #58696f; font-size: .62rem; }
.schedule-priority, .schedule-status { display: inline-flex; padding: 4px 6px; border-radius: 3px; font-size: .57rem; font-weight: 700; }
.schedule-priority.priority-emergency { background: #f8e8e4; color: #a0473a; }
.schedule-priority.priority-high { background: #fbf0e2; color: #91601f; }
.schedule-priority.priority-normal { background: #edf1f2; color: #61747a; }
.schedule-priority.priority-low { background: #eaf2ec; color: #3a754f; }
.schedule-status.status-scheduled { background: #e8f1f0; color: #34767a; }
.schedule-status.status-waiting { background: #f6f0e4; color: #95743a; }
.schedule-status.status-progress { background: #e8eff5; color: #456d8b; }
.schedule-status.status-postponed { background: #f1edf0; color: #75616f; }
.schedule-detail-action { color: #26758a; font-size: .61rem; font-weight: 700; white-space: nowrap; }
.schedule-detail-action:hover { color: #154f5f; text-decoration: underline; }
.schedule-empty { padding: 26px 12px !important; color: #7b888d !important; text-align: center !important; }
.schedule-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 9px 12px; border-top: 1px solid #e9edef; }
.schedule-pagination span { color: #78858a; font-size: .63rem; }
.schedule-pagination a { color: var(--schedule-blue); font-size: .64rem; font-weight: 700; }
.schedule-pagination a:hover { color: #174f62; text-decoration: underline; }
.maintenance-schedule-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(44, 113, 136, .2); outline-offset: 2px; }
@media (max-width: 1100px) {
    .schedule-filter-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .schedule-filter-fields .schedule-search-field { grid-column: span 2; }
}
@media (max-width: 960px) {
    .schedule-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .schedule-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .schedule-command-header { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 17px; }
    .schedule-command-header h2 { font-size: 1.42rem; }
    .schedule-header-actions { justify-content: space-between; width: 100%; }
    .schedule-metrics { gap: 7px; }
    .schedule-metric { min-height: 63px; gap: 7px; padding: 8px; }
    .schedule-metric-icon { flex-basis: 27px; width: 27px; height: 27px; }
    .schedule-metric-icon svg { width: 14px; height: 14px; }
    .schedule-metric small { font-size: .57rem; }
    .schedule-metric strong { font-size: .96rem; }
    .schedule-metric div > span { font-size: .53rem; }
    .schedule-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .schedule-filter-fields .schedule-search-field { grid-column: 1 / -1; }
    .schedule-filter-submit { grid-column: 1 / -1; }
    .schedule-table-heading { align-items: flex-start; padding: 11px; }
    .schedule-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .schedule-table { display: block; min-width: 0; }
    .schedule-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .schedule-table tbody { display: grid; gap: 8px; padding: 8px; }
    .schedule-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eaeb; border-radius: 4px; }
    .schedule-table td { display: grid; grid-template-columns: minmax(96px, .68fr) minmax(0, 1.32fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .67rem; }
    .schedule-table td::before { content: attr(data-label); color: #758389; font-size: .61rem; font-weight: 700; }
    .schedule-table td:last-child { border-bottom: 0; }
    .schedule-empty { display: block !important; text-align: center !important; }
    .schedule-empty::before { content: none !important; }
    .schedule-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .schedule-header-actions { align-items: stretch; flex-direction: column; }
    .schedule-report-link { text-align: center; }
    .schedule-primary-action { justify-content: space-between; }
    .schedule-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .schedule-filter-fields .schedule-search-field, .schedule-filter-submit { grid-column: 1; }
    .schedule-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.maintenance-dashboard-page { --maint-ink: #27363d; --maint-muted: #77858b; --maint-line: #dfe6e8; --maint-teal: #167b78; --maint-deep: #183047; --maint-amber: #bd8038; min-width: 0; color: var(--maint-ink); }
.maintenance-command-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 148px; margin-bottom: 14px; padding: 24px 28px; border-radius: 7px; background: var(--maint-deep); color: #fff; }
.maintenance-command-header > div:first-child { min-width: 0; }
.maintenance-kicker { color: #b8cbd0; font-size: .64rem; font-weight: 700; }
.maintenance-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d0a15e; }
.maintenance-command-header h2 { margin: 8px 0 4px; color: #fff; font-size: 1.65rem; }
.maintenance-command-header p { max-width: 580px; margin: 0; color: #c4d0d4; font-size: .82rem; line-height: 1.55; }
.maintenance-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex: 0 0 auto; }
.maintenance-secondary-action { color: #cbd7d9; font-size: .68rem; font-weight: 600; }
.maintenance-secondary-action:hover { color: #fff; text-decoration: underline; }
.maintenance-primary-action { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border-radius: 4px; background: var(--maint-teal); color: #fff; font-size: .69rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.maintenance-primary-action:hover { transform: translateY(-1px); background: #116764; }
.maintenance-primary-action span { font-size: 1rem; }
.maintenance-alert { margin: 0 0 12px; }
.maintenance-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.maintenance-metric { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 74px; padding: 10px 12px; border: 1px solid var(--maint-line); border-radius: 5px; background: #fff; color: var(--maint-ink); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.maintenance-metric:hover { transform: translateY(-2px); border-color: #c3d2d3; box-shadow: 0 5px 14px rgba(36, 65, 68, .06); }
.maintenance-metric-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 5px; background: #edf1f2; color: #536a70; }
.maintenance-metric-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.icon-today, .icon-progress { background: #e8f2f0; color: var(--maint-teal); }
.icon-overdue { background: #f7eae8; color: #a14e46; }
.icon-reports { background: #f5f0e6; color: #9c7538; }
.icon-cost { background: #edf1f5; color: #526e91; }
.icon-completed { background: #eaf2ec; color: #39744f; }
.maintenance-metric > div { min-width: 0; }
.maintenance-metric small, .maintenance-metric strong, .maintenance-metric > div > span { display: block; }
.maintenance-metric small { color: #738087; font-size: .64rem; }
.maintenance-metric strong { margin-top: 2px; color: #2b3c43; font-size: 1.08rem; overflow-wrap: anywhere; }
.maintenance-metric-cost strong { font-size: .88rem; }
.maintenance-metric > div > span { margin-top: 1px; color: #8a959a; font-size: .57rem; }
.maintenance-metric-arrow { margin-left: auto; color: #829096; font-size: .76rem; font-style: normal; }
.maintenance-metric-overdue { border-color: #e7d9d6; background: #fffdfc; }
.maintenance-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(250px, .72fr); gap: 12px; align-items: start; }
.maintenance-agenda-panel, .maintenance-priority-panel { min-width: 0; border: 1px solid var(--maint-line); border-radius: 5px; background: #fff; }
.maintenance-agenda-panel { overflow: hidden; }
.maintenance-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 15px; border-bottom: 1px solid #e9edef; }
.maintenance-section-kicker { color: #74838a; font-size: .58rem; font-weight: 700; }
.maintenance-panel-heading h3, .maintenance-priority-panel h3 { margin: 3px 0 2px; color: #2b3c43; font-size: .94rem; }
.maintenance-panel-heading p, .maintenance-priority-panel > p { margin: 0; color: #7c888e; font-size: .63rem; line-height: 1.5; }
.maintenance-panel-heading > a { flex: 0 0 auto; color: var(--maint-teal); font-size: .65rem; font-weight: 700; }
.maintenance-panel-heading > a:hover { color: #105e5b; text-decoration: underline; }
.maintenance-agenda-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c9d5d7 transparent; scrollbar-width: thin; }
.maintenance-agenda-table-wrap:focus-visible { outline: 3px solid rgba(22, 123, 120, .18); outline-offset: -3px; }
.maintenance-agenda-table { width: 100%; min-width: 700px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.maintenance-agenda-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.maintenance-agenda-table th, .maintenance-agenda-table td { padding: 10px 9px; border-bottom: 1px solid #edf0f1; color: #5f6d73; text-align: left; vertical-align: middle; font-size: .65rem; overflow-wrap: anywhere; }
.maintenance-agenda-table th { background: #f4f7f7; color: #6e7c82; font-size: .58rem; font-weight: 700; white-space: nowrap; }
.maintenance-agenda-table th:nth-child(1) { width: 18%; }
.maintenance-agenda-table th:nth-child(2) { width: 39%; }
.maintenance-agenda-table th:nth-child(3), .maintenance-agenda-table th:nth-child(4) { width: 16%; }
.maintenance-agenda-table th:nth-child(5) { width: 11%; }
.maintenance-date { color: #53666c; font-size: .64rem; }
.maintenance-job-title { display: block; color: #286d7b; font-size: .67rem; font-weight: 700; }
.maintenance-job-title:hover { color: #164e5a; text-decoration: underline; }
.maintenance-agenda-table td small { display: block; margin-top: 3px; color: #869197; font-size: .59rem; }
.maintenance-priority, .maintenance-status { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: .58rem; font-weight: 700; }
.priority-emergency { background: #f7e7e5; color: #9e4138; }
.priority-high { background: #fbf0e3; color: #936425; }
.priority-normal { background: #edf1f2; color: #60727a; }
.priority-low { background: #eaf2ec; color: #39734f; }
.status-scheduled { background: #e9f2f0; color: #32736e; }
.status-waiting { background: #f5f0e6; color: #927034; }
.status-progress { background: #eaf0f7; color: #426b95; }
.status-postponed { background: #f1edf1; color: #755e73; }
.maintenance-detail-link { color: #197a77; font-size: .62rem; font-weight: 700; white-space: nowrap; }
.maintenance-detail-link:hover { color: #105652; text-decoration: underline; }
.maintenance-empty { padding: 25px 12px !important; color: #7d898e !important; text-align: center !important; }
.maintenance-priority-panel { padding: 16px 14px; background: #f7f9f8; }
.maintenance-priority-panel h3 { margin-top: 4px; }
.maintenance-priority-panel > p { margin-bottom: 13px; }
.maintenance-priority-link { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 9px 0; border-top: 1px solid #e5eae8; color: inherit; transition: background .14s ease; }
.maintenance-priority-link:hover { background: #eff4f2; }
.priority-link-mark { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 4px; background: #f7eae8; color: #a14e46; }
.priority-link-mark svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.priority-link-mark.mark-report { background: #f5f0e6; color: #9c7538; }
.priority-link-mark.mark-work { background: #e8f2f0; color: var(--maint-teal); }
.maintenance-priority-link > span:nth-child(2) { min-width: 0; }
.maintenance-priority-link strong, .maintenance-priority-link small { display: block; }
.maintenance-priority-link strong { color: #3a4b51; font-size: .66rem; }
.maintenance-priority-link small { margin-top: 2px; color: #828e93; font-size: .58rem; }
.maintenance-priority-link b { display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 5px; border-radius: 4px; background: #fff; color: #56686e; font-size: .67rem; }
.priority-link-overdue b { color: #a14e46; }
.maintenance-progress-summary { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e1e8e4; }
.maintenance-progress-summary > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #748188; font-size: .62rem; }
.maintenance-progress-summary strong { color: #344a50; font-size: .68rem; }
.maintenance-progress-track { height: 6px; margin-top: 7px; overflow: hidden; border-radius: 4px; background: #e2e9e6; }
.maintenance-progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--maint-teal); }
.maintenance-dashboard-page :is(a, button):focus-visible { outline: 3px solid rgba(22, 123, 120, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .maintenance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .maintenance-workspace { grid-template-columns: minmax(0, 1fr); }
    .maintenance-priority-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 12px; }
    .maintenance-priority-panel > .maintenance-section-kicker, .maintenance-priority-panel > h3, .maintenance-priority-panel > p, .maintenance-progress-summary { grid-column: 1 / -1; }
    .maintenance-priority-link { align-self: stretch; grid-template-columns: 28px minmax(0, 1fr); }
    .maintenance-priority-link b { grid-column: 2; justify-self: start; }
}
@media (max-width: 720px) {
    .maintenance-command-header { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 17px; }
    .maintenance-command-header h2 { font-size: 1.43rem; }
    .maintenance-header-actions { justify-content: space-between; width: 100%; }
    .maintenance-metrics { gap: 7px; }
    .maintenance-metric { min-height: 65px; gap: 7px; padding: 8px; }
    .maintenance-metric-icon { flex-basis: 27px; width: 27px; height: 27px; }
    .maintenance-metric-icon svg { width: 14px; height: 14px; }
    .maintenance-metric small { font-size: .57rem; }
    .maintenance-metric strong { font-size: .98rem; }
    .maintenance-metric > div > span { font-size: .53rem; }
    .maintenance-metric-arrow { display: none; }
    .maintenance-priority-panel { display: block; }
    .maintenance-agenda-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .maintenance-agenda-table { display: block; min-width: 0; }
    .maintenance-agenda-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .maintenance-agenda-table tbody { display: grid; gap: 8px; padding: 8px; }
    .maintenance-agenda-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eaeb; border-radius: 4px; }
    .maintenance-agenda-table td { display: grid; grid-template-columns: minmax(85px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .68rem; }
    .maintenance-agenda-table td::before { content: attr(data-label); color: #758389; font-size: .62rem; font-weight: 700; }
    .maintenance-agenda-table td:last-child { border-bottom: 0; }
    .maintenance-empty { display: block !important; text-align: center !important; }
    .maintenance-empty::before { content: none !important; }
}
@media (max-width: 440px) {
    .maintenance-header-actions { align-items: stretch; flex-direction: column; }
    .maintenance-secondary-action { text-align: center; }
    .maintenance-primary-action { justify-content: space-between; }
    .maintenance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.returns-page { --return-ink: #29363a; --return-muted: #758187; --return-line: #dfe6e7; --return-teal: #176b73; --return-amber: #b77d32; --return-red: #a44d43; min-width: 0; color: var(--return-ink); }
.returns-hero { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 146px; margin-bottom: 14px; padding: 23px 28px; border-radius: 7px; background: #263b42; color: #fff; }
.returns-hero > div:first-child { min-width: 0; }
.returns-kicker { color: #b9cbd0; font-size: .64rem; font-weight: 700; }
.returns-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d2a35e; }
.returns-hero h2 { margin: 8px 0 4px; color: #fff; font-size: 1.62rem; }
.returns-hero p { max-width: 585px; margin: 0; color: #c5d1d4; font-size: .81rem; line-height: 1.55; }
.returns-hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex: 0 0 auto; }
.returns-history-link { color: #c7d4d6; font-size: .68rem; font-weight: 600; }
.returns-history-link:hover { color: #fff; text-decoration: underline; }
.returns-primary-action { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 8px 11px; border-radius: 4px; background: #b77d32; color: #fff; font-size: .68rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.returns-primary-action:hover { transform: translateY(-1px); background: #9d6929; }
.returns-primary-action span { font-size: .9rem; }
.returns-alert { margin: 0 0 12px; }
.returns-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.returns-metric { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 72px; padding: 10px 12px; border: 1px solid var(--return-line); border-radius: 5px; background: #fff; transition: transform .15s ease, border-color .15s ease; }
.returns-metric:hover { transform: translateY(-2px); border-color: #c2d0d1; }
.returns-metric-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 5px; background: #edf1f1; color: #536a6d; }
.returns-metric-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-units .returns-metric-icon { background: #e9f1f1; color: #317178; }
.metric-due-soon .returns-metric-icon { background: #f6f0e5; color: #a47630; }
.metric-overdue .returns-metric-icon { background: #f7eae8; color: var(--return-red); }
.returns-metric small, .returns-metric strong, .returns-metric div > span { display: block; }
.returns-metric small { color: #758188; font-size: .64rem; }
.returns-metric strong { margin-top: 2px; color: var(--return-ink); font-size: 1.1rem; }
.returns-metric div > span { margin-top: 1px; color: #899398; font-size: .57rem; }
.returns-queue-panel { overflow: hidden; border: 1px solid var(--return-line); border-radius: 5px; background: #fff; }
.returns-queue-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #e9edef; }
.returns-queue-heading > div > span { color: #7a878d; font-size: .58rem; font-weight: 700; }
.returns-queue-heading h3 { margin: 3px 0 2px; color: #2e4046; font-size: .93rem; }
.returns-queue-heading p { margin: 0; color: #7c888e; font-size: .63rem; }
.returns-total-count { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--return-line); border-radius: 4px; color: #68767c; font-size: .63rem; }
.returns-total-count strong { color: var(--return-teal); }
.returns-tools { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-bottom: 1px solid #edf0f1; }
.returns-search { position: relative; display: block; flex: 1; min-width: 160px; max-width: 380px; }
.returns-search > span:first-child { position: absolute; top: 50%; left: 9px; color: #77858a; font-size: 1.1rem; line-height: 1; transform: translateY(-54%); pointer-events: none; }
.returns-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.returns-search input, .returns-due-filter select { width: 100%; min-height: 35px; padding: 7px 9px; border: 1px solid #dfe5e6; border-radius: 4px; background: #fbfcfc; color: var(--return-ink); font: inherit; font-size: .67rem; }
.returns-search input { padding-left: 28px; }
.returns-search input:focus, .returns-due-filter select:focus { outline: 3px solid rgba(23, 107, 115, .13); border-color: #68a0a2; background: #fff; }
.returns-due-filter { width: 168px; }
.returns-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c9d5d7 transparent; scrollbar-width: thin; }
.returns-table-wrap:focus-visible { outline: 3px solid rgba(23, 107, 115, .18); outline-offset: -3px; }
.returns-table { width: 100%; min-width: 790px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.returns-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.returns-table th, .returns-table td { padding: 10px 9px; border-bottom: 1px solid #edf0f1; color: #5e6d72; text-align: left; vertical-align: middle; font-size: .66rem; overflow-wrap: anywhere; }
.returns-table th { background: #f4f7f7; color: #6e7d82; font-size: .58rem; font-weight: 700; white-space: nowrap; }
.returns-table th:nth-child(1) { width: 16%; }
.returns-table th:nth-child(2) { width: 23%; }
.returns-table th:nth-child(3) { width: 16%; }
.returns-table th:nth-child(4) { width: 13%; }
.returns-table th:nth-child(5) { width: 14%; }
.returns-table th:nth-child(6) { width: 18%; }
.returns-table tbody tr[data-return-row] { transition: background .14s ease; }
.returns-table tbody tr[data-return-row]:hover { background: #f8faf9; }
.returns-table tbody tr[hidden] { display: none !important; }
.returns-loan-number { color: #287781; font-size: .66rem; }
.returns-borrower { display: block; color: #34474c; font-size: .69rem; }
.returns-table td small { display: block; margin-top: 3px; color: #859196; font-size: .58rem; }
.returns-due-date { color: #59696f; }
.returns-due-date.is-overdue, .returns-due-date.is-overdue small { color: #a14e46; font-weight: 700; }
.returns-due-date.is-soon, .returns-due-date.is-soon small { color: #9a712f; font-weight: 700; }
.returns-outstanding { color: #33484e; font-size: .68rem; }
.returns-outstanding small { display: inline !important; color: #7f8c91 !important; font-size: .58rem !important; font-weight: 400; }
.returns-status-badge { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: .59rem; font-weight: 700; }
.returns-status-badge.is-active { background: #eaf2ec; color: #39734f; }
.returns-status-badge.is-due-soon { background: #f6f0e5; color: #967032; }
.returns-status-badge.is-overdue { background: #f7eae8; color: #a14e46; }
.returns-process-action { display: inline-flex; align-items: center; gap: 5px; color: #176b73; font-size: .64rem; font-weight: 700; white-space: nowrap; }
.returns-process-action:hover { color: #0d5056; text-decoration: underline; }
.returns-empty { padding: 25px 12px !important; color: #7d898e !important; text-align: center !important; }
.returns-pagination { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; padding: 8px 10px; border-top: 1px solid #e9edef; }
.returns-pagination:empty { display: none; }
.returns-pagination button { min-width: 28px; min-height: 28px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #596d72; font: inherit; font-size: .64rem; cursor: pointer; }
.returns-pagination button:hover { border-color: #d6e1e2; background: #f1f6f6; }
.returns-pagination button.is-current { border-color: var(--return-teal); background: var(--return-teal); color: #fff; }
.returns-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(23, 107, 115, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .returns-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .returns-hero { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 17px; }
    .returns-hero h2 { font-size: 1.43rem; }
    .returns-hero-actions { justify-content: space-between; width: 100%; }
    .returns-metrics { gap: 7px; }
    .returns-metric { min-height: 64px; padding: 8px; }
    .returns-metric-icon { flex-basis: 28px; width: 28px; height: 28px; }
    .returns-metric-icon svg { width: 15px; height: 15px; }
    .returns-metric small { font-size: .58rem; }
    .returns-metric strong { font-size: 1rem; }
    .returns-metric div > span { font-size: .54rem; }
    .returns-queue-heading { align-items: flex-start; padding: 11px; }
    .returns-tools { align-items: stretch; flex-direction: column; }
    .returns-search { flex: auto; width: 100%; max-width: none; }
    .returns-due-filter { width: 100%; }
    .returns-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .returns-table { display: block; min-width: 0; }
    .returns-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .returns-table tbody { display: grid; gap: 8px; padding: 8px; }
    .returns-table tbody tr[data-return-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eaeb; border-radius: 4px; }
    .returns-table tbody tr[data-return-row][hidden] { display: none !important; }
    .returns-table td { display: grid; grid-template-columns: minmax(94px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .69rem; }
    .returns-table td::before { content: attr(data-label); color: #758389; font-size: .63rem; font-weight: 700; }
    .returns-table td:last-child { border-bottom: 0; }
    .returns-empty { display: block !important; text-align: center !important; }
    .returns-empty::before { content: none !important; }
    .returns-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .returns-hero-actions { align-items: stretch; flex-direction: column-reverse; }
    .returns-history-link { text-align: center; }
    .returns-primary-action { justify-content: space-between; }
    .returns-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.loan-management-page { --loan-ink: #263746; --loan-muted: #74828c; --loan-line: #e0e6e9; --loan-blue: #087dce; --loan-deep: #183149; min-width: 0; color: var(--loan-ink); }
.loan-command-header { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 145px; margin-bottom: 14px; padding: 23px 28px; border: 1px solid #d9e1e4; border-left: 5px solid var(--loan-blue); border-radius: 7px; background: #eef3f5; }
.loan-command-header > div:first-child { min-width: 0; }
.loan-kicker { color: #337fa9; font-size: .65rem; font-weight: 700; }
.loan-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #c18c49; }
.loan-command-header h2 { margin: 8px 0 4px; color: var(--loan-deep); font-size: 1.65rem; }
.loan-command-header p { max-width: 570px; margin: 0; color: #71808a; font-size: .82rem; line-height: 1.55; }
.loan-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex: 0 0 auto; }
.loan-history-link { color: #587080; font-size: .7rem; font-weight: 600; }
.loan-history-link:hover { color: var(--loan-blue); text-decoration: underline; }
.loan-history-link span { margin-left: 3px; }
.loan-create-button { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 40px; margin: 0; padding: 8px 12px; border-radius: 5px; background: var(--loan-blue); font-size: .7rem; letter-spacing: 0; }
.loan-create-button:hover { background: #0769ae; }
.loan-create-button span { font-size: 1rem; }
.loan-alert { margin: 0 0 12px; }
.loan-create-page { --loan-create-ink: #253a3d; --loan-create-muted: #788784; --loan-create-line: #dfe8e5; --loan-create-teal: #217675; --loan-create-coral: #ad594a; display: grid; gap: 14px; min-width: 0; color: var(--loan-create-ink); }
.loan-create-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 139px; padding: 22px 26px; border: 1px solid #24474a; border-left: 5px solid #c8755e; border-radius: 6px; background: linear-gradient(112deg, #23464a, #315d58); color: #fff; }
.loan-create-hero > div { min-width: 0; }
.loan-create-kicker { display: flex; align-items: center; gap: 8px; color: #bfd2cb; font-size: .61rem; font-weight: 800; }
.loan-create-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #d78970; }
.loan-create-kicker b { color: #86a49b; }
.loan-create-hero h2 { margin: 9px 0 5px; color: #fff; font-size: 1.55rem; }
.loan-create-hero p { max-width: 580px; margin: 0; color: #c4d5cf; font-size: .75rem; line-height: 1.55; }
.loan-create-back { flex: 0 0 auto; color: #d5e2dc; font-size: .66rem; font-weight: 700; }
.loan-create-back:hover { color: #fff; text-decoration: underline; }
.loan-create-back span { margin-left: 4px; color: #dfa184; }
.loan-create-alert { margin: 0; }
.loan-create-form { display: grid; gap: 13px; min-width: 0; margin: 0; }
.loan-create-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 13px; align-items: start; }
.loan-create-main, .loan-create-assets { display: grid; gap: 12px; min-width: 0; }
.loan-create-section { min-width: 0; padding: 16px; border: 1px solid var(--loan-create-line); border-radius: 5px; background: #fff; }
.loan-create-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #eaf0ee; }
.loan-create-section-heading > span { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border: 1px solid #d6e7df; border-radius: 4px; background: #eef6f1; color: #397968; font-size: .58rem; font-weight: 800; }
.loan-create-section-heading small, .loan-selected-heading small { display: block; color: #83918d; font-size: .51rem; font-weight: 800; }
.loan-create-section-heading h3, .loan-selected-heading h3 { margin: 3px 0 0; color: #30494a; font-size: .88rem; }
.loan-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 10px; }
.loan-create-fields label, .loan-asset-select-label, .loan-qr-search label { display: grid; gap: 5px; min-width: 0; color: #566d69; font-size: .61rem; font-weight: 700; }
.loan-create-fields label i { color: #ae5d4e; font-style: normal; }
.loan-create-fields .loan-field-wide { grid-column: 1 / -1; }
.loan-create-fields input, .loan-create-fields textarea, .loan-asset-select-label select, .loan-qr-search input { width: 100%; min-width: 0; min-height: 38px; padding: 8px 9px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; color: #304745; font: inherit; font-size: .66rem; font-weight: 400; }
.loan-create-fields textarea { min-height: 74px; resize: vertical; }
.loan-create-fields :is(input, textarea):focus, .loan-asset-select-label select:focus, .loan-qr-search input:focus { outline: 3px solid rgba(33,118,117,.12); border-color: #7eaaa0; background: #fff; }
.loan-create-fields input::placeholder, .loan-create-fields textarea::placeholder, .loan-qr-search input::placeholder { color: #9aa7a3; }
.loan-asset-picker { display: grid; gap: 13px; }
.loan-asset-picker .loan-create-section-heading { margin-bottom: 0; }
.loan-asset-select-label select { appearance: auto; }
.loan-qr-search { display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid #edf1ef; }
.loan-qr-search label { display: block; }
.loan-qr-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.loan-qr-search-row .loan-qr-search-button { min-height: 38px; padding: 7px 13px; border: 0; border-radius: 4px; background: var(--loan-create-teal); color: #fff; font: inherit; font-size: .65rem; font-weight: 800; cursor: pointer; transition: background .14s ease, transform .14s ease; }
.loan-qr-search-row .loan-qr-search-button:hover { transform: translateY(-1px); background: #185f60; }
.loan-selected-section { padding: 0; overflow: hidden; }
.loan-selected-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 15px; border-bottom: 1px solid #eaf0ee; background: #f8faf9; }
.loan-selected-heading > span { color: #768681; font-size: .57rem; white-space: nowrap; }
.loan-selected-heading > span strong { color: #327568; }
.selected-items-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
.loan-selected-table { width: 100%; min-width: 520px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.loan-selected-table th, .loan-selected-table td { padding: 9px 8px; border-bottom: 1px solid #edf1ef; color: #596b68; text-align: left; vertical-align: middle; font-size: .6rem; overflow-wrap: anywhere; }
.loan-selected-table th { background: #fff; color: #7a8985; font-size: .51rem; font-weight: 800; }
.loan-selected-table th:nth-child(1) { width: 19%; }
.loan-selected-table th:nth-child(2) { width: 25%; }
.loan-selected-table th:nth-child(3) { width: 22%; }
.loan-selected-table th:nth-child(4) { width: 17%; }
.loan-selected-table th:nth-child(5) { width: 17%; }
.loan-selected-table td strong { color: #354e4a; }
.loan-selected-table td input[type="number"] { width: 66px; min-height: 32px; padding: 5px 6px; border: 1px solid #dce6e2; border-radius: 4px; font: inherit; font-size: .64rem; }
.loan-selected-table td input[type="number"]:focus { outline: 3px solid rgba(33,118,117,.12); border-color: #7eaaa0; }
.loan-remove-item { min-height: 29px; padding: 5px 7px; border: 1px solid #ecd9d4; border-radius: 4px; background: #fff; color: #9a574b; font: inherit; font-size: .58rem; font-weight: 700; cursor: pointer; }
.loan-remove-item:hover { border-color: #d8b8b0; background: #fcf2ef; }
.loan-selected-empty { padding: 25px 14px !important; color: #83918c !important; text-align: center !important; font-size: .63rem !important; line-height: 1.5; }
.loan-create-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #dfe8e4; border-radius: 5px; background: #f7faf8; }
.loan-create-footer > p { margin: 0; color: #82908b; font-size: .57rem; }
.loan-create-footer > p i { color: #ad594a; font-style: normal; }
.loan-create-footer > div { display: flex; align-items: center; gap: 12px; }
.loan-create-footer > div > a { color: #6e7d78; font-size: .65rem; font-weight: 700; }
.loan-create-footer > div > a:hover { color: #a25349; text-decoration: underline; }
.loan-create-footer button { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 180px; min-height: 39px; padding: 8px 12px; border: 0; border-radius: 4px; background: var(--loan-create-teal); color: #fff; font: inherit; font-size: .66rem; font-weight: 800; cursor: pointer; transition: transform .14s ease, background .14s ease; }
.loan-create-footer button:hover { transform: translateY(-1px); background: #185f60; }
.loan-create-footer button span { color: #e5b097; }
.loan-create-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(33,118,117,.2); outline-offset: 2px; }
@media (max-width: 960px) {
    .loan-create-layout { grid-template-columns: minmax(0, 1fr); }
    .loan-create-assets { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
    .loan-create-page { gap: 11px; }
    .loan-create-hero { align-items: flex-start; flex-direction: column; gap: 10px; min-height: 0; padding: 19px 17px; }
    .loan-create-hero h2 { font-size: 1.38rem; }
    .loan-create-hero p { font-size: .7rem; }
    .loan-create-back { align-self: flex-end; }
    .loan-create-layout, .loan-create-main, .loan-create-assets { gap: 9px; }
    .loan-create-section { padding: 13px; }
    .loan-create-fields { gap: 10px 8px; }
    .loan-selected-heading { padding: 11px; }
    .selected-items-wrap { overflow: visible; }
    .loan-selected-table, .loan-selected-table tbody { display: block; min-width: 0; }
    .loan-selected-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .loan-selected-table tbody { display: grid; gap: 7px; padding: 8px; }
    .loan-selected-table tbody tr:not(#emptyItemRow) { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e4ebe7; border-radius: 4px; }
    .loan-selected-table td { display: grid; grid-template-columns: minmax(82px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #eef2f0; }
    .loan-selected-table td::before { color: #788986; content: attr(data-label); font-size: .56rem; font-weight: 700; }
    .loan-selected-table td:last-child { border-bottom: 0; }
    .loan-selected-table tr#emptyItemRow td { display: block; padding: 16px 9px !important; border: 0; text-align: center; }
    .loan-selected-table tr#emptyItemRow td::before { content: none; }
    .loan-selected-table td input[type="number"] { width: 78px; }
    .loan-create-footer { align-items: stretch; flex-direction: column; padding: 11px; }
    .loan-create-footer > div { justify-content: flex-end; }
}
@media (max-width: 440px) {
    .loan-create-fields { grid-template-columns: minmax(0, 1fr); }
    .loan-create-fields .loan-field-wide { grid-column: 1; }
    .loan-create-section-heading h3 { font-size: .82rem; }
    .loan-qr-search-row { grid-template-columns: minmax(0, 1fr) auto; }
    .loan-create-footer > div { justify-content: space-between; }
    .loan-create-footer button { flex: 1; min-width: 0; }
}
.loan-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.loan-summary-card { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 70px; padding: 10px 12px; border: 1px solid var(--loan-line); border-radius: 6px; background: #fff; transition: transform .15s ease, border-color .15s ease; }
.loan-summary-card:hover { transform: translateY(-2px); border-color: #c2d1d8; }
.loan-summary-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 5px; background: #edf1f3; color: #4f6774; }
.loan-summary-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.loan-summary-active { background: #e9f2ed; color: #397451; }
.loan-summary-overdue { background: #f7eae8; color: #a14e46; }
.loan-summary-outstanding { background: #f5f0e6; color: #98753c; }
.loan-summary-card small, .loan-summary-card strong { display: block; }
.loan-summary-card small { color: #77848d; font-size: .65rem; }
.loan-summary-card strong { margin-top: 2px; color: var(--loan-ink); font-size: 1.1rem; }
.loan-filter-panel { display: grid; gap: 11px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid var(--loan-line); border-radius: 6px; background: #fff; }
.loan-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.loan-filter-heading > div { display: flex; align-items: center; gap: 9px; }
.loan-filter-heading > div > span { color: #76838b; font-size: .59rem; font-weight: 700; }
.loan-filter-heading strong { color: #354a59; font-size: .75rem; }
.loan-filter-heading > a { color: #6d7d86; font-size: .67rem; font-weight: 600; }
.loan-filter-heading > a:hover { color: var(--loan-blue); text-decoration: underline; }
.loan-filter-fields { display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(3, minmax(130px, .8fr)) auto; gap: 9px; align-items: end; }
.loan-filter-fields label { display: grid; gap: 5px; min-width: 0; color: #65747d; font-size: .65rem; font-weight: 600; }
.loan-filter-fields input, .loan-filter-fields select { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #dce3e7; border-radius: 4px; background: #fbfcfc; color: var(--loan-ink); font: inherit; font-size: .69rem; }
.loan-filter-fields input:focus, .loan-filter-fields select:focus { outline: 3px solid rgba(8, 125, 206, .12); border-color: #66a2c6; background: #fff; }
.loan-filter-submit { display: inline-flex; align-items: center; gap: 7px; width: auto; min-height: 36px; margin: 0; padding: 7px 11px; border-radius: 4px; background: var(--loan-blue); font-size: .67rem; letter-spacing: 0; white-space: nowrap; }
.loan-filter-submit:hover { background: #0769ae; }
.loan-list-panel { overflow: hidden; border: 1px solid var(--loan-line); border-radius: 6px; background: #fff; }
.loan-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #e9edef; }
.loan-list-heading > div > span { color: #74828a; font-size: .59rem; font-weight: 700; }
.loan-list-heading h3 { margin: 3px 0 0; color: #2a3d4a; font-size: .94rem; }
.loan-list-heading > p { margin: 0; color: #75828b; font-size: .67rem; }
.loan-list-heading > p strong { color: var(--loan-blue); }
.loan-table-wrap { max-width: 100%; overflow-x: auto; scrollbar-color: #c7d2d7 transparent; scrollbar-width: thin; }
.loan-table-wrap:focus-visible { outline: 3px solid rgba(8, 125, 206, .2); outline-offset: -3px; }
.loan-table { width: 100%; min-width: 940px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.loan-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.loan-table th, .loan-table td { padding: 10px 9px; border-bottom: 1px solid #edf0f1; color: #596871; text-align: left; vertical-align: middle; font-size: .67rem; overflow-wrap: anywhere; }
.loan-table th { background: #f4f7f8; color: #6d7b83; font-size: .59rem; font-weight: 700; white-space: nowrap; }
.loan-table th:nth-child(1) { width: 13%; }
.loan-table th:nth-child(2) { width: 17%; }
.loan-table th:nth-child(3) { width: 12%; }
.loan-table th:nth-child(4), .loan-table th:nth-child(5) { width: 12%; }
.loan-table th:nth-child(6), .loan-table th:nth-child(7) { width: 8%; }
.loan-table th:nth-child(8) { width: 11%; }
.loan-table th:nth-child(9) { width: 7%; }
.loan-table tbody tr[data-loan-row] { transition: background .13s ease; }
.loan-table tbody tr[data-loan-row]:hover { background: #f8fafb; }
.loan-table tbody tr[hidden] { display: none !important; }
.loan-number { color: #276d96; font-size: .67rem; }
.loan-borrower { display: block; color: #2d414d; font-size: .7rem; }
.loan-table td small { display: block; margin-top: 3px; color: #869198; font-size: .6rem; }
.loan-due-date { display: grid; gap: 2px; color: #56656d; }
.loan-due-date.is-overdue { color: #9e4941; font-weight: 700; }
.loan-due-date small { color: #a24e46; font-size: .57rem; }
.loan-status-badge { display: inline-flex; max-width: 100%; padding: 4px 7px; border-radius: 4px; font-size: .6rem; font-weight: 700; line-height: 1.25; }
.loan-status-badge.is-active { background: #e8f2ec; color: #36734f; }
.loan-status-badge.is-partial { background: #f5f0e5; color: #947038; }
.loan-status-badge.is-completed { background: #edf1f3; color: #536975; }
.loan-status-badge.is-cancelled { background: #f7eae8; color: #9a5048; }
.loan-detail-action { display: inline-flex; align-items: center; gap: 5px; color: #1475ad; font-size: .66rem; font-weight: 700; white-space: nowrap; }
.loan-detail-action:hover { color: #084f7a; text-decoration: underline; }
.loan-empty-row { padding: 28px 14px !important; color: #76838b !important; text-align: center !important; }
.loan-pagination { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; padding: 9px 11px; border-top: 1px solid #e9edef; }
.loan-pagination:empty { display: none; }
.loan-pagination button { min-width: 29px; min-height: 29px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #586b76; font: inherit; font-size: .66rem; cursor: pointer; }
.loan-pagination button:hover { border-color: #d7e0e4; background: #f2f6f7; }
.loan-pagination button.is-current { border-color: var(--loan-blue); background: var(--loan-blue); color: #fff; }
.loan-management-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(8, 125, 206, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .loan-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .loan-search-field { grid-column: 1 / -1; }
    .loan-filter-submit { justify-self: start; }
}
@media (max-width: 720px) {
    .loan-command-header { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 17px; }
    .loan-command-header h2 { font-size: 1.45rem; }
    .loan-header-actions { justify-content: space-between; width: 100%; }
    .loan-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .loan-summary-card { min-height: 62px; padding: 8px; }
    .loan-filter-panel { padding: 12px; }
    .loan-list-heading { padding: 11px 12px; }
    .loan-table-wrap { overflow: visible; border-top: 1px solid #edf0f1; }
    .loan-table { display: block; min-width: 0; }
    .loan-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .loan-table tbody { display: grid; gap: 8px; padding: 8px; }
    .loan-table tbody tr[data-loan-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e4e9eb; border-radius: 5px; }
    .loan-table tbody tr[data-loan-row]:hover { background: #f8fafb; }
    .loan-table tbody tr[data-loan-row][hidden] { display: none !important; }
    .loan-table td { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0f1; font-size: .7rem; }
    .loan-table td::before { content: attr(data-label); color: #74828a; font-size: .64rem; font-weight: 700; }
    .loan-table td:last-child { border-bottom: 0; }
    .loan-empty-row { display: block !important; text-align: center !important; }
    .loan-empty-row::before { content: none !important; }
    .loan-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .loan-header-actions { align-items: stretch; flex-direction: column-reverse; }
    .loan-history-link { text-align: center; }
    .loan-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .loan-search-field { grid-column: auto; }
    .loan-filter-submit { width: 100%; justify-content: space-between; }
}
.asset-barcode-page { --barcode-ink: #263238; --barcode-muted: #778187; --barcode-line: #dfe5e7; --barcode-accent: #a87937; --barcode-red: #9b1b1b; min-width: 0; }
.barcode-command-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 146px; margin-bottom: 14px; padding: 24px 28px; border: 1px solid #364347; border-left: 5px solid var(--barcode-accent); border-radius: 7px; background: #263238; color: #fff; }
.barcode-command-header > div:first-child { min-width: 0; }
.barcode-kicker { color: #d8bd91; font-size: .65rem; font-weight: 700; }
.barcode-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d19a5b; }
.barcode-command-header h2 { margin: 8px 0 4px; color: #fff; font-size: 1.65rem; }
.barcode-command-header p { max-width: 590px; margin: 0; color: #cad2d4; font-size: .83rem; line-height: 1.55; }
.barcode-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex: 0 0 auto; }
.barcode-back-link { color: #d6dfe0; font-size: .72rem; font-weight: 600; }
.barcode-back-link:hover { color: #fff; text-decoration: underline; }
.barcode-print-button { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 41px; margin: 0; padding: 9px 13px; border: 0; border-radius: 5px; background: #a87937; color: #fff; font-family: inherit; font-size: .71rem; font-weight: 700; letter-spacing: 0; cursor: pointer; }
.barcode-print-button:hover { background: #8f672e; }
.barcode-print-button span { font-size: .9rem; }
.barcode-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 20px; }
.barcode-summary-item { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 73px; padding: 11px 13px; border: 1px solid var(--barcode-line); border-radius: 6px; background: #fff; transition: transform .15s ease, border-color .15s ease; }
.barcode-summary-item:hover { transform: translateY(-2px); border-color: #c4d0d3; }
.barcode-summary-mark { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 5px; background: #edf1f2; color: #53656a; }
.barcode-summary-mark svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.barcode-summary .mark-ready { background: #eaf2ec; color: #39744f; }
.barcode-summary .mark-loaned { background: #f5f0e6; color: #9a7434; }
.barcode-summary .mark-missing { background: #f7eae8; color: #a54e46; }
.barcode-summary-item small, .barcode-summary-item strong { display: block; }
.barcode-summary-item small { color: #778187; font-size: .66rem; }
.barcode-summary-item strong { margin-top: 2px; color: var(--barcode-ink); font-size: 1.13rem; }
.barcode-list-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 2px 1px 11px; }
.barcode-section-kicker { color: #8c7045; font-size: .62rem; font-weight: 700; }
.barcode-list-heading h3 { margin: 3px 0 0; color: var(--barcode-ink); font-size: 1rem; }
.barcode-list-heading > span { color: var(--barcode-muted); font-size: .68rem; }
.barcode-selection-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 7px; }
.barcode-selection-controls > span { margin-right: 3px; color: #778187; font-size: .68rem; }
.barcode-selection-controls > span strong { color: #40564f; }
.barcode-selection-controls button { min-height: 32px; padding: 6px 9px; border: 1px solid #dce4e2; border-radius: 5px; background: #fff; color: #52645f; font: inherit; font-size: .66rem; font-weight: 700; cursor: pointer; }
.barcode-selection-controls button:hover { border-color: #a9c0b7; background: #f5f9f7; color: #286352; }
.barcode-label-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.barcode-label-card { display: grid; align-content: start; min-width: 0; min-height: 200px; padding: 14px 15px 12px; border: 1px solid #d8dfe1; border-top: 3px solid #a87937; border-radius: 6px; background: #fff; box-shadow: 0 3px 12px rgba(37, 54, 59, .035); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.barcode-label-card:hover { transform: translateY(-2px); border-color: #bcc9cb; box-shadow: 0 7px 18px rgba(37, 54, 59, .08); }
.barcode-label-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 11px; }
.barcode-label-select { display: inline-flex; align-items: center; gap: 5px; color: #71807d; font-size: .62rem; font-weight: 600; cursor: pointer; }
.barcode-label-select input { width: 15px; height: 15px; margin: 0; accent-color: #28796e; cursor: pointer; }
.barcode-brand { display: inline-flex; align-items: center; gap: 5px; color: #5f6d71; font-size: .56rem; font-weight: 800; white-space: nowrap; }
.barcode-brand img { display: block; width: auto; height: 16px; }
.barcode-brand i { display: inline-block; width: 3px; height: 3px; margin: 0 4px 2px; border-radius: 50%; background: var(--barcode-accent); }
.barcode-status { max-width: 54%; padding: 3px 6px; overflow: hidden; border-radius: 3px; font-size: .57rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.barcode-status.is-ready { background: #eaf2ec; color: #39744f; }
.barcode-status.is-loaned { background: #f5f0e6; color: #927034; }
.barcode-status.is-repair { background: #f2eef0; color: #725d69; }
.barcode-status.is-inactive { background: #f7eae8; color: #9c514a; }
.barcode-asset-name { min-height: 2.6em; color: #28363a; font-size: .88rem; line-height: 1.3; overflow-wrap: anywhere; }
.barcode-asset-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; color: #778286; font-size: .62rem; }
.barcode-asset-meta span { min-width: 0; overflow-wrap: anywhere; }
.barcode-label-content { display: grid; grid-template-columns: 124px minmax(0, 1fr); align-items: center; gap: 13px; min-width: 0; }
.barcode-label-info { min-width: 0; }
.barcode-label-info .barcode-asset-name { display: block; min-height: 0; }
.barcode-label-content .barcode-asset-meta { display: grid; gap: 4px; }
.barcode-visual { display: grid; place-items: center; min-height: 124px; margin: 0; padding: 4px; overflow: hidden; background: #fff; }
.qr-code-canvas { display: grid; place-items: center; width: 116px; height: 116px; }
.qr-code-canvas canvas, .qr-code-canvas img { display: block; width: 116px !important; height: 116px !important; image-rendering: pixelated; }
.barcode-missing-message { align-self: center; color: #9a6159; font-size: .63rem; }
.barcode-label-code-row { display: flex; justify-content: flex-start; align-items: baseline; gap: 8px; margin-top: 8px; padding-top: 7px; border-top: 1px solid #edf0f0; }
.barcode-label-number { color: #263238; font-size: .68rem; font-weight: 800; overflow-wrap: anywhere; }
.barcode-empty-state { display: grid; justify-items: center; padding: 42px 20px; border: 1px dashed #d4dfe0; border-radius: 6px; background: #fafbfb; text-align: center; }
.barcode-empty-state > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #edf1f2; color: #62747a; }
.barcode-empty-state svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.7; }
.barcode-empty-state h3 { margin: 12px 0 4px; color: var(--barcode-ink); font-size: .95rem; }
.barcode-empty-state p { max-width: 340px; margin: 0; color: var(--barcode-muted); font-size: .72rem; line-height: 1.5; }
.barcode-empty-state a { margin-top: 12px; color: var(--barcode-red); font-size: .72rem; font-weight: 700; }
.asset-barcode-page :is(a, button):focus-visible { outline: 3px solid rgba(168, 121, 55, .24); outline-offset: 2px; }
@media (max-width: 1100px) {
    .barcode-label-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .barcode-label-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .barcode-command-header { align-items: flex-start; flex-direction: column; gap: 16px; padding: 21px 18px; }
    .barcode-command-header h2 { font-size: 1.45rem; }
    .barcode-header-actions { justify-content: space-between; width: 100%; }
    .barcode-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .barcode-summary-item { min-height: 64px; padding: 9px; }
    .barcode-label-grid { gap: 8px; }
    .barcode-label-card { padding: 11px; }
}
@media (max-width: 440px) {
    .barcode-label-grid { grid-template-columns: minmax(0, 1fr); }
}
@media print {
    @page asset-qr-labels { size: A4 portrait; margin: 5mm; }
    .asset-barcode-page { page: asset-qr-labels; }
    body:has(.asset-barcode-page) { background: #fff; }
    body:has(.asset-barcode-page) .sidebar, body:has(.asset-barcode-page) .topbar, body:has(.asset-barcode-page) .overlay { display: none !important; }
    body:has(.asset-barcode-page) .main, body:has(.asset-barcode-page) .content { width: 100%; margin: 0; padding: 0; }
    .asset-barcode-page { color: #000; }
    .barcode-command-header, .barcode-summary, .barcode-list-heading, .barcode-label-select, .barcode-selection-controls { display: none !important; }
    .barcode-label-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2mm; align-items: stretch; }
    .barcode-label-card { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 31mm; min-height: 0; padding: 1.5mm; border: .25mm solid #89918e; border-top: .7mm solid #526c62; border-radius: 1mm; box-shadow: none; break-inside: avoid; page-break-inside: avoid; overflow: hidden; }
    .barcode-label-card:hover { transform: none; }
    .barcode-label-top { min-height: 3mm; margin: 0 0 1mm; }
    .barcode-brand { gap: 1mm; font-size: 4.5pt; }
    .barcode-brand img { height: 3.5mm; }
    .barcode-label-content { grid-template-columns: 17mm minmax(0, 1fr); gap: 1mm; min-height: 0; }
    .barcode-visual { width: 17mm; min-height: 17mm; height: 17mm; padding: 0; }
    .qr-code-canvas, .qr-code-canvas canvas, .qr-code-canvas img { width: 17mm !important; height: 17mm !important; image-rendering: pixelated; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .barcode-label-info .barcode-asset-name { display: -webkit-box; overflow: hidden; color: #172621; font-size: 6pt; font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .barcode-label-content .barcode-asset-meta { display: grid; gap: .5mm; margin-top: 1mm; color: #4f5e58; font-size: 4.5pt; line-height: 1.1; }
    .barcode-label-content .barcode-asset-meta span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .barcode-label-code-row { align-self: end; min-height: 3mm; margin-top: .5mm; padding-top: .5mm; border-top: .2mm solid #c7ceca; }
    .barcode-label-number { color: #111; font-size: 6pt; line-height: 1.1; }
    .barcode-print-excluded { display: none !important; }
    .barcode-empty-state { border: 0; }
}
.approval-card { background: #fff8e6; border: 1px solid #e4c36a; border-left: 5px solid #8a5a12; border-radius: 12px; padding: 18px; margin-bottom: 20px; }
.approval-card .actions { margin-top: 12px; }
.approval-card .btn { width: auto; }
.reject-form { min-width: 280px; padding: 12px; margin-top: 8px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.timeline { background: #fff; border-radius: 16px; padding: 20px; box-shadow: var(--shadow); }
.timeline-item { border-left: 3px solid var(--red); padding: 0 0 16px 14px; margin: 12px 0; }
.timeline-item span { display: block; color: var(--muted); font-size: .8rem; margin-top: 4px; }
.timeline-item p { margin: 6px 0 0; color: var(--muted); }
.progress-card { background: #fff; border-radius: 16px; padding: 20px; box-shadow: var(--shadow); margin-top: 20px; }
.progress-card h3 { margin: 0; }
.progress-track { height: 12px; background: #ececec; border-radius: 999px; overflow: hidden; margin-top: 12px; }
.progress-track span { display: block; height: 100%; background: var(--red); border-radius: inherit; }
.signature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; margin-top: 60px; text-align: center; }
.dashboard-report-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; margin-top: 20px; }
.asset-import-page { --import-ink: #26322f; --import-muted: #75817b; --import-line: #e2e8e4; --import-green: #286352; --import-green-dark: #1e453b; --import-red: #9b1b1b; min-width: 0; }
.import-hero { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 148px; margin-bottom: 15px; padding: 24px 28px; border: 1px solid #dce7e1; border-radius: 8px; background: #eef4f0; }
.import-hero-copy { min-width: 0; }
.import-kicker { display: block; color: var(--import-green); font-size: .66rem; font-weight: 700; }
.import-kicker i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #c57b61; }
.import-hero h2 { margin: 8px 0 4px; color: var(--import-ink); font-size: 1.7rem; }
.import-hero p { max-width: 590px; margin: 0; color: #718079; font-size: .84rem; line-height: 1.55; }
.import-hero-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 9px; }
.import-template-link, .import-assets-link { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 8px 11px; border: 1px solid #d3dfd8; border-radius: 5px; background: #fff; color: #39574b; font-size: .72rem; font-weight: 700; transition: background .15s ease, border-color .15s ease; }
.import-template-link:hover, .import-assets-link:hover { border-color: #9bb7a7; background: #f8fbf8; }
.import-template-link > span { color: var(--import-green); font-size: 1rem; }
.import-assets-link { border-color: transparent; background: transparent; color: #64736b; }
.import-alert { margin: 0 0 13px; }
.import-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(275px, .75fr); gap: 14px; align-items: start; }
.import-upload-column, .import-guide-panel, .import-preview-panel { min-width: 0; border: 1px solid var(--import-line); border-radius: 7px; background: #fff; }
.import-upload-column { padding: 21px; }
.import-step-heading { display: flex; align-items: center; gap: 11px; }
.import-step-number { display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; border-radius: 5px; background: var(--import-green); color: #fff; font-size: .76rem; font-weight: 700; }
.import-section-kicker { display: block; color: #748078; font-size: .61rem; font-weight: 700; }
.import-step-heading h3, .import-guide-panel h3 { margin: 3px 0 0; color: var(--import-ink); font-size: 1.05rem; }
.import-intro { margin: 14px 0 16px; color: var(--import-muted); font-size: .77rem; line-height: 1.55; }
.import-upload-form { display: grid; gap: 13px; }
.import-dropzone { position: relative; display: grid; justify-items: center; gap: 7px; min-height: 220px; padding: 23px 15px; overflow: hidden; border: 1px dashed #a8bdb0; border-radius: 6px; background: #f7faf7; color: var(--import-ink); text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.import-dropzone:hover, .import-dropzone:focus-within { border-color: var(--import-green); background: #f0f7f2; }
.import-upload-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 3px; border-radius: 50%; background: #e6f0e9; color: var(--import-green); }
.import-upload-icon svg { width: 24px; height: 24px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.import-dropzone strong, .import-dropzone > span:not(.import-upload-icon) { max-width: 100%; overflow-wrap: anywhere; }
.import-dropzone strong { color: var(--import-ink); font-size: .86rem; }
.import-dropzone > span:not(.import-upload-icon) { color: #79857e; font-size: .72rem; }
.import-dropzone small { display: inline-flex; align-items: center; gap: 7px; color: #6f7f75; font-size: .65rem; }
.import-dropzone small i { width: 3px; height: 3px; border-radius: 50%; background: #c57b61; }
.import-dropzone input { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; opacity: 0; cursor: pointer; }
.import-upload-note { display: flex; align-items: flex-start; gap: 9px; padding: 10px 11px; border: 1px solid #e5e9e6; border-radius: 5px; background: #fafbfa; }
.import-upload-note > span { display: grid; place-items: center; flex: 0 0 17px; width: 17px; height: 17px; border-radius: 50%; background: #e9efeb; color: #4e695b; font-size: .68rem; font-weight: 700; }
.import-upload-note p { margin: 0; color: #76817b; font-size: .67rem; line-height: 1.45; }
.import-preview-button { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 42px; margin: 0; padding: 9px 12px; border-radius: 5px; background: var(--import-green); font-size: .73rem; letter-spacing: 0; transition: background .15s ease, transform .15s ease; }
.import-preview-button:hover { transform: translateY(-1px); background: var(--import-green-dark); }
.import-preview-button span { font-size: .95rem; }
.import-guide-panel { padding: 20px; border-top: 3px solid #c57b61; background: #f8f8f5; }
.import-guide-kicker { color: #8a6758; font-size: .62rem; font-weight: 700; }
.import-guide-panel h3 { margin-top: 5px; }
.import-steps-list { display: grid; gap: 15px; margin: 19px 0; padding: 0; list-style: none; }
.import-steps-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; align-items: start; }
.import-steps-list li > span { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #d9e2dc; border-radius: 50%; color: var(--import-green); font-size: .65rem; font-weight: 700; }
.import-steps-list strong, .import-steps-list small { display: block; }
.import-steps-list strong { color: #3d4c44; font-size: .72rem; }
.import-steps-list small { margin-top: 3px; color: #7c8780; font-size: .65rem; line-height: 1.45; }
.import-guide-download { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid #e3e7e2; border-bottom: 1px solid #e3e7e2; color: var(--import-green); font-size: .71rem; font-weight: 700; }
.import-guide-download:hover { color: var(--import-green-dark); }
.import-guide-download span { font-size: .95rem; }
.import-columns { margin-top: 15px; }
.import-columns strong { color: #58665e; font-size: .65rem; }
.import-columns p { margin: 6px 0 0; color: #808a84; font-size: .63rem; line-height: 1.6; overflow-wrap: anywhere; }
.import-preview-page { display: grid; gap: 13px; }
.import-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 4px 1px; }
.import-section-heading h3 { margin: 4px 0 3px; color: var(--import-ink); font-size: 1.13rem; }
.import-section-heading p { margin: 0; color: var(--import-muted); font-size: .74rem; line-height: 1.5; }
.import-change-file { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 35px; padding: 7px 10px; border: 1px solid #dfe6e1; border-radius: 5px; background: #fff; color: #506257; font-size: .69rem; font-weight: 700; }
.import-change-file:hover { border-color: #a8bdb0; background: #f7faf7; }
.import-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.import-summary { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; min-width: 0; min-height: 75px; padding: 11px; border: 1px solid var(--import-line); border-radius: 6px; background: #fff; }
.import-summary-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 5px; background: #eef1ee; color: #58685d; }
.import-summary-icon svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.import-summary-valid .import-summary-icon { background: #e9f3ec; color: #38734f; }
.import-summary-invalid .import-summary-icon { background: #fbf0e3; color: #9d6829; }
.import-summary-duplicate .import-summary-icon { background: #f7eae8; color: #a64d45; }
.import-summary small { display: block; color: #77827b; font-size: .65rem; }
.import-summary strong { display: block; margin-top: 2px; color: var(--import-ink); font-size: 1.12rem; }
.import-preview-panel { overflow: hidden; }
.import-preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 13px; padding: 14px 15px; border-bottom: 1px solid #e8ece9; }
.import-preview-heading h3 { margin: 0; color: var(--import-ink); font-size: .91rem; }
.import-preview-heading p { margin: 3px 0 0; color: #7d8781; font-size: .65rem; }
.import-preview-heading p strong { color: var(--import-green); }
.import-preview-tools { display: flex; align-items: center; gap: 7px; }
.import-search-field { position: relative; display: block; width: min(260px, 30vw); }
.import-search-field > span:first-child { position: absolute; top: 50%; left: 9px; color: #77837b; font-size: 1.1rem; line-height: 1; transform: translateY(-55%); pointer-events: none; }
.import-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.import-search-field input, .import-status-filter select { width: 100%; min-width: 0; min-height: 35px; padding: 7px 9px; border: 1px solid #dfe5e1; border-radius: 4px; background: #fff; color: var(--import-ink); font: inherit; font-size: .68rem; }
.import-search-field input { padding-left: 28px; }
.import-search-field input:focus, .import-status-filter select:focus { outline: 3px solid rgba(40, 99, 82, .12); border-color: #78a18d; }
.import-status-filter select { width: 145px; }
.import-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c8d3cc transparent; scrollbar-width: thin; }
.import-table-wrap:focus-visible { outline: 3px solid rgba(40, 99, 82, .2); outline-offset: -3px; }
.import-preview-table { width: 100%; min-width: 760px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.import-preview-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.import-preview-table th, .import-preview-table td { padding: 10px 11px; border-bottom: 1px solid #edf0ed; color: #5e6962; text-align: left; vertical-align: middle; font-size: .68rem; line-height: 1.4; overflow-wrap: anywhere; }
.import-preview-table th { background: #f5f7f5; color: #707c74; font-size: .6rem; font-weight: 700; white-space: nowrap; }
.import-preview-table th:nth-child(1) { width: 8%; }
.import-preview-table th:nth-child(2) { width: 14%; }
.import-preview-table th:nth-child(3) { width: 21%; }
.import-preview-table th:nth-child(4) { width: 15%; }
.import-preview-table th:nth-child(5) { width: 15%; }
.import-preview-table th:nth-child(6) { width: 27%; }
.import-preview-table tbody tr[data-import-row] { transition: background .14s ease; }
.import-preview-table tbody tr[data-import-row]:hover { background: #f8faf8; }
.import-preview-table tbody tr[hidden] { display: none !important; }
.import-line-number { color: #77837b; font-size: .65rem; font-variant-numeric: tabular-nums; }
.import-asset-name { color: #34423a; font-size: .71rem; }
.import-row-status { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: .62rem; font-weight: 700; white-space: nowrap; }
.import-row-status.is-valid { background: #e9f3ec; color: #38734f; }
.import-row-status.is-invalid { background: #fbf0e3; color: #946329; }
.import-row-status.is-duplicate { background: #f7eae8; color: #a64d45; }
.import-issue-cell { color: #727d76 !important; }
.import-no-results { padding: 24px 12px !important; color: #7c8780 !important; text-align: center !important; }
.import-pagination { display: flex; justify-content: flex-end; gap: 4px; padding: 9px 11px; }
.import-pagination:empty { display: none; }
.import-pagination button { min-width: 29px; min-height: 29px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #58665e; font: inherit; font-size: .66rem; cursor: pointer; }
.import-pagination button:hover:not(:disabled) { border-color: #d6e1da; background: #f3f7f4; }
.import-pagination button.is-current { border-color: var(--import-green); background: var(--import-green); color: #fff; }
.import-pagination button:disabled { cursor: default; }
.import-error-list { display: grid; grid-template-columns: minmax(180px, .5fr) minmax(0, 1.5fr); gap: 12px; padding: 13px 15px; border: 1px solid #eadfc9; border-radius: 6px; background: #fffaf1; }
.import-error-list > div strong, .import-error-list > div span { display: block; }
.import-error-list > div strong { color: #765b30; font-size: .73rem; }
.import-error-list > div span { margin-top: 3px; color: #8d7a58; font-size: .64rem; }
.import-error-list summary { color: #7a633e; font-size: .68rem; font-weight: 700; cursor: pointer; }
.import-error-list ul { display: grid; gap: 4px; max-height: 190px; margin: 9px 0 0; padding-left: 18px; overflow: auto; color: #7f6f53; font-size: .65rem; }
.import-confirm-bar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 13px 15px; border: 1px solid #dce7e1; border-radius: 6px; background: #eff5f1; }
.import-confirm-bar p { margin: 0; color: #687770; font-size: .7rem; line-height: 1.45; }
.import-confirm-bar p strong { color: var(--import-green-dark); }
.import-confirm-bar form { margin: 0; }
.import-confirm-actions { display: flex; align-items: center; gap: 12px; }
.import-cancel-link { color: #697770; font-size: .7rem; font-weight: 600; }
.import-cancel-link:hover { color: var(--import-red); }
.import-confirm-button { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 38px; margin: 0; padding: 8px 12px; border-radius: 5px; background: var(--import-green); font-size: .69rem; letter-spacing: 0; }
.import-confirm-button:hover { background: var(--import-green-dark); }
.import-confirm-button span { font-size: .9rem; }
.asset-import-page :is(a, button, input, select, summary):focus-visible { outline: 3px solid rgba(40, 99, 82, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .import-workspace { grid-template-columns: minmax(0, 1fr); }
    .import-guide-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); column-gap: 20px; }
    .import-guide-panel > .import-guide-kicker, .import-guide-panel > h3, .import-steps-list { grid-column: 1; }
    .import-guide-download, .import-columns { grid-column: 2; }
    .import-guide-download { grid-row: 1; align-self: end; }
    .import-columns { grid-row: 2 / span 2; align-self: start; }
    .import-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .import-hero { align-items: flex-start; flex-direction: column; gap: 15px; padding: 20px 18px; }
    .import-hero h2 { font-size: 1.45rem; }
    .import-hero-actions { justify-content: flex-start; width: 100%; }
    .import-section-heading { align-items: flex-start; }
    .import-summary-grid { gap: 7px; }
    .import-summary { grid-template-columns: 29px minmax(0, 1fr); gap: 7px; min-height: 66px; padding: 8px; }
    .import-summary-icon { width: 28px; height: 28px; }
    .import-summary-icon svg { width: 15px; height: 15px; }
    .import-summary small { font-size: .6rem; }
    .import-summary strong { font-size: 1rem; }
    .import-preview-heading { align-items: flex-start; flex-direction: column; }
    .import-preview-tools { width: 100%; }
    .import-search-field { flex: 1; width: auto; }
    .import-status-filter select { width: 132px; }
    .import-error-list { grid-template-columns: minmax(0, 1fr); }
    .import-confirm-bar { align-items: stretch; flex-direction: column; gap: 11px; }
    .import-confirm-actions { justify-content: flex-end; }
    .import-table-wrap { overflow: visible; border-top: 1px solid #edf0ed; }
    .import-preview-table { display: block; min-width: 0; }
    .import-preview-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .import-preview-table tbody { display: grid; gap: 8px; padding: 8px; }
    .import-preview-table tbody tr[data-import-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 10px; border: 1px solid #e5eae6; border-radius: 5px; }
    .import-preview-table tbody tr[data-import-row][hidden] { display: none !important; }
    .import-preview-table td { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1.35fr); gap: 8px; padding: 8px 1px; border-bottom: 1px solid #edf0ed; font-size: .7rem; }
    .import-preview-table td::before { content: attr(data-label); color: #78837c; font-size: .64rem; font-weight: 700; }
    .import-preview-table td:last-child { border-bottom: 0; }
    .import-preview-table .import-no-results { display: block; padding: 20px 10px !important; border: 0; text-align: center; }
    .import-preview-table .import-no-results::before { content: none; }
    .import-preview-table .import-no-results[hidden] { display: none !important; }
    .import-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .import-hero-actions { align-items: stretch; flex-direction: column; }
    .import-template-link, .import-assets-link { justify-content: center; }
    .import-upload-column, .import-guide-panel { padding: 15px; }
    .import-dropzone { min-height: 190px; padding: 18px 10px; }
    .import-guide-panel { display: block; }
    .import-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .import-preview-tools { align-items: stretch; flex-direction: column; }
    .import-status-filter select { width: 100%; }
}
.asset-dashboard { --inventory-ink: #252b2a; --inventory-muted: #747d79; --inventory-line: #e4e8e5; --inventory-red: #9b1b1b; --inventory-green: #34765d; color: var(--inventory-ink); }
.asset-dashboard .inventory-dashboard-hero { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 158px; margin-bottom: 15px; padding: 26px 30px; border: 1px solid #303b38; border-left: 5px solid var(--inventory-red); border-radius: 8px; background: #252d2b; color: #fff; box-shadow: none; }
.inventory-dashboard-heading { max-width: 680px; }
.inventory-dashboard-hero .eyebrow { color: #d1a6a0; font-size: .67rem; font-weight: 700; letter-spacing: 0; }
.inventory-dashboard-hero .eyebrow i { display: inline-block; width: 4px; height: 4px; margin: 0 7px 2px; border-radius: 50%; background: #d5b36a; }
.inventory-dashboard-hero h2 { margin: 8px 0 5px; color: #fff; font-size: 1.75rem; }
.inventory-dashboard-hero p { max-width: 570px; margin: 0; color: #c0cbc6; font-size: .86rem; line-height: 1.55; }
.inventory-dashboard-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.inventory-secondary-action { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 9px 11px; border: 1px solid #59615e; border-radius: 6px; color: #e1e6e3; font-size: .75rem; font-weight: 600; transition: background .15s ease, border-color .15s ease; }
.inventory-secondary-action:hover { border-color: #929b96; background: #323b38; }
.inventory-secondary-action span { color: #d7b878; }
.inventory-primary-action { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 40px; margin: 0; padding: 9px 13px; border-radius: 6px; font-size: .75rem; }
.inventory-primary-action span { font-size: 1rem; }
.asset-company-profile { display: grid; grid-template-columns: 84px minmax(190px, 1.05fr) minmax(280px, 1.45fr) auto; align-items: center; gap: 17px; margin-bottom: 15px; padding: 15px 17px; border: 1px solid #e0e7e2; border-radius: 7px; background: linear-gradient(105deg, #f6f9f6, #fff 64%); }
.asset-company-brand { display: grid; place-items: center; width: 84px; height: 68px; overflow: hidden; border: 1px solid #e1e8e4; border-radius: 5px; background: #fff; }
.asset-company-brand img { display: block; max-width: 100%; max-height: 100%; padding: 7px; object-fit: contain; }
.asset-company-monogram { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #d4e4da; border-radius: 50%; background: #edf5ef; color: #4b765b; font-size: 1rem; font-weight: 800; }
.asset-company-main { min-width: 0; }
.asset-company-eyebrow { color: #78877f; font-size: .57rem; font-weight: 800; }
.asset-company-main h3 { margin: 4px 0 3px; color: #303d37; font-size: .93rem; }
.asset-company-main p { display: -webkit-box; max-width: 380px; margin: 0; overflow: hidden; color: #77827c; font-size: .65rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.asset-company-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; margin: 0; padding-left: 17px; border-left: 1px solid #e2e9e4; }
.asset-company-details > div { display: grid; gap: 4px; min-width: 0; }
.asset-company-details dt { color: #8a9590; font-size: .54rem; font-weight: 700; }
.asset-company-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #45554c; font-size: .63rem; font-weight: 600; }
.asset-company-details a { color: #47765d; }
.asset-company-details a:hover { text-decoration: underline; }
.asset-company-edit { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 36px; padding: 7px 10px; border: 1px solid #d7e4da; border-radius: 5px; background: #fff; color: #4b7259; font-size: .63rem; font-weight: 700; white-space: nowrap; transition: border-color .15s ease, background .15s ease; }
.asset-company-edit:hover { border-color: #b6cebb; background: #f3f8f3; }
.asset-company-edit span { color: var(--inventory-red); }
.asset-dashboard .inventory-dashboard-filters { display: grid; grid-template-columns: 1fr; gap: 13px; margin-bottom: 15px; padding: 14px 16px; border: 1px solid var(--inventory-line); border-radius: 8px; background: #fff; box-shadow: none; }
.inventory-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.inventory-filter-heading > div { display: flex; align-items: center; gap: 10px; }
.inventory-filter-heading .eyebrow { color: var(--inventory-muted); font-size: .61rem; font-weight: 700; }
.inventory-filter-heading strong { color: var(--inventory-ink); font-size: .81rem; }
.inventory-filter-heading > a { color: #737d78; font-size: .72rem; font-weight: 600; }
.inventory-filter-heading > a:hover { color: var(--inventory-red); text-decoration: underline; }
.inventory-filter-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.asset-dashboard .inventory-dashboard-filters label { display: grid; gap: 5px; min-width: 0; color: #67716c; font-size: .68rem; font-weight: 600; }
.asset-dashboard .inventory-dashboard-filters select, .asset-dashboard .inventory-dashboard-filters input { width: 100%; min-width: 0; min-height: 38px; padding: 8px 9px; border: 1px solid #dfe4e0; border-radius: 5px; background: #fbfcfb; color: var(--inventory-ink); font: inherit; font-size: .73rem; }
.asset-dashboard .inventory-dashboard-filters select:focus, .asset-dashboard .inventory-dashboard-filters input:focus { outline: 3px solid rgba(155, 27, 27, .12); border-color: #bb7771; background: #fff; }
.inventory-filter-submit-row { display: flex; justify-content: flex-end; }
.asset-dashboard .inventory-filter-submit-row .btn { display: inline-flex; align-items: center; gap: 9px; width: auto; min-height: 36px; margin: 0; padding: 8px 12px; border-radius: 5px; font-size: .72rem; }
.asset-dashboard .inventory-filter-submit-row .btn span { font-size: .95rem; }
.asset-dashboard .inventory-dashboard-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.asset-dashboard .inventory-kpi { position: relative; display: grid; grid-template-columns: 37px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; min-height: 91px; padding: 13px; overflow: hidden; border: 1px solid var(--inventory-line); border-radius: 7px; background: #fff; box-shadow: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.asset-dashboard .inventory-kpi:hover { transform: translateY(-2px); border-color: #cbd4ce; box-shadow: 0 6px 16px rgba(32, 47, 40, .07); }
.asset-dashboard .inventory-kpi .kpi-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 6px; background: #f5ecea; color: var(--inventory-red); }
.asset-dashboard .inventory-kpi .kpi-icon svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.asset-dashboard .inventory-kpi-available .kpi-icon { background: #eaf2ed; color: #34765d; }
.asset-dashboard .inventory-kpi-loaned .kpi-icon, .asset-dashboard .inventory-kpi-due .kpi-icon { background: #f5f0e5; color: #a57b2e; }
.asset-dashboard .inventory-kpi-repair .kpi-icon { background: #eef0f1; color: #63747d; }
.asset-dashboard .inventory-kpi-inactive .kpi-icon, .asset-dashboard .inventory-kpi-overdue .kpi-icon { background: #f7eae8; color: #a34a42; }
.asset-dashboard .inventory-kpi > div { min-width: 0; }
.asset-dashboard .inventory-kpi small, .asset-dashboard .inventory-kpi em { color: #7b8580; font-size: .67rem; }
.asset-dashboard .inventory-kpi strong { margin: 3px 0 2px; color: var(--inventory-ink); font-size: 1.14rem; }
.asset-dashboard .inventory-kpi-value strong { font-size: .9rem; }
.asset-dashboard .dashboard-grid { gap: 12px; margin-bottom: 12px; }
.asset-dashboard .inventory-monitoring-grid { grid-template-columns: 1.15fr .85fr; }
.asset-dashboard .inventory-distribution-grid { grid-template-columns: 1fr 1fr; }
.asset-dashboard .inventory-panel-grid .dashboard-panel, .asset-dashboard .inventory-lower-panel .dashboard-panel { min-width: 0; padding: 17px; border: 1px solid var(--inventory-line); border-radius: 7px; background: #fff; box-shadow: none; }
.asset-dashboard .panel-heading { align-items: center; margin-bottom: 13px; padding-bottom: 11px; border-bottom: 1px solid #eef0ee; }
.asset-dashboard .panel-heading .eyebrow { color: #78827c; font-size: .62rem; font-weight: 700; letter-spacing: 0; }
.asset-dashboard .panel-heading h3 { margin: 3px 0 0; color: var(--inventory-ink); font-size: .94rem; }
.asset-dashboard .panel-value { color: var(--inventory-ink); font-size: 1rem; }
.asset-dashboard .panel-value small { color: #7e8882; }
.asset-dashboard .alert-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.asset-dashboard .alert-item { min-width: 0; min-height: 51px; padding: 9px 10px; border: 1px solid #e8ece8; border-left: 3px solid #acb9b0; border-radius: 5px; background: #fafbfa; color: var(--inventory-ink); transition: background .15s ease, border-color .15s ease; }
.asset-dashboard a.alert-item:hover { border-color: #cbd8cf; border-left-color: var(--inventory-green); background: #f3f7f3; }
.asset-dashboard .alert-item span { color: #626d66; font-size: .7rem; line-height: 1.35; }
.asset-dashboard .alert-item strong { flex: 0 0 auto; color: var(--inventory-ink); font-size: .95rem; }
.asset-dashboard .alert-item:nth-child(2) { border-left-color: #bf6259; }
.asset-dashboard .alert-item:nth-child(2) strong { color: #a34740; }
.asset-dashboard .asset-mix-panel { grid-template-columns: minmax(155px, .8fr) minmax(0, 1.2fr); gap: 12px; }
.asset-dashboard .donut-chart { width: 158px; height: 158px; }
.asset-dashboard .donut-chart::before { inset: 18px; background: #fff; box-shadow: inset 0 0 0 1px #e8ece8; }
.asset-dashboard .donut-inner strong { color: var(--inventory-ink); font-size: 1.25rem; }
.asset-dashboard .donut-inner small { color: #7a847e; font-size: .72rem; }
.asset-dashboard .asset-chart-legend { gap: 2px; }
.asset-dashboard .legend-row { grid-template-columns: 9px minmax(0, 1fr) auto; gap: 7px; padding: 8px 0; border-color: #edf0ed; }
.asset-dashboard .legend-row > span:not(.legend-swatch) { color: #56615a; font-size: .7rem; }
.asset-dashboard .legend-row strong { color: #364139; font-size: .68rem; white-space: nowrap; }
.asset-dashboard .legend-swatch { width: 9px; height: 9px; border-radius: 3px; }
.asset-dashboard .mini-bars { gap: 15px; padding-top: 4px; }
.asset-dashboard .mini-bar-meta span, .asset-dashboard .mini-bar-meta strong { color: #59645d; font-size: .72rem; }
.asset-dashboard .mini-bar-track { height: 7px; border-radius: 3px; background: #edf0ed; }
.asset-dashboard .mini-bar-track i { border-radius: 3px; }
.inventory-lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.inventory-lower-panel { min-width: 0; }
.asset-dashboard .category-value-list { gap: 11px; }
.asset-dashboard .category-value-meta span { color: #626d66; font-size: .72rem; }
.asset-dashboard .category-value-meta strong { color: #3b4740; font-size: .7rem; }
.asset-dashboard .category-value-track { height: 7px; border-radius: 3px; background: #edf0ed; }
.asset-dashboard .category-value-track i { border-radius: 3px; background: linear-gradient(90deg, #9b1b1b, #c8756d); }
.asset-dashboard .alert-links { margin-top: 11px; padding-top: 10px; border-top: 1px solid #eef0ee; }
.asset-dashboard .alert-links a { color: var(--inventory-red); font-size: .7rem; }
.asset-dashboard .empty-state { margin: 7px 0; color: #828c86; font-size: .74rem; }
.asset-dashboard :is(a, button, input, select):focus-visible { outline: 3px solid rgba(155, 27, 27, .2); outline-offset: 2px; }
@media (max-width: 960px) {
    .asset-dashboard .inventory-filter-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .asset-dashboard .inventory-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-dashboard .inventory-monitoring-grid, .asset-dashboard .inventory-distribution-grid, .inventory-lower-grid { grid-template-columns: minmax(0, 1fr); }
    .asset-company-profile { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 13px; }
    .asset-company-brand { width: 72px; height: 62px; }
    .asset-company-details { grid-column: 2 / -1; grid-row: 2; padding: 10px 0 0; border-top: 1px solid #e2e9e4; border-left: 0; }
    .asset-company-edit { grid-column: 3; grid-row: 1; }
}
@media (max-width: 720px) {
    .asset-dashboard .inventory-dashboard-hero { align-items: flex-start; flex-direction: column; gap: 17px; padding: 22px 19px; }
    .asset-dashboard .inventory-dashboard-hero h2 { font-size: 1.45rem; }
    .asset-dashboard .inventory-dashboard-actions { width: 100%; flex-wrap: wrap; }
    .asset-dashboard .inventory-primary-action { flex: 1; justify-content: center; }
    .asset-company-profile { grid-template-columns: 58px minmax(0, 1fr); align-items: start; gap: 11px; padding: 13px; }
    .asset-company-brand { grid-column: 1; grid-row: 1; width: 58px; height: 54px; }
    .asset-company-main { grid-column: 2; grid-row: 1; padding-right: 2px; }
    .asset-company-details { grid-column: 1 / -1; grid-row: 2; gap: 8px; padding-top: 10px; }
    .asset-company-edit { grid-column: 1 / -1; grid-row: 3; justify-self: stretch; }
    .asset-dashboard .inventory-dashboard-filters { padding: 13px; }
    .asset-dashboard .inventory-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .asset-dashboard .inventory-filter-heading > div { align-items: flex-start; flex-direction: column; gap: 2px; }
    .asset-dashboard .inventory-filter-heading .eyebrow { font-size: .57rem; }
    .asset-dashboard .inventory-kpi { min-height: 84px; padding: 10px; }
    .asset-dashboard .inventory-kpi .kpi-icon { width: 32px; height: 32px; }
    .asset-dashboard .inventory-kpi .kpi-icon svg { width: 16px; height: 16px; }
    .asset-dashboard .inventory-kpi strong { font-size: 1.02rem; }
    .asset-dashboard .inventory-kpi-value strong { font-size: .79rem; }
    .asset-dashboard .inventory-panel-grid .dashboard-panel, .asset-dashboard .inventory-lower-panel .dashboard-panel { padding: 14px; }
    .asset-dashboard .alert-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-dashboard .asset-mix-panel { grid-template-columns: minmax(0, 1fr); }
    .asset-dashboard .donut-chart { width: 148px; height: 148px; }
}
@media (max-width: 440px) {
    .asset-company-details { grid-template-columns: minmax(0, 1fr); gap: 7px; }
    .asset-company-details > div { grid-template-columns: 72px minmax(0, 1fr); align-items: start; }
    .asset-dashboard .inventory-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .asset-dashboard .inventory-filter-heading { align-items: flex-start; }
    .asset-dashboard .inventory-kpi { grid-template-columns: 30px minmax(0, 1fr); gap: 7px; }
    .asset-dashboard .inventory-kpi .kpi-icon { width: 29px; height: 29px; }
    .asset-dashboard .alert-list { grid-template-columns: minmax(0, 1fr); }
    .asset-dashboard .alert-item { min-height: 45px; }
}
.asset-entry-page { --asset-ink: #253a3d; --asset-muted: #788783; --asset-line: #dfe8e5; --asset-accent: #23756f; --asset-coral: #b55f4f; font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.5; }
.asset-entry-page * { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.asset-entry-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 151px; overflow: hidden; padding: 23px 28px; border: 1px solid #24464a; border-left: 5px solid #c87860; border-radius: 6px; background-color: #214247; background-image: linear-gradient(108deg, rgba(32,66,71,.98), rgba(49,88,81,.97)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.06) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.06) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.asset-entry-hero-copy { max-width: 680px; }
.asset-entry-kicker { display: flex; align-items: center; gap: 8px; color: #bdd1ca; font-size: .61rem; font-weight: 800; }
.asset-entry-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #d78970; }
.asset-entry-kicker b { color: #83a39a; }
.asset-section-eyebrow { display: block; color: #788b83; font-size: .52rem; font-weight: 800; }
.asset-entry-hero h2 { margin: 9px 0 5px; color: #fff; font-size: 1.65rem; }
.asset-entry-hero p { max-width: 590px; margin: 0; color: #c4d5cf; font-size: .77rem; line-height: 1.55; }
.asset-entry-back { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 8px 11px; border: 1px solid rgba(226,239,232,.35); border-radius: 4px; background: rgba(255,255,255,.06); color: #d9e5df; font-size: .64rem; font-weight: 700; transition: background .15s ease, border-color .15s ease; }
.asset-entry-back:hover { border-color: rgba(226,239,232,.7); background: rgba(255,255,255,.12); color: #fff; }
.asset-entry-back:focus-visible, .asset-form-actions .btn:focus-visible { outline: 3px solid rgba(35,117,111,.22); outline-offset: 2px; }
.asset-entry-back span { color: #e0a189; font-size: .9rem; }
.asset-entry-steps { display: flex; gap: 3px; padding: 4px; border: 1px solid var(--asset-line); border-radius: 5px; background: #f4f8f5; }
.asset-entry-steps a { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; padding: 7px 9px; border-radius: 3px; color: #667c75; font-size: .59rem; font-weight: 700; text-decoration: none; transition: background .14s ease, color .14s ease; }
.asset-entry-steps a:hover { background: #fff; color: #2a6457; }
.asset-entry-steps a span { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid #d9e6df; border-radius: 50%; background: #fff; color: #548174; font-size: .5rem; }
.asset-entry-form { display: grid; gap: 13px; width: 100%; max-width: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.asset-entry-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(290px, .75fr); gap: 13px; align-items: start; }
.asset-entry-main, .asset-entry-aside { display: grid; gap: 12px; min-width: 0; }
.asset-entry-aside { position: sticky; top: 15px; }
.asset-form-section { min-width: 0; padding: 18px 19px 20px; border: 1px solid var(--asset-line); border-radius: 5px; background: #fff; box-shadow: none; }
.asset-valuation-section { border-top: 3px solid var(--asset-accent); padding-top: 16px; }
.asset-form-section-heading { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #eaf0ee; }
.asset-section-index { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #d7e8e0; border-radius: 4px; background: #eef6f1; color: var(--asset-accent); font-size: .61rem; font-weight: 800; }
.asset-form-section-heading h3 { margin: 3px 0 2px; color: var(--asset-ink); font-size: .94rem; }
.asset-section-eyebrow { display: block; color: #788b83; font-size: .52rem; font-weight: 800; }
.asset-form-section-heading p { margin: 0; color: var(--asset-muted); font-size: .66rem; line-height: 1.45; }
.asset-fields-grid { display: grid; gap: 12px 11px; min-width: 0; }
.asset-fields-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asset-fields-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asset-field { display: grid; align-content: start; gap: 5px; min-width: 0; color: #566d69; font-size: .64rem; font-weight: 700; }
.asset-field-label { display: inline-flex; align-items: baseline; gap: 4px; min-height: 1.25em; line-height: 1.25; }
.asset-field input, .asset-field select, .asset-field textarea { width: 100%; min-width: 0; min-height: 38px; border: 1px solid #dce6e2; border-radius: 4px; background: #fbfcfc; padding: 8px 10px; color: var(--asset-ink); font: inherit; font-size: .69rem; font-weight: 400; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.asset-field input::placeholder, .asset-field textarea::placeholder { color: #a1aab2; }
.asset-field input:focus, .asset-field select:focus, .asset-field textarea:focus { outline: 0; border-color: #78a99d; background: #fff; box-shadow: 0 0 0 3px rgba(35, 117, 111, .11); }
.asset-field textarea { min-height: 94px; resize: vertical; }
.asset-field input[type="file"] { padding: 7px; color: #6c7882; font-size: .75rem; }
.asset-field input[type="file"]::file-selector-button { margin-right: 10px; padding: 7px 10px; border: 0; border-radius: 7px; background: #eef2f4; color: #43515c; font: inherit; font-weight: 700; cursor: pointer; }
.asset-field-required { color: var(--asset-coral); }
.asset-field-span-two { grid-column: span 2; }
.asset-field-hint { color: var(--asset-muted); font-size: .69rem; font-weight: 400; line-height: 1.45; }
.asset-total-card { display: grid; align-content: center; gap: 5px; min-height: 82px; padding: 13px; border: 1px solid #d9e8e0; border-radius: 4px; background: #f2f8f4; }
.asset-total-label { color: #718b7d; font-size: .57rem; font-weight: 800; }
.asset-total-card strong { color: #2d6e5e; font-size: 1.12rem; overflow-wrap: anywhere; }
.asset-total-card small { color: var(--asset-muted); font-size: .68rem; }
.asset-current-image { display: flex; align-items: center; gap: 10px; align-self: start; padding: 9px; border: 1px solid var(--asset-line); border-radius: 4px; color: var(--asset-muted); font-size: .62rem; }
.asset-current-image img { width: 64px; height: 58px; border-radius: 3px; object-fit: cover; }
.asset-entry-context { display: grid; gap: 6px; padding: 13px; border: 1px solid #dfe8e4; border-radius: 4px; background: #f8faf9; }
.asset-entry-context > span { color: #81918b; font-size: .51rem; font-weight: 800; }
.asset-entry-context > strong { color: #365c53; font-size: .8rem; overflow-wrap: anywhere; }
.asset-entry-context > p { margin: 0; color: #788781; font-size: .6rem; line-height: 1.5; }
.asset-entry-context dl { display: grid; gap: 7px; margin: 2px 0 0; padding-top: 8px; border-top: 1px solid #e4ece7; }
.asset-entry-context dl > div { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 8px; }
.asset-entry-context dt { color: #87948e; font-size: .55rem; }
.asset-entry-context dd { min-width: 0; margin: 0; color: #49675e; font-size: .58rem; font-weight: 700; overflow-wrap: anywhere; }
.asset-form-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 14px; border: 1px solid var(--asset-line); border-radius: 5px; background: #f8faf9; }
.asset-form-actions > p { margin: 0; color: var(--asset-muted); font-size: .72rem; }
.asset-form-actions > div { display: flex; justify-content: flex-end; gap: 10px; }
.asset-cancel-button, .asset-save-button { width: auto; min-width: 128px; min-height: 39px; margin: 0; border-radius: 4px; font-size: .68rem; }
.asset-cancel-button { border-color: #dfe5e9; background: #fff; }
.asset-save-button { min-width: 160px; background: var(--asset-accent); }
.asset-save-button:hover { background: #185f59; }
.asset-save-button span { font-size: .95rem; }
.asset-entry-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(35,117,111,.2); outline-offset: 2px; }
.asset-inventory-page { --inventory-ink: #252a2f; --inventory-muted: #747c83; --inventory-line: #e5e8e9; --inventory-red: #9b1b1b; min-width: 0; }
.asset-list-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 18px; padding: 24px 28px; border: 1px solid #e5e8e9; border-left: 4px solid var(--inventory-red); border-radius: 10px; background: linear-gradient(115deg, #fff 0%, #f8f9f9 72%, #eef2f2 100%); }
.asset-list-header > div { min-width: 0; }
.asset-list-eyebrow { display: block; margin-bottom: 5px; color: var(--inventory-red); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.asset-list-header h2 { margin: 0 0 5px; color: var(--inventory-ink); font-size: 1.7rem; }
.asset-list-header p { margin: 0; color: var(--inventory-muted); font-size: .88rem; line-height: 1.5; }
.asset-add-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; padding: 10px 16px; border-radius: 8px; }
.asset-add-button span { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; font-size: 1rem; line-height: 1; }
.asset-filter-panel { display: grid; gap: 17px; margin-bottom: 22px; padding: 20px; border: 1px solid var(--inventory-line); border-radius: 8px; background: #fff; box-shadow: 0 4px 16px rgba(28, 36, 40, .035); }
.asset-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.asset-filter-heading h3, .asset-results-heading h3 { margin: 0; color: var(--inventory-ink); font-size: 1.02rem; }
.asset-filter-heading p, .asset-results-heading p { margin: 4px 0 0; color: var(--inventory-muted); font-size: .78rem; line-height: 1.5; }
.asset-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asset-filter-field { display: grid; align-content: start; gap: 6px; min-width: 0; color: #42494e; font-size: .76rem; font-weight: 700; }
.asset-filter-search { grid-column: span 2; }
.asset-filter-field input, .asset-filter-field select { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid #dfe4e5; border-radius: 7px; background: #fbfcfc; color: var(--inventory-ink); font: inherit; font-size: .82rem; font-weight: 400; }
.asset-filter-field input::placeholder { color: #969da1; }
.asset-filter-field input:focus, .asset-filter-field select:focus { outline: 3px solid rgba(155, 27, 27, .12); border-color: rgba(155, 27, 27, .6); background: #fff; }
.asset-filter-actions { display: flex; justify-content: flex-end; align-items: center; gap: 14px; padding-top: 14px; border-top: 1px solid #edf0f0; }
.asset-reset-link { color: #5e676d; font-size: .8rem; font-weight: 600; }
.asset-reset-link:hover { color: var(--inventory-red); text-decoration: underline; }
.asset-filter-submit { width: auto; min-height: 42px; margin: 0; padding: 9px 16px; border-radius: 7px; font-size: .8rem; }
.asset-results-section { min-width: 0; }
.asset-results-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-bottom: 10px; }
.asset-page-count { color: var(--inventory-muted); font-size: .76rem; }
.asset-table-wrap { overflow: auto; border: 1px solid var(--inventory-line); border-radius: 8px; background: #fff; box-shadow: 0 4px 18px rgba(28, 36, 40, .04); scrollbar-color: #c7cecf transparent; scrollbar-width: thin; }
.asset-table-wrap:focus-visible { outline: 3px solid rgba(155, 27, 27, .2); outline-offset: 2px; }
.asset-table { width: 100%; min-width: 1320px; border-collapse: separate; border-spacing: 0; }
.asset-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.asset-table th, .asset-table td { padding: 12px 11px; border-bottom: 1px solid #edf0f0; color: #41494e; font-size: .77rem; vertical-align: middle; }
.asset-table th { position: sticky; top: 0; z-index: 1; background: #f6f7f7; color: #657077; font-size: .68rem; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.asset-table tbody tr:last-child td { border-bottom: 0; }
.asset-table tbody tr:hover { background: #fcf9f8; }
.asset-number { color: #7f211e; white-space: nowrap; }
.asset-name { display: block; min-width: 120px; color: var(--inventory-ink); font-size: .8rem; }
.asset-value { color: #333b40; white-space: nowrap; }
.asset-thumbnail { display: block; width: 48px; height: 48px; border: 1px solid #e7e9e9; border-radius: 6px; object-fit: cover; }
.asset-no-image { color: #858d91; font-size: .7rem; white-space: nowrap; }
.asset-status-badge { white-space: nowrap; }
.asset-status-ready { background: #e7f4ec; color: #286b45; }
.asset-status-loaned { background: #e9f0f6; color: #395f7b; }
.asset-status-repair { background: #fff0dc; color: #895712; }
.asset-status-inactive { background: #eceeef; color: #5b6266; }
.asset-row-actions { flex-wrap: nowrap; gap: 5px; }
.asset-row-actions .btn { width: auto; margin: 0; padding: 6px 8px; border-radius: 6px; font-size: .68rem; white-space: nowrap; }
.asset-empty-state { padding: 34px 18px !important; color: var(--inventory-muted); }
.asset-pagination { flex-wrap: wrap; gap: 5px; margin-top: 14px; }
.asset-pagination a { display: inline-grid; place-items: center; min-width: 36px; min-height: 36px; padding: 6px 9px; border-color: #e0e4e5; border-radius: 7px; color: #465057; font-size: .78rem; }
.asset-pagination a:hover { border-color: #c9908e; background: #fff8f7; color: var(--inventory-red); }
.asset-pagination a.active { border-color: var(--inventory-red); background: var(--inventory-red); color: #fff; }

.asset-directory-page { --directory-ink: #263b3d; --directory-muted: #788783; --directory-line: #dfe8e5; --directory-teal: #23756f; --directory-coral: #b55f4f; display: grid; gap: 14px; min-width: 0; color: var(--directory-ink); }
.asset-directory-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 159px; overflow: hidden; padding: 24px 28px 26px; border: 1px solid #23464a; border-left: 5px solid #c87860; border-radius: 6px; background-color: #214247; background-image: linear-gradient(108deg, rgba(30,62,66,.98), rgba(46,83,77,.97)), linear-gradient(90deg, transparent 39px, rgba(232,247,238,.065) 40px), linear-gradient(transparent 39px, rgba(232,247,238,.065) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.asset-directory-heading { position: relative; z-index: 1; min-width: 0; }
.asset-directory-kicker { display: flex; align-items: center; gap: 8px; color: #b7cec6; font-size: .61rem; font-weight: 800; }
.asset-directory-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #d78770; }
.asset-directory-kicker b { color: #7e9c96; }
.asset-directory-heading h2 { margin: 9px 0 5px; color: #fff; font-size: 1.7rem; line-height: 1.16; }
.asset-directory-heading p { max-width: 590px; margin: 0; color: #c3d4ce; font-size: .77rem; line-height: 1.55; }
.asset-directory-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex: 0 0 auto; padding-top: 13px; }
.asset-directory-primary, .asset-directory-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 39px; padding: 8px 11px; border: 1px solid rgba(225,239,232,.34); border-radius: 4px; color: #e2ece7; font-size: .64rem; font-weight: 700; white-space: nowrap; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.asset-directory-secondary:hover { transform: translateY(-1px); border-color: rgba(232,245,237,.65); background: rgba(255,255,255,.08); color: #fff; }
.asset-directory-secondary span { color: #e4ad8e; }
.asset-directory-primary { border-color: #f4f7f4; background: #f4f7f4; color: #28524c; font-weight: 800; }
.asset-directory-primary:hover { transform: translateY(-1px); background: #fff; }
.asset-directory-primary > span { color: var(--directory-coral); font-size: 1rem; }
.asset-directory-index { position: absolute; right: 28px; bottom: 8px; color: #96b0a7; font-size: .5rem; font-weight: 800; letter-spacing: .05em; }
.asset-directory-index i { margin: 0 4px; color: #d58a73; font-style: normal; }
.asset-directory-alert { margin: 0; }
.asset-directory-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--directory-line); border-radius: 5px; background: #fff; }
.asset-directory-summary article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1px 10px; min-width: 0; min-height: 68px; padding: 10px 14px; border-right: 1px solid #e9efec; }
.asset-directory-summary article:last-child { border-right: 0; }
.asset-directory-summary article > span { grid-column: 1 / -1; color: #82918c; font-size: .51rem; font-weight: 800; }
.asset-directory-summary strong { color: #304a47; font-size: .97rem; line-height: 1.2; }
.asset-directory-summary strong i { color: #8b9994; font-size: .62rem; font-style: normal; font-weight: 500; }
.asset-directory-summary small { color: #909b97; font-size: .54rem; text-align: right; }
.asset-directory-filters { display: grid; gap: 12px; padding: 14px 16px 15px; border: 1px solid var(--directory-line); border-radius: 5px; background: #f7faf8; }
.asset-directory-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.asset-directory-filter-heading > div > span, .asset-directory-table-heading > div > span { color: #81908c; font-size: .52rem; font-weight: 800; }
.asset-directory-filter-heading h3 { margin: 3px 0 0; color: #304846; font-size: .88rem; }
.asset-directory-filter-heading > a { color: #667e75; font-size: .6rem; font-weight: 700; }
.asset-directory-filter-heading > a:hover { color: var(--directory-coral); text-decoration: underline; }
.asset-directory-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 9px; align-items: end; }
.asset-directory-filter-grid label { display: grid; gap: 4px; min-width: 0; color: #657a74; font-size: .58rem; font-weight: 700; }
.asset-directory-filter-grid .asset-directory-search { grid-column: span 2; }
.asset-directory-filter-grid input, .asset-directory-filter-grid select { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #dce6e2; border-radius: 4px; background: #fff; color: #334b48; font: inherit; font-size: .64rem; font-weight: 400; }
.asset-directory-filter-grid input::placeholder { color: #9aa6a1; }
.asset-directory-filter-grid :is(input, select):focus { outline: 3px solid rgba(35,117,111,.12); border-color: #7caaa0; }
.asset-directory-apply { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; padding: 7px 11px; border: 0; border-radius: 4px; background: var(--directory-teal); color: #fff; font: inherit; font-size: .61rem; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.asset-directory-apply:hover { transform: translateY(-1px); background: #185f59; }
.asset-directory-apply b { color: #e7b296; font-size: .85rem; }
.asset-directory-table-panel { min-width: 0; overflow: hidden; border: 1px solid var(--directory-line); border-radius: 5px; background: #fff; }
.asset-directory-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px 11px; border-bottom: 1px solid #eaf0ee; }
.asset-directory-table-heading h3 { margin: 4px 0 0; color: #304846; font-size: .95rem; }
.asset-directory-table-heading p { margin: 0; color: #7d8b86; font-size: .59rem; }
.asset-directory-table-heading p strong { color: var(--directory-teal); }
.asset-directory-table-heading p i { display: inline-block; width: 4px; height: 4px; margin: 0 5px 2px; border-radius: 50%; background: #c98168; }
.asset-directory-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
.asset-directory-table-wrap:focus-visible { outline: 3px solid rgba(35,117,111,.17); outline-offset: -3px; }
.asset-directory-table { width: 100%; min-width: 1060px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.asset-directory-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.asset-directory-table th, .asset-directory-table td { padding: 10px 9px; border-bottom: 1px solid #edf1ef; color: #586b68; text-align: left; vertical-align: middle; font-size: .61rem; line-height: 1.45; overflow-wrap: anywhere; }
.asset-directory-table th { position: sticky; top: 0; z-index: 1; background: #f2f6f4; color: #71827c; font-size: .53rem; font-weight: 800; white-space: nowrap; }
.asset-directory-table th:nth-child(1) { width: 20%; }
.asset-directory-table th:nth-child(2) { width: 12%; }
.asset-directory-table th:nth-child(3) { width: 12%; }
.asset-directory-table th:nth-child(4) { width: 11%; }
.asset-directory-table th:nth-child(5) { width: 7%; }
.asset-directory-table th:nth-child(6) { width: 14%; }
.asset-directory-table th:nth-child(7) { width: 10%; }
.asset-directory-table th:nth-child(8) { width: 8%; }
.asset-directory-table th:nth-child(9) { width: 6%; }
.asset-directory-table tbody tr { transition: background .14s ease; }
.asset-directory-table tbody tr:hover { background: #f8fbf9; }
.asset-directory-identity { display: flex; align-items: center; gap: 8px; min-width: 0; }
.asset-directory-thumbnail { display: block; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid #e0e9e4; border-radius: 4px; object-fit: cover; }
.asset-directory-placeholder { display: grid; place-items: center; background: #eef5f1; color: #50806e; font-size: .54rem; font-weight: 800; }
.asset-directory-identity > span:last-child { display: grid; gap: 3px; min-width: 0; }
.asset-directory-identity strong { overflow: hidden; color: #314946; font-size: .64rem; text-overflow: ellipsis; }
.asset-directory-identity small, .asset-directory-cell-note { display: block; margin-top: 3px; color: #879490; font-size: .54rem; line-height: 1.4; }
.asset-directory-cell-primary { color: #435b55; font-size: .61rem; }
.asset-directory-code { color: #457a70; font-size: .6rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.asset-directory-value { color: #426c60; font-size: .6rem; white-space: nowrap; }
.asset-directory-status { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 4px 6px; border-radius: 3px; font-size: .53rem; font-weight: 800; line-height: 1.35; }
.asset-directory-status i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.asset-directory-status.is-ready { background: #eaf4ec; color: #39734c; }
.asset-directory-status.is-loaned { background: #eaf1f5; color: #4c7082; }
.asset-directory-status.is-repair { background: #fbf0e3; color: #94663a; }
.asset-directory-status.is-inactive { background: #eef0ef; color: #687573; }
.asset-directory-row-actions { white-space: nowrap; }
.asset-directory-row-actions a { display: inline-block; margin-right: 6px; color: #3e786f; font-size: .57rem; font-weight: 800; }
.asset-directory-row-actions a:last-child { margin-right: 0; color: #a65b4b; }
.asset-directory-row-actions a:hover { text-decoration: underline; }
.asset-directory-empty { padding: 35px 14px !important; text-align: center !important; }
.asset-directory-empty strong, .asset-directory-empty span { display: block; }
.asset-directory-empty strong { color: #45605a; font-size: .78rem; }
.asset-directory-empty span { margin-top: 4px; color: #87938f; font-size: .6rem; }
.asset-directory-pagination { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 48px; padding: 8px 13px; border-top: 1px solid #eaf0ee; }
.asset-page-control { display: inline-flex; align-items: center; gap: 6px; color: #43786f; font-size: .6rem; font-weight: 800; text-decoration: none; }
.asset-page-control:hover:not(.is-disabled) { color: var(--directory-coral); }
.asset-page-control.is-disabled { color: #aab5b1; }
.asset-page-indicator { color: #7b8a85; font-size: .59rem; }
.asset-page-indicator strong { color: #426d62; }
.asset-directory-page :is(a, button, input, select):focus-visible { outline: 3px solid rgba(35,117,111,.2); outline-offset: 2px; }
@media (max-width: 1100px) {
    .asset-directory-actions { flex-wrap: wrap; }
    .asset-directory-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .asset-directory-filter-grid .asset-directory-search { grid-column: span 2; }
}
@media (max-width: 720px) {
    .asset-directory-page { gap: 11px; }
    .asset-directory-hero { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 20px 17px 25px; }
    .asset-directory-heading h2 { font-size: 1.42rem; }
    .asset-directory-heading p { font-size: .7rem; }
    .asset-directory-actions { width: 100%; gap: 6px; padding-top: 0; }
    .asset-directory-secondary, .asset-directory-primary { flex: 1 1 auto; min-height: 37px; padding: 7px 8px; font-size: .59rem; }
    .asset-directory-index { right: 17px; bottom: 8px; }
    .asset-directory-summary article { min-height: 62px; padding: 8px 9px; }
    .asset-directory-summary strong { font-size: .83rem; }
    .asset-directory-summary small { font-size: .49rem; }
    .asset-directory-filters { gap: 10px; padding: 12px; }
    .asset-directory-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .asset-directory-filter-grid .asset-directory-search { grid-column: 1 / -1; }
    .asset-directory-apply { grid-column: 1 / -1; }
    .asset-directory-table-heading { align-items: flex-start; flex-direction: column; gap: 5px; padding: 11px; }
    .asset-directory-table-wrap { overflow: visible; border-top: 1px solid #edf1ef; }
    .asset-directory-table { display: block; min-width: 0; }
    .asset-directory-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .asset-directory-table tbody { display: grid; gap: 8px; padding: 8px; }
    .asset-directory-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 9px; border: 1px solid #e3ebe7; border-radius: 4px; }
    .asset-directory-table td { display: grid; grid-template-columns: minmax(88px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #eef2f0; font-size: .61rem; }
    .asset-directory-table td::before { color: #788986; content: attr(data-label); font-size: .56rem; font-weight: 700; }
    .asset-directory-table td:first-child { align-items: start; }
    .asset-directory-table td:last-child { border-bottom: 0; }
    .asset-directory-table td.asset-directory-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 9px 0 4px; }
    .asset-directory-table td.asset-directory-row-actions::before { flex-basis: 100%; }
    .asset-directory-row-actions a { margin: 0; padding: 5px 8px; border: 1px solid #dce8e3; border-radius: 3px; background: #f8fbf9; }
    .asset-directory-empty { display: block; border: 1px solid #e3ebe7; border-radius: 4px; }
    .asset-directory-empty::before { content: none !important; }
    .asset-directory-pagination { padding: 8px 10px; }
}
@media (max-width: 440px) {
    .asset-directory-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-directory-primary { grid-column: 1 / -1; }
    .asset-directory-summary article { grid-template-columns: minmax(0, 1fr); align-content: center; }
    .asset-directory-summary article > span { grid-column: auto; }
    .asset-directory-summary small { display: none; }
    .asset-directory-filter-grid { grid-template-columns: minmax(0, 1fr); }
    .asset-directory-filter-grid .asset-directory-search, .asset-directory-apply { grid-column: 1; }
    .asset-directory-pagination { flex-wrap: wrap; }
}

.asset-detail-page { --detail-ink: #263b3d; --detail-muted: #788783; --detail-line: #dfe8e5; --detail-teal: #23756f; --detail-coral: #b55f4f; display: grid; gap: 13px; min-width: 0; color: var(--detail-ink); }
.asset-detail-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 150px; padding: 20px 24px; border: 1px solid #23464a; border-left: 5px solid #c87860; border-radius: 6px; background: linear-gradient(108deg, #214247, #315d58); color: #fff; }
.asset-detail-identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.asset-detail-photo { display: block; flex: 0 0 92px; width: 92px; height: 92px; border: 1px solid rgba(225,239,232,.35); border-radius: 5px; background: #fff; object-fit: cover; }
.asset-detail-photo-empty { display: grid; place-items: center; background: rgba(255,255,255,.1); color: #d5e4dc; font-size: 1.1rem; font-weight: 800; }
.asset-detail-heading { min-width: 0; }
.asset-detail-kicker { display: flex; align-items: center; gap: 7px; color: #bfd2ca; font-size: .55rem; font-weight: 800; }
.asset-detail-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #dc9276; }
.asset-detail-kicker b { color: #86a59b; }
.asset-detail-heading h2 { margin: 7px 0 4px; color: #fff; font-size: 1.35rem; line-height: 1.2; overflow-wrap: anywhere; }
.asset-detail-identifiers { display: flex; align-items: center; gap: 7px; color: #ccdad4; font-size: .61rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.asset-detail-identifiers i { width: 3px; height: 3px; flex: 0 0 3px; border-radius: 50%; background: #d58a72; }
.asset-detail-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.asset-detail-status, .asset-detail-condition { display: inline-flex; align-items: center; gap: 5px; width: fit-content; max-width: 100%; padding: 4px 7px; border-radius: 3px; font-size: .53rem; font-weight: 800; line-height: 1.35; }
.asset-detail-status i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.asset-detail-status.is-ready, .asset-detail-condition.is-good { background: #e8f3eb; color: #39734c; }
.asset-detail-status.is-loaned { background: #eaf1f5; color: #4c7082; }
.asset-detail-status.is-repair, .asset-detail-condition.is-repair { background: #fbf0e3; color: #94663a; }
.asset-detail-status.is-inactive { background: #eff1f0; color: #687573; }
.asset-detail-condition.is-minor { background: #fbf2e3; color: #98713c; }
.asset-detail-condition.is-major { background: #f8eae7; color: #a55045; }
.asset-detail-condition.is-neutral { background: #eff2f1; color: #6e7d7a; }
.asset-detail-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; flex: 0 0 auto; }
.asset-detail-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 35px; padding: 7px 9px; border: 1px solid rgba(226,239,232,.3); border-radius: 4px; color: #e1ebe5; font-size: .59rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background .14s ease, transform .14s ease; }
.asset-detail-action:hover { transform: translateY(-1px); background: rgba(255,255,255,.08); color: #fff; }
.asset-action-edit { border-color: #f1f5f2; background: #f4f7f4; color: #28544c; }
.asset-action-edit:hover { background: #fff; color: #204c44; }
.asset-detail-alert { margin: 0; }
.asset-detail-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--detail-line); border-radius: 5px; background: #fff; }
.asset-detail-summary article { display: grid; align-content: center; gap: 3px; min-width: 0; min-height: 74px; padding: 10px 13px; border-right: 1px solid #eaf0ee; }
.asset-detail-summary article:last-child { border-right: 0; }
.asset-detail-summary article > span { color: #84918d; font-size: .5rem; font-weight: 800; }
.asset-detail-summary strong { overflow: hidden; color: #344e4a; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.asset-detail-summary strong i { color: #7c8a85; font-size: .59rem; font-style: normal; font-weight: 600; }
.asset-detail-summary small { overflow: hidden; color: #909b97; font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
.asset-detail-summary .asset-summary-text, .asset-detail-summary .asset-summary-value { font-size: .73rem; }
.asset-detail-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.asset-detail-panel { min-width: 0; padding: 15px; border: 1px solid var(--detail-line); border-radius: 5px; background: #fff; }
.asset-detail-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px solid #eaf0ee; }
.asset-detail-panel-heading > div > span { color: #81908c; font-size: .5rem; font-weight: 800; }
.asset-detail-panel-heading h3 { margin: 3px 0 0; color: #304946; font-size: .85rem; }
.asset-detail-panel-heading > span { color: #abb8b2; font-size: .62rem; font-weight: 800; }
.asset-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; margin: 0; }
.asset-detail-list > div { min-width: 0; padding: 9px 0; border-bottom: 1px solid #f0f3f1; }
.asset-detail-list dt { margin-bottom: 3px; color: #889590; font-size: .52rem; font-weight: 700; }
.asset-detail-list dd { min-width: 0; margin: 0; color: #405653; font-size: .63rem; line-height: 1.45; overflow-wrap: anywhere; }
.asset-detail-list dd .asset-detail-status, .asset-detail-list dd .asset-detail-condition { font-size: .5rem; }
.asset-detail-description { grid-column: 1 / -1; }
.asset-detail-description dd { color: #71817b; }
.asset-deactivation-panel { overflow: hidden; border: 1px solid #eadbd6; border-left: 3px solid #b96656; border-radius: 5px; background: #fff; }
.asset-deactivation-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; cursor: pointer; list-style: none; }
.asset-deactivation-panel > summary::-webkit-details-marker { display: none; }
.asset-deactivation-panel > summary > span { display: grid; gap: 3px; }
.asset-deactivation-panel > summary small { color: #a06b60; font-size: .49rem; font-weight: 800; }
.asset-deactivation-panel > summary strong { color: #5d4844; font-size: .68rem; }
.asset-deactivation-panel > summary em { color: #8e817e; font-size: .55rem; font-style: normal; }
.asset-deactivation-panel > summary > b { color: #98584e; font-size: .58rem; }
.asset-deactivation-panel form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; padding: 11px 13px; border-top: 1px solid #f0e8e5; }
.asset-deactivation-panel label { display: grid; gap: 5px; color: #775c56; font-size: .58rem; font-weight: 700; }
.asset-deactivation-panel textarea { width: 100%; min-height: 54px; padding: 8px; border: 1px solid #e6d8d4; border-radius: 4px; font: inherit; font-size: .62rem; resize: vertical; }
.asset-deactivation-panel textarea:focus { outline: 3px solid rgba(185,98,81,.12); border-color: #cb9285; }
.asset-deactivation-panel button { min-height: 35px; padding: 7px 11px; border: 1px solid #ead5d0; border-radius: 4px; background: #fbf3f1; color: #995247; font: inherit; font-size: .59rem; font-weight: 800; cursor: pointer; }
.asset-deactivation-panel button:hover { background: #f8e9e5; }
.asset-maintenance-history { min-width: 0; overflow: hidden; border: 1px solid var(--detail-line); border-radius: 5px; background: #fff; }
.asset-history-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #eaf0ee; }
.asset-history-heading > div > span { color: #81908c; font-size: .5rem; font-weight: 800; }
.asset-history-heading h3 { margin: 3px 0 2px; color: #304946; font-size: .9rem; }
.asset-history-heading p { margin: 0; color: #83908c; font-size: .56rem; }
.asset-history-heading > a { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #34796e; font-size: .6rem; font-weight: 800; text-decoration: none; }
.asset-history-heading > a:hover { color: var(--detail-coral); }
.asset-history-table-wrap { max-width: 100%; overflow: auto; scrollbar-color: #c6d4cf transparent; scrollbar-width: thin; }
.asset-history-table-wrap:focus-visible { outline: 3px solid rgba(35,117,111,.17); outline-offset: -3px; }
.asset-history-table { width: 100%; min-width: 980px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.asset-history-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.asset-history-table th, .asset-history-table td { padding: 9px 8px; border-bottom: 1px solid #edf1ef; color: #596c68; text-align: left; vertical-align: middle; font-size: .58rem; line-height: 1.4; overflow-wrap: anywhere; }
.asset-history-table th { background: #f3f7f5; color: #74847e; font-size: .51rem; font-weight: 800; }
.asset-history-table th:nth-child(1) { width: 11%; }
.asset-history-table th:nth-child(2) { width: 13%; }
.asset-history-table th:nth-child(3) { width: 18%; }
.asset-history-table th:nth-child(4) { width: 14%; }
.asset-history-table th:nth-child(5) { width: 14%; }
.asset-history-table th:nth-child(6) { width: 10%; }
.asset-history-table th:nth-child(7) { width: 10%; }
.asset-history-table th:nth-child(8) { width: 10%; }
.asset-history-table td a { color: #3f786f; font-weight: 800; }
.asset-history-table td a:hover { text-decoration: underline; }
.asset-history-table td small { display: block; margin-top: 3px; color: #87948f; font-size: .53rem; }
.asset-history-status { display: inline-flex; padding: 4px 6px; border-radius: 3px; background: #eff3f1; color: #5e756c; font-size: .52rem; font-weight: 700; }
.asset-history-empty { padding: 28px 12px !important; color: #83908b !important; text-align: center !important; }
.asset-detail-page :is(a, button, textarea, summary):focus-visible { outline: 3px solid rgba(35,117,111,.2); outline-offset: 2px; }
@media (max-width: 960px) {
    .asset-detail-hero { align-items: flex-start; flex-direction: column; gap: 13px; }
    .asset-detail-actions { width: 100%; justify-content: flex-start; }
    .asset-detail-content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
    .asset-detail-page { gap: 10px; }
    .asset-detail-hero { padding: 16px; }
    .asset-detail-identity { align-items: flex-start; gap: 11px; }
    .asset-detail-photo { flex-basis: 70px; width: 70px; height: 70px; }
    .asset-detail-heading h2 { font-size: 1.08rem; }
    .asset-detail-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-detail-action { min-height: 34px; }
    .asset-action-edit { grid-column: 1 / -1; }
    .asset-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-detail-summary article { min-height: 63px; padding: 8px 10px; }
    .asset-detail-summary article:nth-child(2) { border-right: 0; }
    .asset-detail-summary article:nth-child(-n+2) { border-bottom: 1px solid #eaf0ee; }
    .asset-detail-summary strong { font-size: .78rem; }
    .asset-detail-summary .asset-summary-text, .asset-detail-summary .asset-summary-value { font-size: .66rem; }
    .asset-detail-panel { padding: 12px; }
    .asset-deactivation-panel form { grid-template-columns: minmax(0, 1fr); }
    .asset-deactivation-panel button { justify-self: end; }
    .asset-history-heading { align-items: flex-start; flex-direction: column; padding: 11px; }
    .asset-history-heading > a { align-self: flex-end; }
    .asset-history-table-wrap { overflow: visible; border-top: 1px solid #edf1ef; }
    .asset-history-table { display: block; min-width: 0; }
    .asset-history-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .asset-history-table tbody { display: grid; gap: 7px; padding: 8px; }
    .asset-history-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 8px; border: 1px solid #e5ece8; border-radius: 4px; }
    .asset-history-table td { display: grid; grid-template-columns: minmax(88px, .62fr) minmax(0, 1.38fr); gap: 7px; padding: 7px 1px; border-bottom: 1px solid #eef2f0; font-size: .59rem; }
    .asset-history-table td::before { content: attr(data-label); color: #788986; font-size: .54rem; font-weight: 700; }
    .asset-history-table td:last-child { border-bottom: 0; }
}
@media (max-width: 440px) {
    .asset-detail-summary strong { font-size: .7rem; }
    .asset-detail-list { grid-template-columns: minmax(0, 1fr); }
    .asset-detail-description { grid-column: 1; }
    .asset-detail-identifiers { flex-wrap: wrap; font-size: .54rem; }
    .asset-detail-actions { grid-template-columns: minmax(0, 1fr); }
    .asset-action-edit { grid-column: 1; }
}
.category-form-intro { margin: 16px 0 20px; color: var(--category-muted); font-size: .81rem; line-height: 1.6; }
.category-form { display: grid; gap: 14px; }
.category-form label { gap: 7px; color: #394652; font-size: .78rem; font-weight: 700; }
.category-form input, .category-form textarea { border-color: #e3e8ec; border-radius: 10px; background: #fbfcfd; padding: 11px 12px; color: var(--category-ink); font-size: .84rem; font-weight: 400; }
.category-form input { min-height: 43px; }
.category-form textarea { min-height: 100px; }
.category-form input::placeholder, .category-form textarea::placeholder { color: #a1aab2; }
.category-form input:focus, .category-form textarea:focus { outline: 3px solid rgba(155, 27, 27, .1); border-color: rgba(155, 27, 27, .55); background: #fff; }
.category-required { color: var(--category-accent); }
.category-submit { width: 100%; min-height: 46px; margin-top: 2px; border-radius: 11px; font-size: .77rem; letter-spacing: .08em; }
.category-submit span { font-size: 1.15rem; line-height: 1; }
.category-form-note { margin: -5px 0 0; color: var(--category-muted); font-size: .7rem; }
.category-list-section { min-width: 0; }
.category-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 2px 15px; }
.category-list-heading h3 { font-size: 1.22rem; }
.category-count { flex: 0 0 auto; padding: 7px 11px; border: 1px solid var(--category-line); border-radius: 999px; background: #fff; color: #596673; font-size: .72rem; font-weight: 700; }
.category-table-shell { overflow: hidden; border: 1px solid var(--category-line); border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(32, 43, 53, .035); }
.category-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: #c7d0d6 transparent; scrollbar-width: thin; }
.category-table-scroll:focus-visible { outline: 3px solid rgba(155, 27, 27, .2); outline-offset: 2px; }
.category-table { width: 100%; min-width: 700px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.category-column-code { width: 17%; }
.category-column-name { width: 25%; }
.category-column-description { width: 28%; }
.category-column-status { width: 14%; }
.category-column-action { width: 16%; }
.category-table th, .category-table td { padding: 14px 12px; border-bottom: 1px solid #edf1f3; text-align: left; vertical-align: top; font-size: .78rem; }
.category-table th { position: sticky; top: 0; z-index: 1; background: #f7f9fa; color: #75818b; font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.category-table th:first-child, .category-table td:first-child { padding-left: 18px; }
.category-table th:last-child, .category-table td:last-child { padding-right: 18px; }
.category-table tbody tr:last-child td { border-bottom: 0; }
.category-table tbody tr:hover { background: #fbfcfd; }
.category-table td { color: #5d6973; line-height: 1.5; }
.category-code, .category-name, .category-description { display: block; min-width: 0; overflow-wrap: anywhere; word-break: normal; }
.category-code { color: var(--category-accent); font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.category-name { color: var(--category-ink); font-weight: 700; }
.category-description { color: var(--category-muted); font-size: .74rem; }
.category-status { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border-radius: 999px; font-size: .65rem; font-weight: 800; white-space: nowrap; }
.category-status > span { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.category-status.is-active { background: #eaf6ef; color: #26734b; }
.category-status.is-inactive { background: #f0f2f3; color: #727e88; }
.category-action-heading { display: block; text-align: center; }
.category-action-form { margin: 0; }
.category-toggle { display: block; width: 100%; padding: 7px 8px; border: 1px solid transparent; border-radius: 8px; background: transparent; font: inherit; font-size: .69rem; font-weight: 700; text-align: center; cursor: pointer; white-space: normal; overflow-wrap: anywhere; transition: background .15s ease; }
.category-toggle.toggle-deactivate { color: #7d5552; }
.category-toggle.toggle-deactivate:hover { background: #fff3f1; }
.category-toggle.toggle-activate { color: #26734b; }
.category-toggle.toggle-activate:hover { background: #eef8f2; }
.category-table-hint { display: none; margin: 0; padding: 9px 14px; border-top: 1px solid #edf1f3; color: var(--category-muted); font-size: .68rem; }
.category-empty { display: grid; justify-items: center; padding: 54px 24px; border: 1px dashed #d8e0e5; border-radius: 18px; background: rgba(255, 255, 255, .72); text-align: center; }
.category-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: #f1f5f7; color: #788c9b; }
.category-empty-icon svg { width: 34px; height: 34px; }
.category-empty h4 { margin: 15px 0 5px; color: var(--category-ink); font-size: 1rem; }
.category-empty p { max-width: 340px; margin: 0; color: var(--category-muted); font-size: .8rem; line-height: 1.6; }
.categories-page { --category-ink: #202b28; --category-muted: #77817d; --category-line: #e5e9e5; --category-accent: #245747; --category-accent-dark: #193e34; line-height: 1.5; }
.categories-command-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 150px; margin-bottom: 16px; padding: 25px 30px; border-radius: 8px; background: var(--category-accent-dark); color: #fff; }
.categories-command-copy { min-width: 0; }
.categories-kicker { display: flex; align-items: center; gap: 9px; color: #b7d5c9; font-size: .67rem; font-weight: 700; }
.categories-kicker i { width: 4px; height: 4px; border-radius: 50%; background: #d5b36a; }
.categories-command-header h2 { margin: 10px 0 5px; color: #fff; font-size: 1.75rem; }
.categories-command-header p { max-width: 590px; margin: 0; color: #c6d5ce; font-size: .86rem; line-height: 1.55; }
.categories-primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex: 0 0 auto; min-height: 42px; padding: 9px 15px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 6px; background: #fff; color: var(--category-accent-dark); font-size: .78rem; font-weight: 700; transition: transform .16s ease, background .16s ease; }
.categories-primary-action:hover { transform: translateY(-1px); background: #f0f4ef; }
.categories-primary-action > span { font-size: 1.05rem; font-weight: 400; }
.categories-alert { margin: 0 0 14px; }
.category-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.category-metric { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; min-width: 0; padding: 15px 17px; border: 1px solid var(--category-line); border-radius: 7px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
.category-metric:hover { border-color: #cdd8d1; box-shadow: 0 5px 15px rgba(31, 64, 51, .06); }
.category-metric-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 7px; background: #edf4ef; color: var(--category-accent); }
.category-metric-icon svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.category-metric-active .category-metric-icon { background: #e7f2eb; color: #397752; }
.category-metric-inactive .category-metric-icon { background: #f0f1ed; color: #777e77; }
.category-metric-label { color: #69736e; font-size: .74rem; }
.category-metric strong { color: var(--category-ink); font-size: 1.34rem; line-height: 1.2; }
.category-metric-caption { grid-column: 2; margin-top: 3px; color: #89918c; font-size: .67rem; }
.categories-workspace { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(270px, .78fr); gap: 18px; align-items: start; }
.category-list-section { min-width: 0; padding: 19px; border: 1px solid var(--category-line); border-radius: 7px; background: #fff; }
.category-list-heading { margin: 0 0 15px; }
.category-section-eyebrow { color: #718078; font-size: .64rem; font-weight: 700; }
.category-list-heading h3, .category-create-heading h3 { margin: 4px 0 0; color: var(--category-ink); font-size: 1.08rem; }
.category-count { padding: 6px 9px; border: 1px solid var(--category-line); border-radius: 5px; background: #f8faf8; color: #65716a; font-size: .68rem; }
.category-count strong { color: var(--category-accent); }
.category-list-tools { display: grid; grid-template-columns: minmax(0, 1fr) 148px; gap: 9px; margin-bottom: 13px; }
.category-search-field { position: relative; display: block; min-width: 0; }
.category-search-icon { position: absolute; top: 50%; left: 11px; color: #79847d; font-size: 1.2rem; line-height: 1; transform: translateY(-54%); pointer-events: none; }
.category-search-field input, .category-status-filter select { width: 100%; min-width: 0; min-height: 39px; padding: 8px 10px; border: 1px solid #dfe5e0; border-radius: 5px; background: #fff; color: var(--category-ink); font: inherit; font-size: .75rem; }
.category-search-field input { padding-left: 33px; }
.category-search-field input::placeholder { color: #959d97; }
.category-search-field input:focus, .category-status-filter select:focus { outline: 3px solid rgba(36, 87, 71, .12); border-color: #6d9a83; }
.category-table-shell { overflow: hidden; border: 1px solid var(--category-line); border-radius: 6px; box-shadow: none; }
.category-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.category-table { width: 100%; min-width: 550px; table-layout: fixed; }
.category-column-code { width: 18%; }
.category-column-name { width: 25%; }
.category-column-description { width: 29%; }
.category-column-status { width: 14%; }
.category-column-action { width: 14%; }
.category-table th, .category-table td { padding: 12px 10px; border-color: #edf0ed; font-size: .74rem; }
.category-table th { background: #f5f7f4; color: #707b74; font-size: .63rem; }
.category-table td { color: #626d66; }
.category-table th:first-child, .category-table td:first-child { padding-left: 13px; }
.category-table th:last-child, .category-table td:last-child { padding-right: 13px; }
.category-table tbody tr { transition: background .14s ease; }
.category-table tbody tr:hover { background: #f8faf7; }
.category-code { display: inline-block; padding: 4px 6px; border-radius: 4px; background: #eff4f0; color: #315c48; font-size: .67rem; }
.category-name { color: var(--category-ink); font-weight: 700; }
.category-description { color: #737e77; font-size: .71rem; }
.category-status { gap: 6px; padding: 4px 7px; border-radius: 4px; font-size: .64rem; }
.category-status.is-active { background: #eaf3ed; color: #39734f; }
.category-status.is-inactive { background: #f0f1ee; color: #737a74; }
.category-toggle { min-height: 30px; padding: 5px 6px; border-radius: 4px; font-size: .66rem; transition: background .14s ease, color .14s ease; }
.category-toggle.toggle-deactivate { color: #866347; }
.category-toggle.toggle-deactivate:hover { background: #f7eee4; color: #704c2e; }
.category-toggle.toggle-activate { color: #326c4b; }
.category-toggle.toggle-activate:hover { background: #eaf3ed; color: #24583b; }
.category-column-action { width: 14%; }
.category-table td[data-label="Aksi"] { text-align: center; vertical-align: middle; }
.category-table td[data-label="Aksi"] .row-action-dropdown { display: inline-flex; vertical-align: middle; }
.row-action-dropdown { display: inline-block; }
.row-action-dropdown > summary { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 32px; padding: 4px; border: 1px solid #dce5df; border-radius: 4px; background: #fff; color: #386852; cursor: pointer; list-style: none; }
.row-action-dropdown > summary::-webkit-details-marker { display: none; }
.row-action-dropdown > summary svg { display: block; width: 17px; height: 17px; }
.row-action-dropdown > summary:hover, .row-action-dropdown[open] > summary { border-color: #b9d0c2; background: #f1f7f3; }
.row-action-dropdown > summary:focus-visible { outline: 3px solid rgba(36,87,71,.18); outline-offset: 2px; }
.row-action-dropdown[open] > summary { position: relative; z-index: 1001; }
.row-action-menu { position: fixed; z-index: 1000; display: none; width: 168px; padding: 5px; border: 1px solid #dce5df; border-radius: 5px; background: #fff; box-shadow: 0 10px 28px rgba(29,48,39,.18); }
.row-action-dropdown[open] .row-action-menu { display: grid; gap: 2px; }
.row-action-menu a, .row-action-menu button { display: flex; align-items: center; width: 100%; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 3px; background: transparent; color: #405b4c; font: inherit; font-size: .7rem; text-align: left; text-decoration: none; cursor: pointer; }
.row-action-menu a:hover, .row-action-menu button:hover { background: #f1f6f2; }
.row-action-menu form { margin: 0; }
.row-action-menu .menu-activate { color: #32754c; }
.row-action-menu .menu-deactivate { color: #95614b; }
.row-action-menu .menu-delete { color: #9a5147; }
.row-action-menu .menu-delete:hover { background: #fbf0ed; }
.category-cancel-edit, .location-cancel-edit { display: inline-flex; justify-content: center; padding: 4px 8px; color: #687870; font-size: .68rem; font-weight: 600; text-decoration: none; }
.category-cancel-edit:hover, .location-cancel-edit:hover { color: #245747; text-decoration: underline; }
.category-table tbody tr[hidden] { display: none !important; }
.category-no-results { padding: 26px 14px !important; color: #7b847e !important; text-align: center; }
.category-pagination { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; padding: 11px 10px; border-top: 1px solid #edf0ed; }
.category-pagination:empty { display: none; }
.category-pagination button { min-width: 30px; min-height: 30px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #526159; font: inherit; font-size: .7rem; cursor: pointer; transition: background .14s ease, border-color .14s ease; }
.category-pagination button:hover { border-color: #d9e2dc; background: #f3f7f3; }
.category-pagination button.is-current { border-color: var(--category-accent); background: var(--category-accent); color: #fff; }
.category-create-rail { position: sticky; top: 20px; padding: 20px; border: 1px solid #dce6df; border-top: 3px solid var(--category-accent); border-radius: 7px; background: #f6f8f5; }
.category-create-heading { display: flex; align-items: center; gap: 11px; }
.category-create-symbol { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 6px; background: var(--category-accent); color: #fff; font-size: 1.2rem; font-weight: 400; }
.category-form-intro { margin: 13px 0 18px; color: #748078; font-size: .75rem; line-height: 1.55; }
.category-form { gap: 12px; }
.category-form label { gap: 6px; color: #455149; font-size: .73rem; }
.category-form input, .category-form textarea { min-width: 0; min-height: 40px; padding: 9px 10px; border-color: #dce4dd; border-radius: 5px; background: #fff; color: var(--category-ink); font-size: .76rem; }
.category-form textarea { min-height: 86px; }
.category-form input::placeholder, .category-form textarea::placeholder { color: #9ba39d; }
.category-form input:focus, .category-form textarea:focus { outline: 3px solid rgba(36, 87, 71, .12); border-color: #6d9a83; }
.category-submit { display: flex; justify-content: space-between; align-items: center; min-height: 42px; margin: 3px 0 0; padding: 9px 12px; border: 0; border-radius: 5px; background: var(--category-accent); font-size: .74rem; letter-spacing: 0; transition: background .15s ease, transform .15s ease; }
.category-submit:hover { transform: translateY(-1px); background: #1c4739; }
.category-submit span { font-size: 1rem; }
.category-form-note { margin: 0; color: #858e88; font-size: .66rem; }
.category-empty { padding: 42px 20px; border-color: #d9e2dc; border-radius: 6px; background: #f8faf7; }
.category-empty-icon { width: 44px; height: 44px; border-radius: 6px; background: #e8f0e9; color: var(--category-accent); font-size: 1.4rem; }
.category-empty h4 { margin-top: 12px; color: var(--category-ink); }
.category-empty p { color: #78837b; }
.categories-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.categories-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(36, 87, 71, .22); outline-offset: 2px; }
.locations-page, .locations-page * { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.locations-page { --location-ink: #253432; --location-muted: #75827e; --location-line: #e0e8e4; --location-accent: #176c67; --location-coral: #cb6956; line-height: 1.5; }
.locations-page, .locations-page * { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.location-command-header { display: grid; grid-template-columns: minmax(0, 1fr) 64px auto; align-items: center; gap: 22px; min-height: 145px; margin-bottom: 15px; padding: 23px 27px; border: 1px solid #dbe7e1; border-radius: 8px; background: #eef5f1; }
.location-command-copy { min-width: 0; }
.location-command-header .locations-kicker { display: flex; align-items: center; gap: 9px; color: var(--location-accent); font-size: .66rem; font-weight: 700; letter-spacing: 0; }
.location-command-header .locations-kicker i { width: 4px; height: 4px; border-radius: 50%; background: var(--location-coral); }
.location-command-header h2 { margin: 8px 0 4px; color: var(--location-ink); font-size: 1.7rem; }
.location-command-header p { max-width: 570px; margin: 0; color: #718079; font-size: .84rem; line-height: 1.55; }
.location-map-mark { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #cfdfd6; border-radius: 50%; background: #fff; color: var(--location-accent); }
.location-map-mark svg { width: 30px; height: 30px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.location-primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 41px; padding: 9px 14px; border-radius: 5px; background: var(--location-accent); color: #fff; font-size: .75rem; font-weight: 700; transition: transform .15s ease, background .15s ease; }
.location-primary-action:hover { transform: translateY(-1px); background: #105a56; }
.location-primary-action span { font-size: 1rem; }
.locations-page .alert { margin: 0 0 13px; }
.locations-page .location-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.locations-page .location-stat { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; column-gap: 11px; min-height: 85px; padding: 13px 15px; border: 1px solid var(--location-line); border-radius: 6px; background: #fff; box-shadow: none; transition: border-color .15s ease, transform .15s ease; }
.locations-page .location-stat:hover { transform: translateY(-2px); border-color: #bfd4cb; }
.locations-page .location-stat-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 5px; background: #eaf3ef; color: var(--location-accent); }
.locations-page .location-stat-icon svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.locations-page .location-stat-icon-active { background: #e5f2e9; color: #397a52; }
.locations-page .location-stat-icon-inactive { background: #f6ece8; color: #a95f4d; }
.locations-page .location-stat div { min-width: 0; }
.locations-page .location-stat div > span, .locations-page .location-stat strong, .locations-page .location-stat small { display: block; }
.locations-page .location-stat div > span { color: #687771; font-size: .72rem; }
.locations-page .location-stat strong { margin: 1px 0 0; color: var(--location-ink); font-size: 1.2rem; line-height: 1.2; }
.locations-page .location-stat small { grid-column: 2; color: #89938e; font-size: .64rem; }
.locations-page .locations-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(285px, .8fr); gap: 14px; align-items: start; }
.locations-page .location-list-section { grid-column: 1; grid-row: 1; min-width: 0; padding: 17px; border: 1px solid var(--location-line); border-radius: 7px; background: #fff; }
.locations-page .location-form-card { position: sticky; top: 18px; grid-column: 2; grid-row: 1; min-width: 0; padding: 18px; border: 1px solid #dce7e1; border-top: 3px solid var(--location-accent); border-radius: 7px; background: #f7f9f7; box-shadow: none; }
.location-create-heading { display: flex; align-items: center; gap: 10px; }
.locations-page .location-heading-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 5px; background: var(--location-accent); color: #fff; font-size: 1.15rem; }
.locations-page .location-section-eyebrow { color: #71817a; font-size: .61rem; font-weight: 700; letter-spacing: 0; }
.locations-page .location-create-heading h3, .locations-page .location-list-heading h3 { margin: 3px 0 0; color: var(--location-ink); font-size: 1rem; }
.locations-page .location-form-intro { margin: 12px 0 15px; color: #75817b; font-size: .73rem; line-height: 1.55; }
.locations-page .location-form { display: grid; gap: 11px; }
.locations-page .location-form label { display: grid; gap: 5px; min-width: 0; color: #4c5a54; font-size: .7rem; font-weight: 700; }
.locations-page .location-form input, .locations-page .location-form textarea { width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid #dce4df; border-radius: 5px; background: #fff; color: var(--location-ink); font: inherit; font-size: .75rem; font-weight: 400; }
.locations-page .location-form input::placeholder, .locations-page .location-form textarea::placeholder { color: #9aa49e; }
.locations-page .location-form input:focus, .locations-page .location-form textarea:focus { outline: 3px solid rgba(23, 108, 103, .13); border-color: #65a19a; }
.locations-page .location-form textarea { min-height: 76px; resize: vertical; }
.locations-page .location-form-row { display: grid; grid-template-columns: 1fr .75fr; gap: 9px; }
.locations-page .location-required { color: var(--location-coral); }
.locations-page .location-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 40px; margin: 3px 0 0; padding: 8px 11px; border: 0; border-radius: 5px; background: var(--location-accent); font-size: .73rem; letter-spacing: 0; transition: background .15s ease, transform .15s ease; }
.locations-page .location-submit:hover { transform: translateY(-1px); background: #105a56; }
.locations-page .location-submit span { font-size: .95rem; }
.locations-page .location-form-note { margin: 0; color: #89938e; font-size: .65rem; }
.locations-page .location-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 1px 0 13px; }
.locations-page .location-count { padding: 5px 8px; border: 1px solid var(--location-line); border-radius: 4px; background: #f7faf8; color: #67756e; font-size: .67rem; }
.locations-page .location-count strong { color: var(--location-accent); }
.location-list-tools { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 8px; margin-bottom: 11px; }
.location-search-field { position: relative; display: block; min-width: 0; }
.location-search-field > span:first-child { position: absolute; top: 50%; left: 10px; color: #788780; font-size: 1.15rem; line-height: 1; transform: translateY(-55%); pointer-events: none; }
.location-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.location-search-field input, .location-status-filter select { width: 100%; min-width: 0; min-height: 38px; padding: 8px 9px; border: 1px solid #dce4df; border-radius: 5px; background: #fff; color: var(--location-ink); font: inherit; font-size: .72rem; }
.location-search-field input { padding-left: 30px; }
.location-search-field input::placeholder { color: #98a29c; }
.location-search-field input:focus, .location-status-filter select:focus { outline: 3px solid rgba(23, 108, 103, .13); border-color: #65a19a; }
.location-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #e4eae6; border-radius: 5px; scrollbar-color: #c6d5cd transparent; scrollbar-width: thin; }
.location-table-wrap:focus-visible { outline: 3px solid rgba(23, 108, 103, .2); outline-offset: 2px; }
.location-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.location-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.location-table th, .location-table td { padding: 10px 9px; border-bottom: 1px solid #edf1ee; color: #596760; text-align: left; vertical-align: middle; font-size: .7rem; overflow-wrap: anywhere; }
.location-table th { background: #f3f7f4; color: #6a7870; font-size: .62rem; font-weight: 700; white-space: nowrap; }
.location-table tbody tr:last-child td { border-bottom: 0; }
.location-table tbody tr[data-location-row] { transition: background .14s ease; }
.location-table tbody tr[data-location-row]:hover { background: #f6faf7; }
.location-table tbody tr[hidden] { display: none !important; }
.location-table th:nth-child(1) { width: 13%; }
.location-table th:nth-child(2) { width: 24%; }
.location-table th:nth-child(3) { width: 14%; }
.location-table th:nth-child(4) { width: 10%; }
.location-table th:nth-child(5) { width: 15%; }
.location-table th:nth-child(6) { width: 11%; }
.location-table th:nth-child(7) { width: 13%; }
.location-table-code { display: inline-block; max-width: 100%; padding: 4px 6px; border-radius: 3px; background: #edf4ef; color: #27665b; font-size: .65rem; font-weight: 700; overflow-wrap: anywhere; }
.location-table-name { display: block; color: var(--location-ink); font-size: .73rem; line-height: 1.4; overflow-wrap: anywhere; }
.location-table-description { display: -webkit-box; margin-top: 3px; overflow: hidden; color: #818c85; font-size: .63rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.location-table tbody tr[data-location-row][hidden] { display: none !important; }
.location-table tbody tr[hidden] { display: none !important; }
.location-table .location-no-results { padding: 22px 10px; border: 0; color: #78847d; font-size: .73rem; text-align: center; }
.locations-page .location-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 4px; font-size: .63rem; font-weight: 700; white-space: nowrap; }
.locations-page .location-status.is-active { background: #e8f3eb; color: #39734e; }
.locations-page .location-status.is-inactive { background: #f5ece9; color: #946153; }
.locations-page .location-status > span { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.locations-page .location-row-action { margin: 0; }
.locations-page .location-toggle { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 30px; padding: 5px 7px; border: 1px solid #e1e8e3; border-radius: 4px; background: #fff; font: inherit; font-size: .62rem; font-weight: 700; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.locations-page .location-toggle.toggle-deactivate { color: #95614b; }
.locations-page .location-toggle.toggle-activate { color: #32754c; }
.locations-page .location-toggle.toggle-deactivate:hover { border-color: #ead1c6; background: #fbf3ef; }
.locations-page .location-toggle.toggle-activate:hover { border-color: #cce1d2; background: #eff7f1; }
.location-pagination { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; margin-top: 12px; }
.location-pagination:empty { display: none; }
.location-pagination button { min-width: 30px; min-height: 30px; padding: 4px 7px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #53625b; font: inherit; font-size: .69rem; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.location-pagination button:hover { border-color: #d4e1d9; background: #f1f7f3; }
.location-pagination button.is-current { border-color: var(--location-accent); background: var(--location-accent); color: #fff; }
.location-empty { display: grid; justify-items: center; padding: 39px 20px; border: 1px dashed #d6e2da; border-radius: 6px; background: #f8faf8; text-align: center; }
.location-empty-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: #eaf3ef; color: var(--location-accent); }
.location-empty-icon svg { width: 24px; height: 24px; stroke: currentColor; stroke-width: 1.6; }
.locations-page .location-empty h4 { margin: 12px 0 4px; color: var(--location-ink); font-size: .95rem; }
.locations-page .location-empty p { max-width: 320px; margin: 0; color: #7b8780; font-size: .73rem; line-height: 1.55; }
.locations-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(23, 108, 103, .22); outline-offset: 2px; }
@media (max-width: 960px) {
    .locations-page .locations-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .locations-page .location-list-section { grid-column: 1; grid-row: 1; }
    .locations-page .location-form-card { position: static; grid-column: 1; grid-row: 2; }
}
@media (max-width: 720px) {
    .location-command-header { grid-template-columns: minmax(0, 1fr) 42px; gap: 13px; padding: 20px 17px; }
    .location-command-header h2 { font-size: 1.45rem; }
    .location-command-header p { font-size: .78rem; }
    .location-map-mark { grid-column: 2; grid-row: 1; width: 40px; height: 40px; }
    .location-map-mark svg { width: 23px; height: 23px; }
    .location-primary-action { grid-column: 1 / -1; width: 100%; }
    .locations-page .location-stats { gap: 7px; }
    .locations-page .location-stat { grid-template-columns: 30px minmax(0, 1fr); column-gap: 7px; min-height: 79px; padding: 10px 8px; }
    .locations-page .location-stat-icon { width: 29px; height: 29px; }
    .locations-page .location-stat-icon svg { width: 16px; height: 16px; }
    .locations-page .location-stat div > span { font-size: .63rem; }
    .locations-page .location-stat strong { font-size: 1.03rem; }
    .locations-page .location-stat small { font-size: .59rem; }
    .locations-page .location-list-section, .locations-page .location-form-card { padding: 13px; }
    .location-list-tools { grid-template-columns: minmax(0, 1fr) 112px; gap: 6px; }
    .locations-page .location-table-wrap { overflow: visible; border: 0; }
    .locations-page .location-table { display: block; min-width: 0; }
    .locations-page .location-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .locations-page .location-table tbody { display: grid; gap: 8px; }
    .locations-page .location-table tbody tr[data-location-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 11px; border: 1px solid var(--location-line); border-radius: 5px; background: #fff; }
    .locations-page .location-table tbody tr[data-location-row]:hover { background: #f6faf7; }
    .locations-page .location-table tbody tr[hidden] { display: none !important; }
    .locations-page .location-table tbody tr#locationNoResults { display: block; }
    .locations-page .location-table tbody tr#locationNoResults[hidden] { display: none !important; }
    .locations-page .location-table td { display: grid; grid-template-columns: minmax(82px, .65fr) minmax(0, 1.35fr); align-items: center; gap: 8px; min-width: 0; padding: 8px 1px; border-bottom: 1px solid #edf1ee; font-size: .72rem; }
    .locations-page .location-table td::before { content: attr(data-label); color: #738078; font-size: .65rem; font-weight: 700; }
    .locations-page .location-table td:last-child { border-bottom: 0; }
    .locations-page .location-table td[data-label="Aksi"] { display: flex; flex-wrap: wrap; gap: 8px; padding: 9px 1px; }
    .locations-page .location-table td[data-label="Aksi"]::before { flex: 0 0 100%; }
    .locations-page .location-toggle { min-height: 34px; padding: 6px 9px; font-size: .68rem; }
    .locations-page .location-table td[data-label="Aksi"] .row-action-dropdown { width: auto; }
    .locations-page .location-table .location-no-results { display: block; padding: 22px 10px; border: 1px dashed #dce5df; text-align: center; }
    .locations-page .location-table .location-no-results::before { content: none; }
    .locations-page .location-table .location-no-results[hidden] { display: none !important; }
    .location-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .locations-page .location-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
    .locations-page .location-stat { grid-template-columns: 25px minmax(0, 1fr); column-gap: 5px; min-height: 62px; padding: 7px 5px; }
    .locations-page .location-stat-icon { width: 24px; height: 24px; }
    .locations-page .location-stat-icon svg { width: 14px; height: 14px; }
    .locations-page .location-stat div > span { font-size: .56rem; line-height: 1.2; }
    .locations-page .location-stat strong { font-size: .95rem; }
    .locations-page .location-stat small { display: none; }
    .location-list-tools { grid-template-columns: minmax(0, 1fr); }
    .locations-page .location-form-row { grid-template-columns: minmax(0, 1fr); }
}
.dashboard-kpi { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.dashboard-kpi-alert { border-left: 4px solid var(--red); }
.kpi-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px; background: #f9e9e7; color: var(--red); font-weight: 800; font-size: .78rem; }
.dashboard-kpi small, .dashboard-kpi em { display: block; color: var(--muted); font-size: .75rem; font-style: normal; }
.dashboard-kpi strong { display: block; margin: 3px 0; overflow: hidden; color: var(--charcoal); font-size: 1.2rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-grid { display: grid; gap: 20px; margin-bottom: 20px; }
.dashboard-grid-main { grid-template-columns: 1.45fr .85fr; }
.dashboard-grid-secondary { grid-template-columns: 1fr 1fr; }
.dashboard-panel { min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.panel-heading h3 { margin: 4px 0 0; font-size: 1rem; }
.panel-heading a { color: var(--red); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.panel-value { color: var(--red-dark); font-size: 1.05rem; font-weight: 800; white-space: nowrap; }
.panel-value small { color: var(--muted); font-size: .7rem; font-weight: 400; }
.dashboard-chart { display: flex; align-items: end; gap: 10px; height: 220px; padding: 22px 4px 0; border-bottom: 1px solid var(--line); }
.chart-column { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: end; gap: 6px; height: 100%; min-width: 0; }
.chart-column span { overflow: hidden; width: 100%; color: var(--muted); font-size: .62rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.chart-column i { display: block; width: min(28px, 70%); min-height: 3px; border-radius: 7px 7px 0 0; background: linear-gradient(180deg, var(--red-soft), var(--red-dark)); }
.chart-column small { color: var(--muted); font-size: .7rem; }
.metric-list { display: grid; gap: 3px; }
.metric-list > div, .simple-row, .profile-summary-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.metric-list > div:last-child, .simple-row:last-child, .profile-summary-row:last-child { border-bottom: 0; }
.metric-list span, .simple-row span, .profile-summary-row span { color: var(--muted); font-size: .83rem; }
.metric-list strong, .simple-row strong, .profile-summary-row strong { color: var(--charcoal); font-size: .88rem; text-align: right; }
.text-danger { color: var(--red) !important; }
.text-success { color: #1f7a4d !important; }
.performance-list { display: grid; gap: 15px; }
.performance-row { display: grid; grid-template-columns: minmax(130px, 1fr) auto; gap: 5px 12px; align-items: center; }
.performance-name strong, .performance-name span { display: block; }
.performance-name strong { font-size: .85rem; }
.performance-name span { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.performance-row > strong { font-size: .8rem; }
.performance-bar { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 99px; background: #f0e8e5; }
.performance-bar i { display: block; height: 100%; border-radius: inherit; background: var(--red); }
.compact-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.compact-stats > div { padding: 12px; border-radius: 10px; background: #faf8f6; }
.compact-stats span, .compact-stats strong { display: block; }
.compact-stats span { color: var(--muted); font-size: .7rem; }
.compact-stats strong { margin-top: 6px; font-size: 1.15rem; }
.dashboard-filters { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 12px; align-items: end; padding: 18px; margin: 0 0 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.dashboard-filters label { display: grid; gap: 8px; color: var(--muted); font-size: .77rem; }
.dashboard-filters select { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.dashboard-filters .btn { width: auto; white-space: nowrap; }
.asset-mix-panel { display: grid; grid-template-columns: 220px 1fr; gap: 16px; align-items: center; }
.donut-chart { position: relative; width: 180px; height: 180px; border-radius: 50%; margin: 0 auto; display: grid; place-items: center; }
.donut-chart::before { content: ""; position: absolute; inset: 22px; background: #fff; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line); }
.donut-inner { position: relative; z-index: 1; display: grid; place-items: center; }
.donut-inner strong { display: block; font-size: 1.4rem; color: var(--charcoal); }
.donut-inner small { color: var(--muted); }
.asset-chart-legend { display: grid; gap: 10px; }
.legend-row { display: grid; grid-template-columns: 12px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.legend-row:last-child { border-bottom: 0; }
.legend-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.mini-bars { display: grid; gap: 12px; }
.mini-bar-row { display: grid; gap: 8px; }
.mini-bar-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.mini-bar-meta span, .mini-bar-meta strong { font-size: .78rem; }
.mini-bar-track { width: 100%; height: 10px; background: #f2efed; border-radius: 999px; overflow: hidden; }
.mini-bar-track i { display: block; height: 100%; border-radius: inherit; }
.category-value-list { display: grid; gap: 12px; }
.category-value-row { display: grid; gap: 6px; }
.category-value-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.category-value-meta span { font-size: .8rem; color: var(--muted); }
.category-value-meta strong { font-size: .82rem; }
.category-value-track { width: 100%; height: 10px; border-radius: 999px; overflow: hidden; background: #f2efed; }
.category-value-track i { display: block; height: 100%; background: linear-gradient(90deg, var(--red), var(--red-dark)); border-radius: inherit; }
.trend-inline-bars { display: flex; align-items: end; gap: 8px; height: 180px; }
.trend-bar-item { display: flex; flex: 1; flex-direction: column; justify-content: end; align-items: center; gap: 8px; min-width: 0; }
.trend-bars { height: 130px; display: flex; align-items: end; gap: 4px; }
.trend-bars i { display: block; width: 10px; min-height: 5px; border-radius: 8px 8px 0 0; }
.trend-loan { background: var(--red); }
.trend-return { background: #7b8da6; }
.trend-bar-item small { color: var(--muted); font-size: .65rem; }
.alert-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.alert-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: 10px; background: #fff7f6; }
.alert-item span { color: var(--muted); font-size: .77rem; }
.alert-item strong { font-size: .9rem; }
.alert-links { display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.alert-links a { color: var(--red); font-size: .8rem; font-weight: 700; }
.empty-state { color: var(--muted); font-size: .85rem; }
.bar-chart { height: 220px; display: flex; align-items: end; gap: 8px; padding-top: 24px; }
.bar-column { height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 5px; min-width: 0; }
.bar-column span { color: var(--muted); font-size: .65rem; white-space: nowrap; transform: rotate(-35deg); transform-origin: bottom right; }
.bar-column i { display: block; width: 70%; min-height: 2px; background: var(--red); border-radius: 5px 5px 0 0; }
.bar-column small { color: var(--muted); font-size: .7rem; }
.pagination { display: flex; gap: 6px; margin-top: 16px; }
.pagination a { border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; background: #fff; }
.pagination a.active { background: var(--charcoal); color: #fff; }

@media (max-width: 960px) {
    .cards { grid-template-columns: 1fr; }
    .dashboard-kpis { grid-template-columns: repeat(2, 1fr); }
    .dashboard-grid-main, .dashboard-grid-secondary { grid-template-columns: 1fr; }
    .asset-fields-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-filter-search { grid-column: 1 / -1; }
    .categories-workspace { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .category-create-rail { position: static; }
    .sidebar {
        position: fixed;
        left: 0;
        top: 0;
        transform: translateX(-105%);
        transition: transform .2s ease;
        z-index: 40;
    }
    body.nav-open .sidebar { transform: none; }
    .nav-toggle {
        display: inline-flex;
        border: 0;
        background: var(--charcoal);
        color: #fff;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        cursor: pointer;
    }
    .overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.4);
        z-index: 30;
    }
    body.nav-open .overlay { display: block; }
}

@media (max-width: 960px) {
    .asset-entry-layout { grid-template-columns: minmax(0, 1fr); }
    .asset-entry-aside { position: static; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .75fr); align-items: start; }
}

@media (max-width: 720px) {
    .content { padding: 16px; }
    .asset-list-header { align-items: flex-start; flex-direction: column; gap: 16px; padding: 21px 19px; }
    .asset-list-header h2 { font-size: 1.45rem; }
    .asset-add-button { width: 100%; }
    .asset-filter-panel { gap: 14px; padding: 16px; }
    .asset-filter-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .asset-filter-search { grid-column: auto; }
    .asset-filter-actions { justify-content: space-between; }
    .asset-results-heading { align-items: flex-start; }
    .asset-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .asset-table { display: block; min-width: 0; }
    .asset-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .asset-table tbody { display: grid; gap: 11px; }
    .asset-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 5px 13px; border: 1px solid var(--inventory-line); border-radius: 8px; background: #fff; box-shadow: 0 3px 12px rgba(28, 36, 40, .035); }
    .asset-table td { display: grid; grid-template-columns: minmax(94px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 10px; min-width: 0; padding: 9px 2px; border-bottom: 1px solid #f0f2f2; font-size: .78rem; overflow-wrap: anywhere; }
    .asset-table td::before { content: attr(data-label); color: #747d82; font-size: .7rem; font-weight: 700; }
    .asset-table td:last-child { border-bottom: 0; }
    .asset-table .asset-row-actions { display: flex; flex-wrap: wrap; gap: 7px; padding: 11px 0 7px; }
    .asset-table .asset-row-actions::before { flex: 0 0 100%; }
    .asset-row-actions .btn { min-height: 34px; padding: 7px 10px; font-size: .72rem; }
    .asset-table .asset-empty-state { display: block; padding: 22px 12px !important; text-align: center; }
    .asset-table .asset-empty-state::before { content: none; }
    .asset-pagination { gap: 5px; }
    .asset-entry-hero { display: grid; gap: 16px; padding: 22px 20px; }
    .asset-entry-back { justify-self: start; }
    .asset-entry-steps { overflow-x: auto; }
    .asset-entry-steps a { flex: 0 0 auto; }
    .asset-entry-layout, .asset-entry-main, .asset-entry-aside { gap: 10px; }
    .asset-entry-aside { grid-template-columns: minmax(0, 1fr); }
    .asset-form-section { padding: 19px 16px; }
    .asset-form-section-heading { margin-bottom: 18px; }
    .asset-fields-grid-three, .asset-fields-grid-two { grid-template-columns: 1fr; gap: 14px; }
    .asset-field-span-two { grid-column: auto; }
    .asset-form-actions { align-items: stretch; flex-direction: column; }
    .asset-form-actions > div { width: 100%; }
    .asset-cancel-button, .asset-save-button { flex: 1; min-width: 0; }
    .categories-command-header { align-items: flex-start; flex-direction: column; gap: 17px; padding: 21px 19px; }
    .categories-command-header h2 { font-size: 1.45rem; }
    .categories-primary-action { width: 100%; }
    .category-metrics { grid-template-columns: 1fr; gap: 8px; }
    .category-metric { padding: 12px; }
    .category-list-section, .category-create-rail { padding: 15px; }
    .category-list-tools { grid-template-columns: minmax(0, 1fr) 125px; }
    .category-table { display: block; min-width: 0; }
    .category-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .category-table tbody { display: grid; gap: 9px; padding: 9px; }
    .category-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 5px 11px; border: 1px solid var(--category-line); border-radius: 5px; background: #fff; }
    .category-table tbody tr[hidden] { display: none !important; }
    .category-table td { display: grid; grid-template-columns: minmax(85px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 8px; padding: 8px 2px; border-bottom: 1px solid #edf0ed; font-size: .74rem; overflow-wrap: anywhere; }
    .category-table td::before { content: attr(data-label); color: #768078; font-size: .67rem; font-weight: 700; }
    .category-table td:last-child { border-bottom: 0; }
    .category-table td[data-label="Aksi"] { display: flex; flex-wrap: wrap; gap: 8px; padding: 9px 2px; }
    .category-table td[data-label="Aksi"]::before { flex: 0 0 100%; }
    .category-toggle { width: auto; min-width: 102px; padding: 7px 9px; border-color: #e2e8e2; background: #fff; }
    .category-table td[data-label="Aksi"] .row-action-dropdown { width: auto; }
    .row-action-menu { width: 160px; }
    .category-no-results { display: block !important; text-align: center; }
    .category-no-results::before { content: none !important; }
    .category-pagination { justify-content: center; }
    .dashboard-hero { display: block; padding: 20px; }
    .dashboard-hero .btn { margin-top: 16px; }
    .dashboard-kpis { grid-template-columns: 1fr; }
    .dashboard-filters { grid-template-columns: 1fr; }
    .asset-mix-panel { grid-template-columns: 1fr; }
    .asset-chart-legend { grid-template-columns: 1fr; }
    .dashboard-chart { gap: 5px; }
    .chart-column span { font-size: .55rem; }
    .compact-stats { grid-template-columns: repeat(2, 1fr); }
    .alert-list { grid-template-columns: 1fr; }
    .split-grid, .detail-grid, .form-grid { grid-template-columns: 1fr; }
    .page-head-row { display: block; }
    .page-head-row .btn { margin-top: 12px; }
    .po-summary, .po-total-card { grid-template-columns: repeat(2, 1fr); }
    .po-add-row { display: grid; }
    .po-add-row .btn { width: 100%; }
    .approval-card .actions { display: grid; }
    .dashboard-report-grid { grid-template-columns: 1fr; }
    .signature-grid { gap: 20px; }
}

@media print {
    .print-button { display: none; }
    .print-sheet { margin: 0; max-width: none; }
}

.loan-history-page { --history-ink: #24343c; --history-muted: #75848b; --history-line: #e1e8e8; --history-teal: #247a73; display: grid; gap: 14px; min-width: 0; color: var(--history-ink); }
.loan-history-hero { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 164px; overflow: hidden; padding: 25px 28px; border: 1px solid #1e4148; border-left: 5px solid #d18a6d; border-radius: 8px; background-color: #21434a; background-image: linear-gradient(108deg, rgba(30, 62, 69, .98), rgba(44, 83, 77, .96)), linear-gradient(90deg, transparent 39px, rgba(232, 247, 238, .055) 40px), linear-gradient(transparent 39px, rgba(232, 247, 238, .055) 40px); background-size: auto, 40px 40px, 40px 40px; color: #fff; }
.loan-history-hero-copy { position: relative; z-index: 1; min-width: 0; }
.loan-history-kicker { display: flex; align-items: center; gap: 8px; color: #c1d5ce; font-size: .64rem; font-weight: 800; letter-spacing: .08em; }
.loan-history-kicker i { width: 6px; height: 6px; border-radius: 50%; background: #dd9779; }
.loan-history-kicker b { color: #85a59c; }
.loan-history-hero h2 { margin: 10px 0 5px; color: #fff; font-size: 1.72rem; line-height: 1.16; }
.loan-history-hero p { max-width: 570px; margin: 0; color: #c8d8d2; font-size: .79rem; line-height: 1.55; }
.loan-history-hero-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex: 0 0 auto; padding-top: 15px; }
.loan-history-manage, .loan-history-create { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 12px; border: 1px solid rgba(230, 241, 235, .3); border-radius: 5px; color: #e3ede7; font-size: .67rem; font-weight: 700; white-space: nowrap; transition: background .15s ease, transform .15s ease; }
.loan-history-manage:hover, .loan-history-create:hover { transform: translateY(-1px); background: rgba(255, 255, 255, .09); color: #fff; }
.loan-history-create { border-color: #2d887c; background: #2d887c; color: #fff; }
.loan-history-create:hover { background: #24766c; }
.loan-history-create span { font-size: 1rem; line-height: 1; }
.loan-history-index { position: absolute; right: 28px; bottom: 13px; color: rgba(222, 236, 228, .5); font-size: .53rem; font-weight: 800; letter-spacing: .1em; }
.loan-history-index i { margin: 0 4px; color: #d18a6d; font-style: normal; }
.loan-history-alert { margin: 0; }
.loan-history-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.history-metric { display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 82px; padding: 13px 14px; border: 1px solid var(--history-line); border-radius: 7px; background: #fff; box-shadow: 0 3px 12px rgba(31, 55, 57, .025); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.history-metric:hover { transform: translateY(-2px); border-color: #cadbd7; box-shadow: 0 7px 18px rgba(31, 55, 57, .06); }
.history-metric-icon { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 7px; background: #edf2f3; color: #55717a; }
.history-metric-icon svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.history-metric-icon.is-active { background: #e9f3ef; color: #32775c; }
.history-metric-icon.is-late { background: #f8edeb; color: #a55348; }
.history-metric-icon.is-outstanding { background: #f6f1e7; color: #96743c; }
.history-metric > div { min-width: 0; }
.history-metric small, .history-metric strong, .history-metric > div > span { display: block; }
.history-metric small { color: #6d7d83; font-size: .66rem; font-weight: 600; }
.history-metric strong { margin-top: 2px; color: #283c43; font-size: 1.2rem; line-height: 1.15; }
.history-metric > div > span { margin-top: 3px; color: #929da0; font-size: .58rem; }
.loan-history-panel { min-width: 0; overflow: hidden; border: 1px solid var(--history-line); border-radius: 8px; background: #fff; box-shadow: 0 4px 18px rgba(31, 55, 57, .035); }
.loan-history-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 17px 18px 14px; border-bottom: 1px solid #edf1f1; }
.loan-history-panel-heading > div { min-width: 0; }
.loan-history-panel-heading > div > span { color: #79888d; font-size: .58rem; font-weight: 800; letter-spacing: .08em; }
.loan-history-panel-heading h3 { margin: 4px 0 2px; color: #2c4148; font-size: 1rem; }
.loan-history-panel-heading p { margin: 0; color: #849195; font-size: .68rem; line-height: 1.5; }
.loan-history-total { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #e3ebe9; border-radius: 20px; background: #f7faf9; color: #72817f; font-size: .65rem; white-space: nowrap; }
.loan-history-total strong { color: #26756d; }
.loan-history-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid #edf1f1; background: #fbfcfc; }
.loan-history-search { display: flex; align-items: center; gap: 9px; width: min(100%, 460px); min-height: 40px; padding: 0 10px; border: 1px solid #dfe7e6; border-radius: 6px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.loan-history-search:focus-within { border-color: #78aaa0; box-shadow: 0 0 0 3px rgba(36, 122, 115, .1); }
.loan-history-search > svg { flex: 0 0 17px; width: 17px; height: 17px; stroke: #859392; stroke-width: 1.8; stroke-linecap: round; }
.loan-history-search input { width: 100%; min-width: 0; height: 38px; padding: 0; border: 0; outline: 0; background: transparent; color: #30434a; font: inherit; font-size: .72rem; }
.loan-history-search input::placeholder { color: #9aa5a7; }
.loan-history-search kbd { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 23px; border: 1px solid #e2e8e7; border-radius: 4px; background: #f7f9f8; color: #7b8988; font: inherit; font-size: .65rem; }
.loan-history-toolbar > span { color: #7b898c; font-size: .65rem; text-align: right; }
.loan-history-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.loan-history-table-wrap { max-width: 100%; overflow-x: auto; scrollbar-color: #c8d5d2 transparent; scrollbar-width: thin; }
.loan-history-table-wrap:focus-visible { outline: 3px solid rgba(36, 122, 115, .2); outline-offset: -3px; }
.loan-history-table { width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.loan-history-table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.loan-history-table th, .loan-history-table td { padding: 11px 10px; border-bottom: 1px solid #edf1f1; color: #5b6b70; text-align: left; vertical-align: middle; font-size: .67rem; overflow-wrap: anywhere; }
.loan-history-table th { background: #f6f8f8; color: #748288; font-size: .57rem; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.loan-history-table th:nth-child(1) { width: 16%; }
.loan-history-table th:nth-child(2) { width: 18%; }
.loan-history-table th:nth-child(3), .loan-history-table th:nth-child(4) { width: 13%; }
.loan-history-table th:nth-child(5), .loan-history-table th:nth-child(6) { width: 10%; }
.loan-history-table th:nth-child(7) { width: 13%; }
.loan-history-table th:nth-child(8) { width: 12%; }
.loan-history-table tbody tr[data-loan-history-row] { transition: background .13s ease; }
.loan-history-table tbody tr[data-loan-history-row]:hover { background: #f8fbfa; }
.loan-history-table tbody tr[data-loan-history-row][hidden], .loan-history-empty[hidden] { display: none !important; }
.loan-history-table td small { display: inline-block; margin-top: 3px; color: #879496; font-size: .59rem; }
.loan-history-number { display: block; color: #28776f; font-size: .68rem; }
.loan-history-primary { display: block; color: #30434a; font-size: .7rem; }
.loan-history-primary + small, .loan-history-number + small { display: block !important; }
.loan-history-due { display: inline-flex; flex-direction: column; gap: 2px; color: #56676b; }
.loan-history-due.is-overdue { color: #a04d45; font-weight: 700; }
.loan-history-due small { color: #aa574e; font-size: .56rem; }
.loan-history-status { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border-radius: 20px; font-size: .59rem; font-weight: 700; line-height: 1.2; }
.loan-history-status i { flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.loan-history-status.is-active { background: #eaf4ee; color: #347450; }
.loan-history-status.is-partial { background: #f7f1e5; color: #94733c; }
.loan-history-status.is-complete { background: #edf2f3; color: #586e77; }
.loan-history-status.is-cancelled { background: #f8ecea; color: #a2554b; }
.loan-history-status.is-neutral { background: #eff1f2; color: #68757a; }
.loan-history-detail { display: inline-flex; align-items: center; gap: 5px; color: #26776f; font-size: .64rem; font-weight: 700; white-space: nowrap; }
.loan-history-detail:hover { color: #185b56; text-decoration: underline; }
.loan-history-empty td { padding: 34px 16px !important; text-align: center; }
.loan-history-empty strong, .loan-history-empty span { display: block; }
.loan-history-empty strong { color: #3b5055; font-size: .77rem; }
.loan-history-empty span { margin-top: 5px; color: #899598; font-size: .66rem; }
.loan-history-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 16px; border-top: 1px solid #edf1f1; color: #7d898d; font-size: .65rem; }
.loan-history-pagination[hidden] { display: none !important; }
.loan-history-pagination nav { display: flex; align-items: center; gap: 8px; }
.loan-history-pagination nav > span { min-width: 44px; color: #53666b; font-weight: 700; text-align: center; }
.loan-history-pagination button { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid #dfe7e6; border-radius: 5px; background: #fff; color: #4e6769; cursor: pointer; }
.loan-history-pagination button:hover:not(:disabled) { border-color: #96bcb4; background: #f3f8f6; }
.loan-history-pagination button:disabled { color: #b5bfbe; cursor: not-allowed; }
.loan-history-page :is(a, button, input):focus-visible { outline: 3px solid rgba(36, 122, 115, .22); outline-offset: 2px; }
@media (max-width: 960px) {
    .loan-history-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .loan-history-page { gap: 10px; }
    .loan-history-hero { align-items: flex-start; flex-direction: column; gap: 14px; min-height: 0; padding: 20px 18px 25px; }
    .loan-history-hero h2 { font-size: 1.45rem; }
    .loan-history-hero p { font-size: .72rem; }
    .loan-history-hero-actions { justify-content: flex-start; width: 100%; padding-top: 0; }
    .loan-history-index { right: 18px; bottom: 9px; font-size: .48rem; }
    .loan-history-metrics { gap: 8px; }
    .history-metric { min-height: 72px; gap: 8px; padding: 9px; }
    .history-metric-icon { flex-basis: 30px; width: 30px; height: 30px; }
    .history-metric-icon svg { width: 16px; height: 16px; }
    .history-metric small { font-size: .61rem; }
    .history-metric strong { font-size: 1.05rem; }
    .history-metric > div > span { font-size: .53rem; }
    .loan-history-panel-heading { padding: 13px 12px; }
    .loan-history-toolbar { align-items: stretch; flex-direction: column; padding: 10px 12px; }
    .loan-history-search { width: 100%; }
    .loan-history-toolbar > span { min-height: 13px; text-align: left; }
    .loan-history-table-wrap { overflow: visible; border-top: 1px solid #edf1f1; }
    .loan-history-table { display: block; min-width: 0; }
    .loan-history-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .loan-history-table tbody { display: grid; gap: 9px; padding: 9px; }
    .loan-history-table tbody tr[data-loan-history-row] { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 11px; border: 1px solid #e5ecea; border-radius: 6px; }
    .loan-history-table tbody tr[data-loan-history-row]:hover { background: #fff; }
    .loan-history-table td { display: grid; grid-template-columns: minmax(105px, .72fr) minmax(0, 1.28fr); gap: 9px; padding: 8px 1px; border-bottom: 1px solid #edf1f0; font-size: .68rem; }
    .loan-history-table td::before { content: attr(data-label); color: #7b898b; font-size: .62rem; font-weight: 700; }
    .loan-history-table td:last-child { border-bottom: 0; }
    .loan-history-table td small { margin-top: 2px; }
    .loan-history-empty { display: block !important; }
    .loan-history-empty td { display: block; text-align: center; }
    .loan-history-empty td::before { content: none; }
    .loan-history-pagination { justify-content: center; }
}
@media (max-width: 440px) {
    .loan-history-hero-actions { align-items: stretch; flex-direction: column-reverse; }
    .loan-history-manage, .loan-history-create { width: 100%; }
    .loan-history-manage { justify-content: center; }
    .loan-history-index { display: none; }
    .loan-history-total { padding: 5px 7px; font-size: .59rem; }
    .loan-history-panel-heading h3 { font-size: .9rem; }
    .loan-history-panel-heading p { font-size: .62rem; }
}

/* Shared ASSETTRACK theme for authenticated and guest screens. */
.app-body {
    color: var(--color-text);
    background: var(--color-page);
}
.app-body .app-shell { background: var(--color-page); }
.app-body .sidebar {
    border-right-color: var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    scrollbar-color: #c9d8e5 transparent;
}
.app-body .brand-logo { border-color: var(--color-border); }
.app-body .menu { scrollbar-color: #c9d8e5 transparent; }
.app-body .menu-group { border-top-color: #e8eef4; }
.app-body .menu-label { color: #8493a1; letter-spacing: .045em; }
.app-body .menu a {
    border-left-color: transparent;
    border-radius: 6px;
    color: #52667a;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.app-body .menu a:hover { background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body .menu a.active {
    border-left-color: var(--color-primary);
    background: var(--color-primary-light);
    color: #075e9d;
}
.app-body .logout-form { border-top-color: var(--color-border); }
.app-body .logout-form button {
    border-color: var(--color-border);
    border-radius: 6px;
    color: #52667a;
    text-transform: none;
}
.app-body .logout-form button:hover { border-color: #b6d2e8; background: #f4f9fd; color: var(--color-primary-hover); }
.app-body .main { background: var(--color-page); }
.app-body .topbar {
    border-bottom-color: var(--color-border);
    background: var(--color-surface);
    box-shadow: 0 2px 8px rgba(20, 40, 61, .025);
}
.app-body .topbar h1 { color: var(--color-navy); }
.app-body .topbar p { color: var(--color-text-secondary); }
.app-body .topbar-user em { color: var(--color-primary); }
.app-body .notification-menu summary { color: var(--color-navy-secondary); }
.app-body .notification-menu summary:hover { color: var(--color-primary-hover); }
.app-body .notification-menu summary b { background: var(--color-primary); }
.app-body .notification-dropdown {
    border-color: var(--color-border);
    border-radius: 9px;
    box-shadow: 0 12px 28px rgba(20, 40, 61, .13);
}
.app-body .notification-dropdown a,
.app-body .notification-dropdown-item button { color: var(--color-text); }
.app-body .notification-dropdown a:hover,
.app-body .notification-dropdown a.unread,
.app-body .notification-dropdown-item button:hover,
.app-body .notification-dropdown-item.unread button { background: var(--color-primary-light); }
.app-body .notification-dropdown .notification-all { border-top-color: var(--color-border); color: var(--color-primary-hover); }
.app-body .content { color: var(--color-text); }
.app-body a { color: var(--color-primary-hover); }
.app-body a:hover { color: #04568f; }
.app-body .btn,
.guest-body:not(.guest-body-login) .btn {
    min-height: 40px;
    border-radius: 6px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.app-body .btn-primary,
.guest-body:not(.guest-body-login) .btn-primary {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .btn-primary:hover,
.guest-body:not(.guest-body-login) .btn-primary:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: #fff;
}
.app-body a[class*="primary"],
.app-body button[class*="primary"] {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #fff;
}
.app-body a[class*="primary"]:hover,
.app-body button[class*="primary"]:hover {
    border-color: var(--color-primary-hover);
    background-color: var(--color-primary-hover);
    color: #fff;
}
.app-body a[class*="secondary"],
.app-body button[class*="secondary"] {
    border-color: var(--color-border);
    background-color: var(--color-surface);
    color: var(--color-text);
}
.app-body a[class*="secondary"]:hover,
.app-body button[class*="secondary"]:hover {
    border-color: #b8d0e4;
    background-color: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body button[class*="submit"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]),
.app-body button[class*="save"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]),
.app-body button[class*="apply"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]),
.app-body button[class*="confirm"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]),
.app-body button[class*="create"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]) {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #fff;
}
.app-body button[class*="submit"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]):hover,
.app-body button[class*="save"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]):hover,
.app-body button[class*="apply"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]):hover,
.app-body button[class*="confirm"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]):hover,
.app-body button[class*="create"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="cancel"]):hover {
    border-color: var(--color-primary-hover);
    background-color: var(--color-primary-hover);
    color: #fff;
}
.app-body .btn-ghost {
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
}
.app-body .btn-ghost:hover { border-color: #b8d0e4; background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body .btn-danger,
.guest-body:not(.guest-body-login) .btn-danger { border-color: var(--color-danger); background: var(--color-danger); color: #fff; }
.app-body .btn-success,
.guest-body:not(.guest-body-login) .btn-success { border-color: var(--color-success); background: var(--color-success); color: #fff; }
.app-body .btn-warning,
.guest-body:not(.guest-body-login) .btn-warning { border-color: var(--color-warning); background: var(--color-warning); color: #fff; }
.app-body :is(input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="tel"], input[type="url"], input[type="time"], select, textarea),
.guest-body:not(.guest-body-login) :is(input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="tel"], input[type="url"], input[type="time"], select, textarea) {
    min-height: 40px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background-color: #fff;
    color: var(--color-text);
    font: inherit;
    font-size: .84rem;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.app-body textarea,
.guest-body:not(.guest-body-login) textarea { min-height: 88px; }
.app-body :is(input, select, textarea)::placeholder,
.guest-body:not(.guest-body-login) :is(input, textarea)::placeholder { color: #97a5b3; }
.app-body :is(input, select, textarea):focus,
.guest-body:not(.guest-body-login) :is(input, select, textarea):focus {
    outline: 0;
    border-color: #5cabe1;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(8, 127, 208, .13);
}
.app-body :is(input, select, textarea):disabled,
.guest-body:not(.guest-body-login) :is(input, select, textarea):disabled { border-color: #e4eaf0; background: #f1f4f7; color: #8592a0; cursor: not-allowed; }
.app-body input[type="checkbox"],
.app-body input[type="radio"],
.guest-body:not(.guest-body-login) input[type="checkbox"],
.guest-body:not(.guest-body-login) input[type="radio"] { accent-color: var(--color-primary); }
.app-body table { border-color: var(--color-border); }
.app-body th,
.app-body td { border-bottom-color: #e7edf3; color: #40566b; }
.app-body th { background: #f2f6fa; color: #526a80; }
.app-body tbody tr:hover { background-color: #f4f9fd; }
.app-body .table-wrap {
    border: 1px solid var(--color-border);
    border-radius: 9px;
    background: var(--color-surface);
    box-shadow: 0 4px 14px rgba(20, 40, 61, .04);
}
.app-body [class*="-panel"] {
    border-color: var(--color-border);
    border-radius: 8px;
    background-color: var(--color-surface);
}
.app-body [class*="-card"]:not(.barcode-label-card) {
    border-color: var(--color-border);
    border-radius: 8px;
    background-color: var(--color-surface);
    box-shadow: 0 4px 14px rgba(20, 40, 61, .045);
}
.app-body [class*="-card"]:not(.barcode-label-card):hover {
    border-color: #bfd3e2;
    box-shadow: 0 7px 18px rgba(20, 40, 61, .075);
}
.app-body .stat-card,
.app-body .profile-card,
.app-body .profile-form,
.app-body .auth-card,
.app-body .modal-card {
    border: 1px solid var(--color-border);
    border-radius: 9px;
    background: var(--color-surface);
    box-shadow: 0 5px 18px rgba(20, 40, 61, .05);
}
.app-body .stat-card { border-top: 3px solid #aec8dc; }
.app-body .stat-card.accent { border-top-color: var(--color-primary); }
.app-body .badge { border-radius: 5px; font-size: .72rem; }
.app-body .badge-pending { background: #fff4d6; color: #80520c; }
.app-body .badge-active { background: #e4f4ec; color: #146943; }
.app-body .badge-rejected { background: #fdecea; color: #a12a2a; }
.app-body .badge-inactive { background: #edf1f5; color: #596a7a; }
.app-body .alert { border: 1px solid transparent; border-radius: 7px; }
.app-body .alert-error { border-color: #f0caca; background: #fff1f0; color: #a12a2a; }
.app-body .alert-success { border-color: #c4e6d4; background: #ebf8f1; color: #146943; }
.app-body .tabs a { border-color: var(--color-border); border-radius: 6px; color: var(--color-text-secondary); }
.app-body .tabs a.active { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.app-body .pagination a { border-color: var(--color-border); border-radius: 6px; color: var(--color-primary-hover); }
.app-body .pagination a.active { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.app-body [class*="pagination"] a,
.app-body [class*="pagination"] button { border-color: var(--color-border); border-radius: 6px; }
.app-body [class*="pagination"] a.active,
.app-body [class*="pagination"] button.active { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) {
    border-color: #1b344d;
    background: linear-gradient(112deg, #14283d, #1b344d);
    color: #fff;
}
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(h1, h2, h3) { color: #fff; }
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) p { color: #c5d2de; }
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) [class*="kicker"] { color: #aec5d8; }
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) a:not([class*="primary"]) { color: #e3edf6; }
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) a:not([class*="primary"]):hover { color: #fff; }
.app-body .barcode-user-scan-page {
    --barcode-ink: var(--color-text);
    --barcode-muted: var(--color-text-secondary);
    --barcode-line: var(--color-border);
    --barcode-teal: var(--color-primary);
    --barcode-coral: var(--color-primary);
}
.app-body .barcode-user-scan-page .barcode-scan-hero { border-left-color: var(--color-primary); }
.app-body .barcode-user-scan-page .barcode-scan-hero > a {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .barcode-user-scan-page .barcode-scan-hero > a:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: #fff;
}
.app-body .barcode-user-scan-page .barcode-scan-hero > a span { color: #fff; }
.app-body .barcode-user-scan-page .barcode-scan-panel-heading > div > span i { background: var(--color-primary); }
.app-body .barcode-user-scan-page .barcode-scan-panel-heading h3,
.app-body .barcode-user-scan-page .barcode-result-heading h3 { color: var(--color-text); }
.app-body .barcode-user-scan-page .barcode-scan-methods > span.is-current { color: var(--color-primary-hover); }
.app-body .barcode-user-scan-page .barcode-scan-methods > span.is-current i {
    border-color: var(--color-primary);
    background: var(--color-primary);
}
.app-body .barcode-user-scan-page .scanner-stage,
.app-body .barcode-user-scan-page .scanner-stage video { background: var(--color-navy); }
.app-body .barcode-user-scan-page .scanner-overlay {
    border-color: rgba(220, 229, 238, .76);
    box-shadow: inset 0 0 0 9999px rgba(10, 30, 48, .22);
}
.app-body .barcode-user-scan-page .scan-actions .btn { color: var(--color-text-secondary); }
.app-body .barcode-user-scan-page .scan-actions .btn:hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body .barcode-user-scan-page .scan-actions .btn-primary {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .barcode-user-scan-page .scan-actions .btn-primary:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: #fff;
}
.app-body .barcode-user-scan-page .manual-entry label { color: var(--color-text); }
.app-body .barcode-user-scan-page .manual-row input:focus {
    outline-color: rgba(8, 127, 208, .16);
    border-color: var(--color-primary);
}
.app-body .barcode-user-scan-page .manual-row .btn {
    border-color: var(--color-primary);
    background: var(--color-primary);
}
.app-body .barcode-user-scan-page .manual-row .btn:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
}
.app-body .barcode-user-scan-page .barcode-result-heading > span {
    border-color: #cfe3f2;
    background: var(--color-primary-light);
    color: var(--color-primary);
}
.app-body .barcode-user-scan-page .asset-result.empty {
    border-color: #c9dceb;
    background: #f5f9fc;
    color: var(--color-text-secondary);
}
.app-body .barcode-user-scan-page .asset-result.empty p,
.app-body .barcode-user-scan-page .asset-head p,
.app-body .barcode-user-scan-page .asset-grid span,
.app-body .barcode-user-scan-page .barcode-scan-divider { color: var(--color-text-secondary); }
.app-body .barcode-user-scan-page .asset-result.empty::before {
    border-color: #9bbbd2;
    background: repeating-linear-gradient(90deg, #5489ad 0 2px, transparent 2px 5px, #5489ad 5px 6px, transparent 6px 10px);
}
.app-body .barcode-user-scan-page .asset-image,
.app-body .barcode-user-scan-page .asset-empty-image {
    border-color: #cfe0ec;
    background: #f0f6fb;
}
.app-body .barcode-user-scan-page .asset-head h4,
.app-body .barcode-user-scan-page .asset-grid strong { color: var(--color-text); }
.app-body .barcode-user-scan-page :is(a, button, input):focus-visible { outline-color: rgba(8, 127, 208, .24); }
.app-body .asset-entry-page { --asset-ink: var(--color-text); --asset-muted: var(--color-text-secondary); --asset-line: var(--color-border); --asset-accent: var(--color-primary); }
.app-body .categories-page { --category-ink: var(--color-text); --category-muted: var(--color-text-secondary); --category-line: var(--color-border); --category-accent: var(--color-primary); --category-accent-dark: var(--color-navy); }
.app-body .category-metric-active .category-metric-icon,
.app-body .category-status.is-active { background: #e5f4ec; color: var(--color-success); }
.app-body .category-status.is-inactive { background: #edf1f5; color: #64758a; }
.app-body .category-toggle.toggle-activate { color: var(--color-success); }
.app-body .category-toggle.toggle-activate:hover { background: #eaf7f0; color: #116d48; }
.app-body .nav-toggle { align-items: center; justify-content: center; border-radius: 7px; background: var(--color-primary); }
.app-body .nav-toggle:hover { background: var(--color-primary-hover); }
.app-body :is(a, button, input, select, textarea, summary):focus-visible,
.guest-body:not(.guest-body-login) :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(8, 127, 208, .24);
    outline-offset: 2px;
}
.guest-body:not(.guest-body-login) { background: var(--color-page); color: var(--color-text); }
.guest-body:not(.guest-body-login) .auth-card { border: 1px solid var(--color-border); border-radius: 10px; box-shadow: 0 8px 24px rgba(20, 40, 61, .07); }
.guest-body:not(.guest-body-login) a { color: var(--color-primary-hover); }
@media (max-width: 720px) {
    .app-body .content { padding: 16px; }
    .app-body .sidebar { box-shadow: 12px 0 30px rgba(20, 40, 61, .12); }
    .app-body .overlay { background: rgba(20, 40, 61, .38); }
}

/* Shared action button system: primary blue, secondary neutral, danger semantic. */
.app-body :is(button, a)[class*="primary"],
.app-body :is(button, a)[class*="submit"],
.app-body :is(button, a)[class*="save"],
.app-body :is(button, a)[class*="create"],
.app-body :is(button, a)[class*="confirm"],
.app-body :is(button, a)[class*="add-button"],
.app-body :is(button, a)[class*="print-button"],
.app-body :is(button, a)[class*="export-button"],
.app-body :is(button, a)[class*="import-button"],
.app-body :is(button, a)[class*="scan-button"],
.app-body :is(button, a)[class*="search-button"],
.app-body :is(button, a)[class*="approve"],
.app-body :is(button, a)[class*="filter-submit"],
.app-body form:not(.notification-dropdown-item):not(.notification-item-form):not(.asset-deactivation-panel):not(.logout-form) button[type="submit"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="remove"]):not([class*="activate"]):not([class*="deactivate"]):not([class*="cancel"]):not([class*="logout"]):not([class*="notification-item"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid var(--color-primary);
    border-radius: 7px;
    background: var(--color-primary);
    color: #fff;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    box-shadow: 0 1px 2px rgba(20, 40, 61, .07);
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    cursor: pointer;
}
.app-body :is(button, a)[class*="primary"]:hover,
.app-body :is(button, a)[class*="submit"]:hover,
.app-body :is(button, a)[class*="save"]:hover,
.app-body :is(button, a)[class*="create"]:hover,
.app-body :is(button, a)[class*="confirm"]:hover,
.app-body :is(button, a)[class*="add-button"]:hover,
.app-body :is(button, a)[class*="print-button"]:hover,
.app-body :is(button, a)[class*="export-button"]:hover,
.app-body :is(button, a)[class*="import-button"]:hover,
.app-body :is(button, a)[class*="scan-button"]:hover,
.app-body :is(button, a)[class*="search-button"]:hover,
.app-body :is(button, a)[class*="approve"]:hover,
.app-body :is(button, a)[class*="filter-submit"]:hover,
.app-body form:not(.notification-dropdown-item):not(.notification-item-form):not(.asset-deactivation-panel):not(.logout-form) button[type="submit"]:not([class*="danger"]):not([class*="delete"]):not([class*="reject"]):not([class*="remove"]):not([class*="activate"]):not([class*="deactivate"]):not([class*="cancel"]):not([class*="logout"]):not([class*="notification-item"]):hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: #fff;
    box-shadow: 0 3px 8px rgba(8, 127, 208, .18);
    transform: translateY(-1px);
}
.app-body :is(button, a)[class*="secondary"],
.app-body :is(button, a)[class*="ghost"],
.app-body :is(button, a)[class*="cancel"],
.app-body :is(button, a)[class*="back-link"],
.app-body :is(button, a)[class*="history-link"],
.app-body :is(button, a)[class*="manage-link"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid var(--color-border);
    border-radius: 7px;
    background: var(--color-surface);
    color: var(--color-text);
    font-family: inherit;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    cursor: pointer;
}
.app-body button.admin-user-action:not([class*="approve"]):not([class*="reject"]) {
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-text);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}
.app-body button.admin-user-action:not([class*="approve"]):not([class*="reject"]):hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body .category-toggle,
.app-body .location-toggle {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    font-size: .72rem;
    font-weight: 700;
}
.app-body :is(.category-toggle, .location-toggle).toggle-activate { color: var(--color-success); }
.app-body :is(.category-toggle, .location-toggle).toggle-activate:hover { border-color: #bde1cd; background: #eaf7f0; color: #116d48; }
.app-body :is(.category-toggle, .location-toggle).toggle-deactivate { color: #986919; }
.app-body :is(.category-toggle, .location-toggle).toggle-deactivate:hover { border-color: #ead8b6; background: #fff7e7; color: #80550d; }
.app-body .barcode-selection-controls button {
    min-height: 34px;
    padding: 6px 10px;
    border-color: var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-text);
    font-size: .72rem;
}
.app-body .barcode-selection-controls button:hover { border-color: #b8d0e4; background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body :is(button, a)[class*="secondary"]:hover,
.app-body :is(button, a)[class*="ghost"]:hover,
.app-body :is(button, a)[class*="cancel"]:hover,
.app-body :is(button, a)[class*="back-link"]:hover,
.app-body :is(button, a)[class*="history-link"]:hover,
.app-body :is(button, a)[class*="manage-link"]:hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="secondary"],
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="history-link"],
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="manage-link"],
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="back-link"] {
    min-height: 40px;
    padding: 8px 4px;
    border-color: transparent;
    background: transparent;
    color: #e3edf6;
    box-shadow: none;
}
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="secondary"]:hover,
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="history-link"]:hover,
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="manage-link"]:hover,
.app-body :is([class*="-hero"]:not([class*="-copy"]):not([class*="-actions"]):not([class*="-index"]), [class*="command-header"], [class*="list-header"], .asset-list-header) :is(a, button)[class*="back-link"]:hover {
    border-color: transparent;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    box-shadow: none;
    transform: none;
}
.app-body :is(button, a)[class*="danger"],
.app-body :is(button, a)[class*="reject"] {
    border-color: var(--color-danger);
    background: var(--color-danger);
    color: #fff;
}
.app-body :is(button, a)[class*="danger"]:hover,
.app-body :is(button, a)[class*="reject"]:hover {
    border-color: #bd3434;
    background: #bd3434;
    color: #fff;
}
.app-body :is(button, a)[class*="delete"],
.app-body :is(button, a)[class*="remove"] {
    border-color: #f0cccc;
    background: #fff4f3;
    color: #a83232;
}
.app-body :is(button, a)[class*="delete"]:hover,
.app-body :is(button, a)[class*="remove"]:hover {
    border-color: #e5aaaa;
    background: #fde9e7;
    color: #922626;
}
.app-body button:disabled,
.app-body button[disabled] {
    border-color: #e1e7ec;
    background: #edf1f5;
    color: #94a0ab;
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
}
.app-body [class*="pagination"] button,
.app-body [class*="pagination"] a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-primary-hover);
    font-family: inherit;
    font-size: .75rem;
    font-weight: 700;
    text-decoration: none;
}
.app-body [class*="pagination"] button:hover:not(:disabled),
.app-body [class*="pagination"] a:hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body [class*="pagination"] button.is-current,
.app-body [class*="pagination"] button[aria-current="page"],
.app-body [class*="pagination"] a.active,
.app-body [class*="pagination"] a[aria-current="page"] {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .asset-dashboard .category-value-track i {
    background: linear-gradient(90deg, var(--color-primary-hover), var(--color-primary));
}
.app-body .asset-dashboard :is(a, button, input, select):focus-visible {
    outline-color: rgba(8, 127, 208, .24);
}
.app-body .asset-import-page .import-template-link { color: var(--color-primary-hover); }
.app-body .asset-import-page .import-template-link > span { color: var(--color-primary); }
.app-body .asset-import-page .import-template-link:hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body .asset-import-page {
    --import-ink: var(--color-text);
    --import-muted: var(--color-text-secondary);
    --import-line: var(--color-border);
    --import-green: var(--color-primary);
    --import-green-dark: var(--color-primary-hover);
}
.app-body .asset-import-page .import-kicker { color: #aec5d8; }
.app-body .asset-import-page .import-kicker i { background: #e58a73; }
.app-body .asset-import-page .import-type-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 14px;
    padding: 5px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: #edf3f8;
}
.app-body .asset-import-page .import-type-tabs a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 37px;
    padding: 7px 13px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--color-text-secondary);
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}
.app-body .asset-import-page .import-type-tabs a:hover { background: #fff; color: var(--color-primary-hover); }
.app-body .asset-import-page .import-type-tabs a.is-current {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .asset-import-page .import-step-number { background: var(--color-primary); }
.app-body .asset-import-page .import-dropzone { border-color: #a9c8dd; background: #f5f9fc; }
.app-body .asset-import-page .import-dropzone:hover,
.app-body .asset-import-page .import-dropzone:focus-within { border-color: var(--color-primary); background: var(--color-primary-light); }
.app-body .asset-import-page .import-upload-icon { background: var(--color-primary-light); color: var(--color-primary); }
.app-body .asset-import-page .import-guide-panel { border-top-color: var(--color-primary); background: #f7f9fb; }
.app-body .asset-import-page .import-guide-kicker { color: var(--color-primary-hover); }
.app-body .asset-import-page .import-steps-list li > span { border-color: #cfe0ef; color: var(--color-primary-hover); }
.app-body .asset-import-page .import-master-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-body .asset-import-page .import-master-preview-table { min-width: 860px; }
.app-body .asset-import-page .import-type-tabs a { flex: 1 1 auto; }
.app-body .asset-import-page .import-preview-button,
.app-body .asset-import-page .import-confirm-button {
    border-color: var(--color-primary);
    background: var(--color-primary);
}
.app-body .asset-import-page .import-preview-button:hover,
.app-body .asset-import-page .import-confirm-button:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
}
.app-body .asset-import-page .import-confirm-bar { border-color: #d5e3ee; background: #f1f6fa; }
.app-body .asset-import-page .import-confirm-bar p strong,
.app-body .asset-import-page .import-preview-heading p strong { color: var(--color-primary-hover); }
.app-body .asset-import-page :is(a, button, input, select, summary):focus-visible { outline-color: rgba(8, 127, 208, .24); }
@media (max-width: 720px) {
    .app-body .asset-import-page .import-master-preview-table { min-width: 0; }
}
.app-body .category-pagination button.is-current {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
.app-body .row-action-menu .menu-delete,
.app-body .row-action-menu .menu-delete:hover { border-color: transparent; background: transparent; color: #a83232; }
.app-body .row-action-menu .menu-delete:hover { background: #fff1f0; }
.app-body .row-action-menu .menu-activate,
.app-body .row-action-menu .menu-deactivate { min-height: 34px; padding: 7px 9px; border-color: transparent; background: transparent; color: var(--color-text); box-shadow: none; transform: none; }
.app-body .row-action-menu .menu-activate:hover,
.app-body .row-action-menu .menu-deactivate:hover { border-color: transparent; background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body .asset-entry-page {
    --asset-ink: var(--color-text);
    --asset-muted: var(--color-text-secondary);
    --asset-line: var(--color-border);
    --asset-accent: var(--color-primary);
    --asset-coral: var(--color-danger);
    gap: 16px;
}
.app-body .asset-entry-page .asset-entry-hero {
    min-height: 148px;
    padding: 26px 30px;
    border: 1px solid #1b344d;
    border-left: 4px solid #e58a73;
    border-radius: 9px;
    background: linear-gradient(112deg, #14283d, #1b344d);
    color: #fff;
}
.app-body .asset-entry-page .asset-entry-hero h2 { color: #fff; font-size: 1.75rem; line-height: 1.2; }
.app-body .asset-entry-page .asset-entry-hero p { color: #c5d2de; font-size: .82rem; }
.app-body .asset-entry-page .asset-entry-kicker { color: #aec5d8; }
.app-body .asset-entry-page .asset-entry-kicker b { color: #748ba0; }
.app-body .asset-entry-page .asset-entry-kicker i { background: #e58a73; }
.app-body .asset-entry-page .asset-entry-back {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid rgba(226, 237, 246, .3);
    border-radius: 7px;
    background: rgba(255, 255, 255, .06);
    color: #e3edf6;
    font-size: .75rem;
}
.app-body .asset-entry-page .asset-entry-back:hover { border-color: rgba(226, 237, 246, .65); background: rgba(255, 255, 255, .1); color: #fff; }
.app-body .asset-entry-page .asset-entry-back span { color: #e58a73; }
.app-body .asset-entry-page .asset-entry-steps { gap: 5px; padding: 5px; border-color: var(--color-border); border-radius: 8px; background: #f4f7fa; }
.app-body .asset-entry-page .asset-entry-steps a { min-height: 38px; padding: 7px 10px; border-radius: 6px; color: var(--color-text-secondary); }
.app-body .asset-entry-page .asset-entry-steps a:hover { background: #fff; color: var(--color-primary-hover); }
.app-body .asset-entry-page .asset-entry-steps a span { border-color: #d4e0ea; color: var(--color-primary-hover); }
.app-body .asset-entry-page .asset-form-section,
.app-body .asset-entry-page .asset-entry-context {
    border-color: var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    box-shadow: 0 4px 14px rgba(20, 40, 61, .04);
}
.app-body .asset-entry-page .asset-form-section-heading { border-bottom-color: #e7edf3; }
.app-body .asset-entry-page .asset-section-index { border-color: #d8e6f0; background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body .asset-entry-page .asset-section-eyebrow { color: var(--color-text-secondary); }
.app-body .asset-entry-page .asset-field { color: #40566b; }
.app-body .asset-entry-page .asset-field input,
.app-body .asset-entry-page .asset-field select,
.app-body .asset-entry-page .asset-field textarea {
    min-height: 40px;
    border-color: var(--color-border);
    border-radius: 6px;
    background: #fbfcfe;
    color: var(--color-text);
}
.app-body .asset-entry-page .asset-field textarea { min-height: 94px; }
.app-body .asset-entry-page .asset-field :is(input, select, textarea):focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(8, 127, 208, .13);
}
.app-body .asset-entry-page .asset-total-card { border-color: #cfe0ef; border-radius: 7px; background: #f2f7fb; }
.app-body .asset-entry-page .asset-total-label,
.app-body .asset-entry-page .asset-total-card small { color: var(--color-text-secondary); }
.app-body .asset-entry-page .asset-total-card strong { color: var(--color-primary-hover); }
.app-body .asset-entry-page .asset-form-actions {
    padding: 13px 16px;
    border-color: var(--color-border);
    border-radius: 8px;
    background: #f7f9fb;
}
.app-body .asset-entry-page .asset-cancel-button,
.app-body .asset-entry-page .asset-save-button {
    min-height: 40px;
    border-radius: 7px;
    font-size: .78rem;
}
.app-body .asset-entry-page .asset-cancel-button {
    border-color: var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
}
.app-body .asset-entry-page .asset-cancel-button:hover { border-color: #b8d0e4; background: var(--color-primary-light); color: var(--color-primary-hover); }
.app-body .asset-entry-page .asset-save-button {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
    box-shadow: 0 1px 2px rgba(20, 40, 61, .07);
}
.app-body .asset-entry-page .asset-save-button:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: #fff;
    box-shadow: 0 3px 8px rgba(8, 127, 208, .18);
}
.app-body .asset-entry-page :is(a, button, input, select, textarea):focus-visible { outline-color: rgba(8, 127, 208, .24); }
@media (max-width: 720px) {
    .app-body .asset-entry-page .asset-entry-hero { padding: 22px 20px; }
    .app-body .asset-entry-page .asset-form-actions > div { gap: 8px; }
}
.app-body .sidebar {
    width: 220px;
    flex-basis: 220px;
    padding: 13px 9px 12px;
    border-right-color: #e4eaf1;
    background: #fff;
    box-shadow: 2px 0 12px rgba(20, 40, 61, .035);
}
.app-body .brand { margin: 0 -9px 13px; padding: 0 9px 12px; border-bottom: 1px solid #edf1f5; }
.app-body .brand-logo { padding: 6px 4px; border: 0; background: transparent; }
.app-body .menu { gap: 2px; padding-right: 1px; scrollbar-color: #cfdae5 transparent; }
.app-body .menu-group { gap: 2px; padding: 9px 0 7px; border-top-color: #edf1f5; }
.app-body .menu-group:first-child { padding-top: 3px; }
.app-body .menu-label { margin: 0 0 3px; padding: 0 9px; color: #7c8da0; font-size: .61rem; letter-spacing: .035em; }
.app-body .menu a {
    position: relative;
    gap: 9px;
    min-height: 33px;
    padding: 6px 9px;
    border: 0;
    border-radius: 6px;
    color: #52677d;
    font-size: .76rem;
    font-weight: 500;
}
.app-body .menu a::before {
    display: inline-grid;
    place-items: center;
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    color: #71869a;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1;
    content: "•";
}
.app-body .menu a:hover { background: #f0f6fc; color: var(--color-primary-hover); }
.app-body .menu a:hover::before,
.app-body .menu a.active::before { color: var(--color-primary); }
.app-body .menu a[href*="/assets"]::before { content: "▣"; }
.app-body .menu a.active {
    border: 0;
    background: #e8f3fd;
    color: #075e9d;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--color-primary);
}
.app-body .menu a[href*="/dashboard"]::before { content: "⌂"; }
.app-body .menu a[href*="/assets/create"]::before { content: "+"; }
.app-body .menu a[href*="/assets/categories"]::before { content: "▦"; }
.app-body .menu a[href*="/assets/locations"]::before { content: "⌖"; }
.app-body .menu a[href*="/assets/import"]::before { content: "⇧"; }
.app-body .menu a[href*="/assets/export"]::before { content: "⇩"; }
.app-body .menu a[href*="/assets/barcodes"]::before { content: "▧"; }
.app-body .menu a[href*="/loans"]::before { content: "◷"; }
.app-body .menu a[href*="/returns"]::before { content: "↩"; }
.app-body .menu a[href*="/maintenance"]::before { content: "⚒"; }
.app-body .menu a[href*="/scan"]::before { content: "◎"; }
.app-body .menu a[href*="/notifications"]::before { content: "♧"; }
.app-body .menu a[href*="/reports"]::before { content: "▤"; }
.app-body .menu a[href*="/users"]::before { content: "♙"; }
.app-body .menu a[href*="/settings"]::before { content: "⚙"; }
.app-body .menu a[href*="/profile"]::before { content: "◉"; }
.app-body .logout-form { margin-top: 8px; padding-top: 9px; border-top-color: #edf1f5; }
.app-body .logout-form button { min-height: 35px; border-radius: 6px; color: #64788b; font-size: .75rem; }
.app-body .topbar {
    position: relative;
    min-height: 58px;
    padding: 10px 22px;
    border-bottom: 0;
    background: linear-gradient(105deg, #14283d, #173b60);
    color: #fff;
    box-shadow: 0 2px 8px rgba(10, 35, 59, .12);
}
.app-body .topbar h1 { margin: 0; color: #fff; font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; }
.app-body .topbar p { margin: 2px 0 0; color: #abc1d6; font-size: .63rem; }
.app-body .topbar-user { position: relative; padding-left: 37px; color: #fff; }
.app-body .topbar-user::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    background: #e7f2fb;
    color: var(--color-primary);
    font-size: .8rem;
    content: "●";
}
.app-body .topbar-user span { color: #fff; font-size: .76rem; }
.app-body .topbar-user em { color: #b9cde0; font-size: .61rem; }
.app-body .notification-menu summary { color: #e4edf6; font-size: .74rem; }
.app-body .notification-menu summary:hover { color: #fff; }
.app-body .notification-menu summary b { background: #df4e5b; }
.app-body .notification-dropdown { color: var(--color-text); }
.app-body .nav-toggle { border-radius: 6px; background: var(--color-primary); }
@media (min-width: 961px) {
    .app-body .sidebar { width: 220px; flex-basis: 220px; padding: 13px 9px 12px; }
}
@media (max-width: 960px) {
    .app-body .sidebar { width: 250px; flex-basis: 250px; padding: 13px 9px 12px; }
    .app-body .topbar { min-height: 56px; padding: 9px 16px; }
}
@media (max-width: 520px) {
    .app-body .topbar { gap: 8px; padding: 9px 11px; }
    .app-body .topbar-user { padding-left: 0; }
    .app-body .topbar-user::before { display: none; }
    .app-body .notification-menu summary { font-size: .68rem; }
}
.app-body table:not(.barcode-label-table) {
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-surface);
}
@media (min-width: 721px) {
    .app-body table:not(.barcode-label-table) th {
        padding: 12px 14px;
        border-bottom: 1px solid var(--color-border);
        background: #f1f6fb;
        color: #526a80;
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .045em;
        line-height: 1.35;
        text-align: left;
        text-transform: uppercase;
    }
    .app-body table:not(.barcode-label-table) td {
        padding: 12px 14px;
        border-bottom: 1px solid #e7edf3;
        color: #40566b;
        font-size: .76rem;
        line-height: 1.45;
        vertical-align: middle;
    }
    .app-body table:not(.barcode-label-table) tbody tr:last-child td { border-bottom-color: transparent; }
    .app-body table:not(.barcode-label-table) :is(td, th) strong { color: var(--color-navy); }
}
.app-body table:not(.barcode-label-table) tbody tr:hover { background: #f7faff; }
.app-body [class*="pagination"] {
    gap: 6px;
}
.app-body [class*="pagination"] button,
.app-body [class*="pagination"] a {
    min-width: 36px;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid var(--color-border);
    border-radius: 7px;
    background: #fff;
    color: var(--color-primary-hover);
    font-family: inherit;
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.app-body [class*="pagination"] button:hover:not(:disabled),
.app-body [class*="pagination"] a:hover {
    border-color: #b8d0e4;
    background: var(--color-primary-light);
    color: var(--color-primary-hover);
}
.app-body [class*="pagination"] button.is-current,
.app-body [class*="pagination"] button.active,
.app-body [class*="pagination"] button[aria-current="page"],
.app-body [class*="pagination"] a.active,
.app-body [class*="pagination"] a[aria-current="page"] {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}
