:root {
    --rg-gold:#c79739;
    --rg-dark:#111318;
    --rg-muted:#687080;
    --rg-paper:#f5f5f2;
    --bs-primary:#85601e;
    --bs-primary-rgb:133,96,30;
    --bs-border-radius:.75rem
}
body {
    background:var(--rg-paper);
    color:#22252b;
    font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:.925rem
}
a {
    color:#805c19
}
a:hover {
    color:#513a10
}
.btn-primary {
    --bs-btn-bg:#85601e;
    --bs-btn-border-color:#85601e;
    --bs-btn-hover-bg:#674913;
    --bs-btn-hover-border-color:#674913;
    --bs-btn-active-bg:#513a10
}
.btn-outline-primary {
    --bs-btn-color:#805c19;
    --bs-btn-border-color:#ad8336;
    --bs-btn-hover-bg:#85601e;
    --bs-btn-hover-border-color:#85601e
}
.sidebar {
    background:var(--rg-dark);
    width:244px;
    position:fixed;
    inset:0 auto 0 0;
    z-index:1030;
    overflow-y:auto;
    padding:1.4rem 1rem;
    color:#fff
}
.brand {
    display:flex;
    align-items:center;
    gap:.65rem;
    color:#fff;
    text-decoration:none;
    padding:0 .45rem 1.5rem
}
.brand img {
    height:50px;
    width:50px;
    object-fit:contain
}
.brand strong {
    font-family:Georgia,serif;
    font-size:1.22rem;
    letter-spacing:.04em
}
.brand small {
    display:block;
    color:#b9a476;
    letter-spacing:.18em;
    font-size:.58rem;
    margin-top:.25rem
}
.nav-group {
    color:#9c9ea5;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:.65rem;
    margin:1.35rem .8rem .5rem
}
.sidebar .nav-link {
    color:#c3c5cb;
    display:flex;
    gap:.65rem;
    padding:.65rem .85rem;
    border-radius:.55rem;
    margin-bottom:.2rem
}
.sidebar .nav-link:hover,.sidebar .nav-link.active {
    color:#fff;
    background:#292722
}
.sidebar .nav-link.active {
    box-shadow:inset 3px 0 var(--rg-gold)
}
.nav-symbol {
    color:#c5a361;
    min-width:1.2rem
}
.workspace {
    margin-left:244px;
    min-height:100vh
}
.topbar {
    background:#fff;
    border-bottom:1px solid #e6e7e9;
    padding:1rem 2rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem
}
.content {
    padding:2rem;
    max-width:1580px;
    margin:auto
}
.eyebrow {
    letter-spacing:.14em;
    color:var(--rg-muted);
    font-size:.65rem;
    text-transform:uppercase;
    font-weight:700
}
.page-heading {
    margin-bottom:1.7rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.page-heading h1 {
    font-size:1.65rem;
    font-weight:650;
    letter-spacing:-.045em;
    margin-bottom:.35rem
}
.muted {
    color:var(--rg-muted)
}
.card {
    border:1px solid #e5e5e0;
    box-shadow:0 2px 5px #11111103
}
.card-header {
    background:#fff;
    border-bottom:1px solid #e9e9e4;
    padding:1rem 1.25rem;
    font-weight:600
}
.card-body {
    padding:1.25rem
}
.metric {
    font-size:1.7rem;
    font-weight:650;
    letter-spacing:-.04em;
    margin-top:.6rem
}
.metric-label {
    color:var(--rg-muted);
    font-size:.8rem
}
.table {
    font-size:.86rem
}
.table thead th {
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#626976;
    background:#fafaf8;
    padding:.85rem;
    border-bottom:1px solid #e8e8e3;
    white-space:nowrap
}
.table td {
    padding:.9rem;
    vertical-align:middle
}
.form-label {
    font-size:.8rem;
    font-weight:600
}
.form-control,.form-select {
    min-height:42px;
    font-size:.9rem
}
.form-text {
    font-size:.75rem
}
.form-section {
    margin-bottom:1.5rem
}
.form-section h2 {
    font-size:1rem;
    margin-bottom:1.2rem
}
.actions {
    display:flex;
    gap:.5rem;
    flex-wrap:wrap
}
.badge-soft {
    font-size:.65rem;
    letter-spacing:.025em;
    border-radius:2rem;
    padding:.45rem .65rem;
    background:#eeeee9;
    color:#454a52;
    display:inline-block
}
.badge-gold {
    background:#f5ecd8;
    color:#79591c
}
.badge-green {
    background:#e1f0e6;
    color:#23643d
}
.badge-red {
    background:#fae6e5;
    color:#9b3730
}
.sale-card {
    height:100%;
    transition:box-shadow .15s
}
.sale-card:hover {
    box-shadow:0 5px 18px #1111110a
}
.sale-card .sale-number {
    font-size:.76rem;
    color:var(--rg-muted)
}
.sale-card h2 {
    font-size:1.05rem;
    font-weight:650;
    margin:.65rem 0
}
.sale-amount {
    font-size:1.45rem;
    font-weight:650;
    letter-spacing:-.03em
}
.sale-footer {
    border-top:1px solid #eee;
    margin-top:1rem;
    padding-top:1rem;
    display:flex;
    justify-content:space-between;
    align-items:center
}
.empty {
    padding:3rem 1.25rem;
    text-align:center;
    color:var(--rg-muted)
}
.empty strong {
    display:block;
    color:#3c414a;
    font-size:1rem;
    margin-bottom:.5rem
}
.login-page {
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:white
}
.login-brand {
    background:#080808;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    padding:3rem
}
.login-brand img {
    max-width:270px;
    width:65%
}
.login-brand h1 {
    font-family:Georgia,serif;
    letter-spacing:.12em;
    font-size:1.8rem
}
.login-brand p {
    color:#b7a57d;
    letter-spacing:.16em;
    font-size:.7rem
}
.login-form {
    max-width:430px;
    width:100%;
    margin:auto;
    padding:2rem
}
.login-form h2 {
    font-size:1.8rem;
    letter-spacing:-.04em
}
.photo-thumb {
    width:88px;
    height:112px;
    object-fit:cover;
    border-radius:.5rem;
    border:1px solid #ddd
}
.comparison {
    background:#faf9f5;
    border:1px solid #e9e3d6;
    border-radius:.75rem;
    padding:1rem
}
.comparison .total {
    font-size:1.45rem;
    font-weight:650
}
.timeline {
    border-left:2px solid #e7dfcf;
    margin-left:.5rem;
    padding-left:1rem
}
.timeline-item {
    padding:.15rem 0 1.1rem
}
.timeline-item small {
    display:block;
    color:var(--rg-muted)
}
.skip-link {
    position:absolute;
    left:-999px;
    top:0;
    background:#fff;
    padding:1rem;
    z-index:2000
}
.skip-link:focus {
    left:0
}
.mobile-toggle {
    display:none
}
.sticky-actions {
    background:#fff;
    border-top:1px solid #e5e5e0;
    padding:1rem 0;
    margin-top:1.5rem
}
.user-initial {
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eee8db;
    color:#76551e;
    border-radius:50%;
    font-weight:600
}
.filters {
    display:flex;
    align-items:end;
    gap:.75rem;
    flex-wrap:wrap
}
.filters>div {
    min-width:140px
}
.print-note {
    font-size:.75rem;
    color:var(--rg-muted)
}
.product-line {
    padding:1rem;
    background:#fafaf8;
    border:1px solid #e7e7e2;
    border-radius:.65rem;
    margin-bottom:.75rem
}
.footer {
    color:#787d85;
    padding:1.5rem 2rem;
    font-size:.7rem
}
.permission-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:.65rem
}
input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible {
    outline:3px solid #bd923c!important;
    outline-offset:3px
}
.pagination .page-link {
    color:#805c19
}
.pagination .active .page-link {
    background:#85601e;
    border-color:#85601e;
    color:#fff
}
@media(max-width:991.98px) {
    .sidebar {
    transform:translateX(-100%);
    transition:transform .2s
}
.sidebar.show {
    transform:translateX(0);
    box-shadow:10px 0 40px #0005
}
.workspace {
    margin-left:0
}
.mobile-toggle {
    display:inline-flex
}
.topbar {
    padding:.85rem 1rem
}
.content {
    padding:1.25rem
}
.footer {
    padding:1rem
}
.page-heading {
    align-items:flex-start
}
.page-heading h1 {
    font-size:1.4rem
}
.login-page {
    grid-template-columns:1fr
}
.login-brand {
    padding:1.5rem;
    min-height:220px
}
.login-brand img {
    width:100px
}
.login-brand h1 {
    font-size:1.4rem
}
.login-brand p {
    margin:0
}
.login-form {
    padding:2rem 1.5rem
}
.table td {
    padding:.7rem
}
.sidebar .mobile-toggle {
    position:absolute;
    right:1rem;
    top:1rem
}
.user-name {
    display:none
}
}
@media(prefers-reduced-motion:reduce) {
    * {
    transition:none!important;
    scroll-behavior:auto!important
}
}
