:root {
    --ink:#111827;
    --muted:#667085;
    --line:#e5e7eb;
    --bg:#f7f7f2;
    --card:#fff;
    --green:#41403a;
    --green2:#7b786c;
    --dark:#161513;
    --amber:#b45309;
    --red:#b42318;
    --blue:#1d4ed8;
    --radius:22px;
    --shadow:0 16px 50px rgba(17,24,39,.08)
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.5
}
a {
    color:inherit
}
.container {
    width:min(1160px,calc(100% - 32px));
    margin:auto
}
.site-header {
    background:#fff;
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:20
}
.nav-wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:76px
}
.brand {
    display:flex;
    gap:12px;
    align-items:center;
    text-decoration:none
}
.brand-mark {
    width:46px;
    height:46px;
    border-radius:14px;
    background:var(--dark);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:800;
    letter-spacing:-1px
}
.brand strong,.brand small {
    display:block
}
.brand strong {
    font-size:17px
}
.brand small {
    font-size:12px;
    color:var(--muted);
    margin-top:2px
}
.official-link {
    font-size:14px;
    text-decoration:none;
    font-weight:700
}
.hero {
    padding:70px 0 40px;
    background:radial-gradient(circle at 80% 20%,rgba(34,197,94,.16),transparent 34%),linear-gradient(180deg,#fff,transparent)
}
.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#f6f5f3;
    color:#41403a;
    border:1px solid #dedcd4;
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase
}
.hero h1 {
    font-size:clamp(38px,6vw,68px);
    line-height:1.02;
    letter-spacing:-.045em;
    max-width:850px;
    margin:20px 0 18px
}
.hero p {
    font-size:18px;
    color:var(--muted);
    max-width:720px
}
.verify-card {
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    border-radius:28px;
    padding:26px;
    margin-top:28px
}
.verify-form {
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px
}
.input {
    width:100%;
    border:1px solid #d0d5dd;
    border-radius:14px;
    padding:15px 16px;
    font-size:16px;
    background:#fff;
    outline:none
}
.input:focus {
    border-color:#c3c0b2;
    box-shadow:0 0 0 4px rgba(34,197,94,.10)
}
.btn {
    border:0;
    border-radius:14px;
    padding:14px 18px;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px
}
.btn-primary {
    background:var(--dark);
    color:#fff
}
.btn-secondary {
    background:#fff;
    border:1px solid var(--line)
}
.trust-row {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin:22px 0 70px
}
.trust {
    padding:18px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.7);
    border-radius:18px
}
.trust b {
    display:block;
    margin-bottom:5px
}
.trust span {
    color:var(--muted);
    font-size:13px
}
.result-wrap {
    padding:48px 0 80px
}
.result-card {
    max-width:850px;
    margin:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    box-shadow:var(--shadow);
    overflow:hidden
}
.result-head {
    padding:28px;
    display:flex;
    gap:18px;
    align-items:flex-start
}
.status-icon {
    width:58px;
    height:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    font-size:28px;
    flex:none
}
.ok .status-icon {
    background:#f6f5f3;
    color:var(--green)
}
.warn .status-icon {
    background:#fff7ed;
    color:var(--amber)
}
.bad .status-icon {
    background:#fef3f2;
    color:var(--red)
}
.result-head h1 {
    font-size:30px;
    margin:1px 0 7px
}
.result-head p {
    margin:0;
    color:var(--muted)
}
.result-body {
    border-top:1px solid var(--line);
    padding:28px
}
.details {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px
}
.detail {
    background:#f9fafb;
    border-radius:16px;
    padding:15px
}
.detail small {
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-bottom:4px
}
.detail strong {
    font-size:15px
}
.notice {
    margin-top:18px;
    border-radius:16px;
    padding:16px;
    background:#f3f4f6;
    color:#475467;
    font-size:13px
}
.site-footer {
    background:var(--dark);
    color:#d1d5db;
    padding:34px 0;
    margin-top:60px
}
.footer-grid {
    display:flex;
    justify-content:space-between;
    gap:30px
}
.site-footer p {
    color:#94a3b8;
    margin:8px 0 0;
    font-size:13px
}
.footer-right {
    display:flex;
    gap:10px;
    align-items:center;
    font-size:13px
}
.admin-shell {
    min-height:100vh;
    background:#f5f6f7
}
.admin-grid {
    display:grid;
    grid-template-columns:260px 1fr;
    min-height:100vh
}
.sidebar {
    background:#151513;
    color:#fff;
    padding:24px 18px;
    position:sticky;
    top:0;
    height:100vh
}
.sidebar .brand {
    color:#fff;
    margin-bottom:28px
}
.menu a {
    display:flex;
    padding:11px 12px;
    margin:4px 0;
    border-radius:11px;
    text-decoration:none;
    color:#cbd5e1;
    font-size:14px
}
.menu a:hover,.menu a.active {
    background:#262521;
    color:#fff
}
.admin-main {
    padding:32px
}
.topbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:24px
}
.topbar h1 {
    margin:0;
    font-size:28px
}
.muted {
    color:var(--muted)
}
.cards {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}
.stat {
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:20px
}
.stat small {
    color:var(--muted)
}
.stat b {
    display:block;
    font-size:28px;
    margin-top:8px
}
.panel {
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    margin-top:18px;
    overflow:auto
}
.panel h2 {
    margin:0 0 18px;
    font-size:19px
}
.table {
    width:100%;
    border-collapse:collapse;
    font-size:13px
}
.table th,.table td {
    padding:12px;
    border-bottom:1px solid var(--line);
    text-align:left;
    white-space:nowrap
}
.table th {
    color:#667085;
    font-weight:700;
    background:#fafafa
}
.badge {
    display:inline-flex;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:800
}
.badge.green {
    background:#f6f5f3;
    color:#41403a
}
.badge.orange {
    background:#fff7ed;
    color:#b45309
}
.badge.gray {
    background:#f2f4f7;
    color:#475467
}
.badge.red {
    background:#fef3f2;
    color:#b42318
}
.form-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px
}
.form-group label {
    display:block;
    font-weight:700;
    font-size:13px;
    margin-bottom:6px
}
.flash {
    padding:13px 15px;
    border-radius:12px;
    margin:10px 0
}
.flash.success {
    background:#f6f5f3;
    color:#41403a
}
.flash.error {
    background:#fef3f2;
    color:#b42318
}
.login-page {
    min-height:100vh;
    display:grid;
    place-items:center;
    background:radial-gradient(circle at 30% 20%,rgba(34,197,94,.14),transparent 32%),#f7f7f2
}
.login-card {
    width:min(430px,calc(100% - 30px));
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow)
}
.login-card h1 {
    margin:18px 0 5px
}
.login-card .input {
    margin:6px 0 12px
}
@media(max-width:900px) {
    .cards {
        grid-template-columns:repeat(2,1fr)
    }
    .admin-grid {
        display:block
    }
    .sidebar {
        position:relative;
        height:auto
    }
    .menu {
        display:flex;
        overflow:auto;
        gap:4px
    }
    .menu a {
        white-space:nowrap
    }
    .admin-main {
        padding:20px
    }
    .trust-row {
        grid-template-columns:1fr
    }
    .details {
        grid-template-columns:1fr
    }
    .footer-grid {
        display:block
    }
    .footer-right {
        margin-top:20px;
        flex-wrap:wrap
    }
}
@media(max-width:600px) {
    .verify-form {
        grid-template-columns:1fr
    }
    .hero {
        padding-top:46px
    }
    .hero h1 {
        font-size:42px
    }
    .cards {
        grid-template-columns:1fr
    }
    .form-grid {
        grid-template-columns:1fr
    }
    .official-link {
        display:none
    }
}
:root {
    --brand-charcoal:#5a5b56;
    --brand-gold:#d9b544
}
.brand-with-logo {
    gap:14px
}
.brand-logo {
    display:block;
    width:190px;
    max-height:64px;
    object-fit:contain;
    object-position:left center
}
.brand-subtitle {
    font-size:12px;
    color:var(--muted);
    font-weight:700;
    border-left:1px solid var(--line);
    padding-left:14px;
    white-space:nowrap
}
.official-link:hover {
    color:var(--brand-charcoal)
}
.admin-brand {
    display:block;
    text-decoration:none;
    margin-bottom:26px
}
.admin-logo-box {
    display:block;
    background:#fff;
    border-radius:14px;
    padding:10px 12px
}
.admin-logo-box img {
    display:block;
    width:100%;
    height:auto
}
.admin-brand small {
    display:block;
    color:#cbd5e1;
    margin-top:9px;
    padding-left:4px;
    font-size:12px;
    letter-spacing:.02em
}
.login-logo {
    display:block;
    width:250px;
    max-width:100%;
    height:auto;
    margin:0 auto 18px
}
.login-card h1 {
    margin-top:8px
}
.btn-primary {
    background:var(--brand-charcoal)
}
.btn-primary:hover {
    filter:brightness(.92)
}
.eyebrow {
    background:#fff8df;
    color:#765f12;
    border-color:#ecd987
}
.input:focus {
    border-color:#d9b544;
    box-shadow:0 0 0 4px rgba(217,181,68,.15)
}
@media(max-width:600px) {
    .brand-logo {
        width:155px
    }
    .brand-subtitle {
        display:none
    }
}
.actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:12px
}
.producer-grid,.user-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
    gap:18px
}
.user-card {
    padding:20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    display:flex;
    flex-direction:column;
    gap:13px
}
.user-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px
}
.user-heading strong {
    font-size:17px
}
.user-card .form-grid {
    gap:9px
}
.user-card .input {
    padding:10px 12px;
    font-size:14px;
    border-radius:10px
}
.edit-form {
    display:flex;
    flex-direction:column;
    gap:12px;
    border-top:1px solid var(--line);
    padding-top:14px
}
.capacity-label {
    margin-bottom:6px;
    font-size:14px
}
.capacity-track {
    height:9px;
    border-radius:999px;
    background:#eee;
    overflow:hidden
}
.capacity-track>div {
    height:100%;
    border-radius:999px;
    background:var(--brand-gold)
}
.toggle {
    display:flex;
    gap:9px;
    align-items:center;
    font-size:14px;
    font-weight:700
}
.form-narrow {
    max-width:620px
}
.form-narrow .form-group {
    margin-bottom:16px
}
.inline-form {
    display:flex;
    align-items:center;
    gap:6px
}
.inline-form .input {
    min-width:95px;
    padding:8px;
    font-size:12px
}
.inline-form .btn {
    padding:9px;
    font-size:12px
}
.dashboard-charts {
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:18px;
    margin-top:18px
}
.dashboard-charts .panel {
    margin-top:0
}
.chart-legend {
    display:flex;
    gap:18px;
    font-size:12px;
    color:var(--muted);
    font-weight:700
}
.chart-legend span {
    display:flex;
    align-items:center;
    gap:5px
}
.legend-square {
    width:11px;
    height:11px;
    display:inline-block;
    border-radius:3px
}
.legend-square.code,.chart-bar.code {
    background:#d9b544
}
.legend-square.scan,.chart-bar.scan {
    background:#5a5b56
}
.daily-chart {
    display:flex;
    align-items:end;
    gap:5px;
    height:236px;
    border-bottom:1px solid var(--line);
    padding-top:18px
}
.day-col {
    flex:1;
    min-width:0;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:end;
    gap:8px
}
.day-col small {
    font-size:9px;
    color:var(--muted);
    white-space:nowrap
}
.day-bars {
    display:flex;
    gap:2px;
    align-items:end;
    justify-content:center;
    width:100%;
    height:175px
}
.chart-bar {
    width:40%;
    min-height:0;
    border-radius:4px 4px 0 0;
    transition:height .3s
}
.chart-note {
    font-size:12px;
    margin:12px 0 0
}
.horizontal-stat {
    margin:16px 0
}
.horizontal-label {
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:13px;
    margin-bottom:7px
}
.horizontal-label span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.geo-consent {
    margin-top:20px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:16px
}
.geo-consent h2 {
    font-size:17px;
    margin:0 0 8px
}
.geo-consent p {
    font-size:13px;
    margin:0 0 12px
}
.geo-consent #geo-status {
    display:inline-block;
    margin-left:12px;
    font-size:12px;
    color:var(--muted)
}
@media(max-width:1100px) {
    .dashboard-charts {
        grid-template-columns:1fr
    }
}
@media(max-width:650px) {
    .user-grid,.producer-grid {
        grid-template-columns:1fr
    }
    .day-col small {
        font-size:8px
    }
    .geo-consent #geo-status {
        display:block;
        margin:8px 0 0
    }
}
.logout-form button {
    display:block;
    width:100%;
    background:none;
    border:0;
    text-align:left;
    color:#cbd5e1;
    font-size:14px;
    padding:11px 12px;
    cursor:pointer;
    border-radius:11px
}
.logout-form button:hover {
    background:#262521;
    color:#fff
}
.checkbox-list {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:12px 0
}
.checkbox-list label {
    padding:8px 12px;
    background:#f5f5f3;
    border-radius:8px
}
.legal p {
    margin-bottom:14px
}
.verification-history {
    max-height:440px;
    overflow:auto
}
.site-header .nav-actions {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap
}
.detail code {
    overflow-wrap:anywhere
}
.consent-line {
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:12px 0
}
.text-link {
    color:#44423b;
    text-decoration:underline
}
.note-box {
    padding:15px;
    background:#f4f3f1;
    border-radius:12px;
    margin:18px 0
}
:root {
    --ink:#252421;
    --muted:#757267;
    --line:#eae8e3;
    --bg:#f6f5f3;
    --dark:#2e2d29;
    --brand-gold:#d7b958;
    --shadow:0 24px 64px rgba(18,49,30,.08)
}
body {
    font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
    letter-spacing:-.008em
}
.admin-shell {
    background:linear-gradient(150deg,#f8f8f7,#f2f1ee)
}
.btn {
    border-radius:11px;
    min-height:43px;
    transition:transform .17s,box-shadow .17s,background .17s;
    font-weight:680;
    letter-spacing:.005em
}
.btn:hover:not(:disabled) {
    transform:translateY(-1px)
}
.btn:disabled {
    opacity:.45;
    cursor:not-allowed
}
.btn-primary {
    background:linear-gradient(125deg,#383732,#2b2a25);
    box-shadow:0 8px 18px rgba(26,56,37,.13)
}
.btn-primary:hover:not(:disabled) {
    background:#4d4b43;
    box-shadow:0 12px 24px rgba(26,56,37,.18)
}
.btn-secondary {
    background:#fff;
    color:#41403a;
    border:1px solid #e1dfd7
}
.btn-secondary:hover {
    background:#f4f3f0
}
.input {
    border:1px solid #e0ded7;
    background:#fff;
    border-radius:11px;
    min-height:45px;
    font-size:14px;
    color:var(--ink)
}
.input:focus {
    border-color:#7c796d;
    box-shadow:0 0 0 4px rgba(73,122,88,.12)
}
.input[disabled] {
    opacity:.5
}
.panel,.stat {
    border:1px solid #e7e6e0;
    border-radius:17px;
    box-shadow:0 12px 36px rgba(24,45,31,.035)
}
.panel h2 {
    font-size:18px;
    letter-spacing:-.03em
}
.form-group label {
    font-size:12px;
    letter-spacing:.02em;
    color:#5a584f;
    margin-bottom:8px
}
.stat b {
    letter-spacing:-.045em;
    color:#2f2e29;
    font-weight:760
}
.sidebar {
    background:linear-gradient(175deg,#302f2a,#23221f);
    box-shadow:12px 0 35px rgba(0,0,0,.035)
}
.sidebar .menu a {
    font-weight:530;
    border-radius:9px;
    letter-spacing:.005em
}
.sidebar .menu a:hover,.sidebar .menu a.active {
    background:rgba(222,238,218,.13)
}
.admin-main {
    max-width:1650px;
    margin:0 auto;
    width:100%;
    padding:33px 38px
}
.admin-main .topbar {
    padding:6px 1px 14px;
    border-bottom:1px solid #e7e5df;
    margin-bottom:18px
}
.admin-main .topbar h1 {
    font-size:clamp(22px,2.3vw,30px);
    letter-spacing:-.045em
}
.table thead th {
    background:#f8f7f5;
    color:#716e63;
    letter-spacing:.02em;
    font-size:11px;
    text-transform:uppercase
}
.table tbody tr:hover {
    background:#fafaf9
}
.section-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px
}
.section-bar h2 {
    margin:0
}
.site-header {
    background:#ffffffeb;
    backdrop-filter:blur(8px)
}
.site-footer {
    background:#2b2a26;
    padding:22px 0;
    font-size:12px
}
.footer-grid {
    align-items:center
}
.site-footer strong {
    color:#f4f3f0
}
.footer-right {
    flex-wrap:wrap
}
.login-page {
    background:radial-gradient(circle at 20% 18%,rgba(170,202,153,.28),transparent 35%),radial-gradient(circle at 90% 90%,rgba(215,185,88,.16),transparent 35%),#f5f4f2
}
.login-card {
    border:1px solid #e9e7e2;
    border-radius:20px;
    padding:36px;
    box-shadow:0 35px 95px rgba(22,46,30,.1)
}
.login-card h1 {
    font-size:25px;
    letter-spacing:-.04em
}
.login-card .btn {
    margin-top:8px
}
.workspace-main {
    min-height:calc(100vh - 170px);
    display:grid;
    align-items:center;
    justify-items:center;
    padding:48px 16px
}
.workspace-card {
    width:min(560px,100%);
    background:#fff;
    border:1px solid #eae8e3;
    border-radius:25px;
    box-shadow:0 26px 75px rgba(23,52,34,.085);
    padding:44px
}
.workspace-symbol {
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#f0efeb;
    color:#4c4a42;
    font-size:30px;
    font-weight:700;
    margin-bottom:20px
}
.workspace-card h1 {
    font-size:clamp(25px,4vw,34px);
    line-height:1.12;
    letter-spacing:-.045em;
    margin:0 0 30px
}
.workspace-form {
    display:grid;
    gap:11px
}
.workspace-form label {
    font-size:12px;
    font-weight:700;
    color:#59574f
}
.workspace-form .btn {
    margin-top:10px
}
.legal-notice {
    width:min(600px,100%);
    margin-top:0;
    padding:33px
}
.print-shell {
    width:min(1220px,calc(100% - 36px));
    margin:auto;
    padding:30px 0 75px
}
.print-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:10px 4px 22px;
    border-bottom:1px solid #e5e4de
}
.brand-flag {
    display:flex;
    align-items:center;
    gap:23px
}
.brand-flag img {
    width:185px;
    max-width:40vw;
    height:auto;
    object-fit:contain
}
.brand-flag small {
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    color:#8b877a
}
.brand-flag h1 {
    font-size:26px;
    line-height:1.2;
    letter-spacing:-.05em;
    margin:4px 0 0
}
.header-actions {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap
}
.header-actions form {
    display:flex;
    margin:0
}
.current-user {
    padding:0 16px;
    color:#757267;
    font-size:13px;
    font-weight:600
}
.print-shell>.panel {
    padding:28px;
    margin-top:24px
}
.print-shell .form-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
}
.read-only-input {
    background:#f8f7f5;
    font-weight:700;
    color:#626056
}
.full-row {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap
}
.print-quotas {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:13px;
    margin-top:17px
}
.print-quotas .stat {
    padding:19px 20px
}
.print-quotas .stat b {
    font-size:27px
}
.print-quotas .stat small {
    display:block
}
.print-quotas .stat small:last-child {
    margin-top:6px
}
.scroll-table {
    overflow:auto
}
.empty-row {
    text-align:center!important;
    color:var(--muted);
    padding:30px!important
}
.qr-print-help {
    border-top:1px solid #edece7;
    margin-top:22px;
    padding-top:16px;
    color:#6b685e
}
.qr-print-help summary {
    cursor:pointer;
    font-size:13px;
    font-weight:700
}
.qr-print-help>div {
    display:flex;
    gap:9px;
    align-items:center;
    flex-wrap:wrap;
    margin:15px 0 8px
}
.qr-print-help code {
    font-size:12px;
    background:#f6f6f4;
    border-radius:9px;
    padding:10px 12px;
    overflow-wrap:anywhere
}
.qr-print-help small {
    display:block;
    font-size:12px
}
@media(max-width:850px) {
    .print-header {
        align-items:flex-start
    }
    .brand-flag {
        flex-direction:column;
        align-items:flex-start;
        gap:8px
    }
    .brand-flag img {
        width:160px
    }
    .current-user {
        display:none
    }
    .admin-main {
        padding:23px
    }
    .footer-grid {
        display:block
    }
}
@media(max-width:600px) {
    .workspace-card {
        padding:26px
    }
    .workspace-main {
        padding:25px 14px
    }
    .print-shell {
        width:calc(100% - 24px);
        padding-top:14px
    }
    .print-shell>.panel {
        padding:19px
    }
    .print-shell .form-grid {
        grid-template-columns:1fr;
        gap:14px
    }
    .full-row {
        grid-column:auto
    }
    .print-header {
        flex-direction:column;
        gap:16px
    }
    .brand-flag {
        flex-direction:row;
        gap:14px
    }
    .brand-flag img {
        width:120px
    }
    .brand-flag h1 {
        font-size:22px
    }
    .header-actions {
        width:100%
    }
    .print-quotas {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .site-header .nav-wrap {
        flex-wrap:wrap;
        gap:10px;
        padding:12px 0
    }
    .site-header .brand-logo {
        width:140px
    }
    .site-header .btn {
        padding:10px 12px;
        min-height:38px
    }
    .admin-main {
        padding:16px
    }
    .section-bar {
        flex-wrap:wrap
    }
}
.geo-map {
    position:relative;
    height:350px;
    overflow:hidden;
    border:1px solid #e1dfd8;
    border-radius:18px;
    background:linear-gradient(130deg,#f3f2ef,#faf9f8);
    background-image:repeating-linear-gradient(0deg,transparent,transparent 49px,rgba(12,58,35,.09) 50px),repeating-linear-gradient(90deg,transparent,transparent 49px,rgba(12,58,35,.09) 50px);
    margin:20px 0;
}
.geo-map-label {
    position:absolute;
    top:12px;
    left:16px;
    letter-spacing:.1em;
    color:#59574f;
    font-size:.75rem;
    font-weight:800;
}
.geo-point {
    position:absolute;
    transform:translate(-50%,-50%);
    border-radius:100%;
    background:#43413b;
    color:#fff;
    min-width:30px;
    min-height:30px;
    display:grid;
    place-items:center;
    padding:4px;
    box-shadow:0 0 0 6px rgba(22,104,73,.12);
    font-size:.7rem;
    font-weight:700;
}
.geo-map:after {
    content:'35.5–42.5° K / 25.5–45.5° D';
    position:absolute;
    right:12px;
    bottom:9px;
    color:#646258;
    font-size:.67rem;
    pointer-events:none
}
@media(max-width:720px) {
    .geo-map {
        height:240px
    }
    .geo-point {
        font-size:.65rem;
        min-width:20px;
        min-height:20px
    }
    .panel {
        overflow-x:auto
    }
}
@media print {
    .sidebar,.topbar,.actions,.logout-form {
        display:none!important
    }
    .admin-main {
        margin:0;
        padding:0
    }
}
@media(min-width:901px) {
    .sidebar {
        overflow-y:auto;
        scrollbar-width:thin
    }
    .admin-main {
        min-width:0
    }
}
:root {
    --ink:#282724;
    --muted:#767368;
    --line:#e7e6e0;
    --bg:#f5f5f3;
    --card:#fff;
    --dark:#2e2d28;
    --green:#4e4c44;
    --green2:#716e63;
    --brand-gold:#ddbc62;
    --radius:24px;
    --shadow:0 8px 32px rgba(26,55,42,.045)
}
html {
    scroll-padding-top:100px
}
body {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    letter-spacing:-.015em;
    background:var(--bg);
    -webkit-tap-highlight-color:transparent
}
button,input,select,textarea {
    font:inherit
}
a,button,input {
    touch-action:manipulation
}
a:focus-visible,button:focus-visible,summary:focus-visible {
    outline:3px solid #b39136;
    outline-offset:4px
}
.ui-icon {
    flex-shrink:0;
    vertical-align:middle
}
.skip-link {
    position:fixed;
    left:18px;
    top:-80px;
    padding:12px 20px;
    background:#fff;
    z-index:200;
    border:2px solid #2e2d28;
    border-radius:12px
}
.skip-link:focus {
    top:12px
}
.btn {
    min-height:48px;
    border-radius:14px;
    padding:12px 19px;
    font-size:14px;
    font-weight:650;
    gap:10px;
    transition:background .18s,box-shadow .18s,transform .18s
}
.btn:hover {
    transform:translateY(-1px)
}
.btn-primary {
    background:#2e2d28;
    box-shadow:0 5px 12px #2e2d2817
}
.btn-primary:hover {
    background:#403f39;
    box-shadow:0 7px 18px #2e2d2826
}
.btn-secondary {
    background:#fff;
    border:1px solid #e5e3dd;
    color:#3f3e38;
    box-shadow:none
}
.btn:disabled {
    opacity:.48;
    cursor:not-allowed;
    transform:none;
    box-shadow:none
}
.input {
    min-height:52px;
    border:1px solid #e4e2dc;
    border-radius:14px;
    background:#fafaf9;
    font-size:16px;
    padding:13px 15px;
    color:#282724
}
.input:focus {
    border-color:#706d62;
    background:white;
    box-shadow:0 0 0 4px #706d621a
}
.form-group label,label {
    font-size:13px;
    font-weight:650;
    letter-spacing:0
}
.consent-line {
    display:flex;
    align-items:flex-start;
    gap:11px;
    line-height:1.65!important;
    font-size:13px!important
}
.consent-line input[type=checkbox] {
    width:21px;
    height:21px;
    min-width:21px;
    margin:2px 0 0;
    accent-color:#43413a
}
input[type=checkbox] {
    accent-color:#43413a
}
h1,h2,h3 {
    letter-spacing:-.045em;
    line-height:1.18
}
.page-eyebrow {
    display:block;
    color:#7e7b6e;
    font-size:10px;
    font-weight:750;
    letter-spacing:.15em;
    margin-bottom:9px
}
.panel,.workspace-card,.result-card,.user-card {
    border:1px solid #e8e6e0;
    background:#fff;
    box-shadow:var(--shadow);
    border-radius:24px
}
.panel {
    padding:26px;
    margin-top:22px
}
.panel h2 {
    font-size:19px;
    margin-bottom:20px
}
.section-bar {
    gap:16px
}
.badge {
    font-weight:650;
    padding:6px 11px;
    font-size:11px
}
.flash {
    border-radius:15px;
    padding:15px 18px;
    line-height:1.6
}
.notice {
    background:#f2f1ed;
    color:#67645a;
    border-radius:15px;
    padding:16px;
    line-height:1.65
}
.read-only-input {
    background:#f0efec;
    border-color:#e2e0d9;
    color:#4b4942;
    font-variant-numeric:tabular-nums
}
.site-header {
    background:#f9f9f8eb;
    backdrop-filter:blur(18px);
    border-bottom:1px solid #e8e6e0
}
.site-header .nav-wrap {
    min-height:85px;
    gap:18px
}
.brand-logo {
    width:155px!important;
    height:auto
}
.nav-actions {
    gap:10px
}
.site-header .btn {
    min-height:42px;
    padding:10px 15px;
    font-size:12px
}
.volunteer-app {
    background:radial-gradient(ellipse at 12% 8%,#e8e7e2 0,transparent 38%),#f7f7f5
}
.volunteer-app main {
    scroll-margin-top:100px
}
.volunteer-app main.container:not(.legal) {
    padding-top:36px!important;
    padding-bottom:36px!important
}
.volunteer-app main.container:not(.legal)>.panel {
    padding:32px;
    margin-top:0
}
.auth-mark {
    width:52px;
    height:52px;
    background:#ebeae6;
    border-radius:17px;
    display:grid;
    place-items:center;
    color:#4e4c44;
    margin-bottom:25px
}
.auth-mark .ui-icon {
    width:28px;
    height:28px
}
.volunteer-app h1 {
    font-size:34px;
    margin:12px 0
}
.auth-intro,.workspace-intro {
    color:#78756a;
    font-size:15px;
    line-height:1.65;
    margin:0 0 28px
}
.volunteer-app #volunteer-login>.form-group {
    margin-bottom:17px
}
.volunteer-app #volunteer-login h2 {
    font-size:15px;
    margin:24px 0 12px
}
.volunteer-app #volunteer-login button[type=submit] {
    width:100%;
    min-height:54px
}
.volunteer-app #login-status {
    font-size:12px;
    min-height:18px;
    margin:10px 0 14px
}
.workspace-main {
    padding:48px 20px;
    min-height:calc(100dvh - 245px);
    display:grid;
    place-items:center
}
.workspace-card {
    width:min(100%,620px);
    padding:42px;
    background:linear-gradient(140deg,#fff 68%,#f0efeb)
}
.workspace-symbol {
    width:76px;
    height:76px;
    background:#2f2e29;
    color:#ead17d;
    border-radius:24px;
    margin-bottom:30px
}
.workspace-symbol svg {
    width:42px;
    height:42px
}
.workspace-card h1 {
    font-size:clamp(32px,5vw,48px);
    margin:12px 0 20px;
    line-height:1.08
}
.workspace-form {
    display:grid;
    gap:12px
}
.workspace-form .input {
    font-family:ui-monospace,monospace;
    letter-spacing:.02em
}
.workspace-form .btn {
    width:100%;
    min-height:54px;
    margin-top:5px
}
.result-head {
    padding:28px;
    gap:18px
}
.result-head h1 {
    font-size:27px
}
.result-body {
    padding:26px
}
.status-icon {
    border-radius:19px;
    width:58px;
    height:58px
}
.detail {
    background:#f5f4f2;
    border:1px solid #edece7;
    border-radius:15px;
    padding:17px
}
.detail strong {
    overflow-wrap:anywhere
}
.result-card.ok {
    border-top:5px solid #68665c
}
.result-card.warn {
    border-top:5px solid #d6ac4e
}
.result-card.bad {
    border-top:5px solid #b55046
}
#geo-status {
    font-size:12px;
    color:var(--muted);
    line-height:1.6
}
.site-footer {
    background:transparent;
    color:#817e71;
    margin-top:20px;
    padding:24px 0 32px
}
.site-footer strong {
    font-size:12px;
    font-weight:600
}
.footer-right {
    flex-wrap:wrap;
    font-size:11px
}
.site-footer .footer-grid {
    gap:16px;
    align-items:center
}
.login-page {
    background:radial-gradient(ellipse at 25% 25%,#e3e1db,transparent 60%),#f5f4f2
}
.login-card {
    border:1px solid #e5e3dd;
    border-radius:28px;
    box-shadow:0 22px 80px #2c2b270d;
    padding:38px;
    width:min(440px,calc(100% - 32px))
}
.login-logo {
    max-width:170px
}
.login-card .input {
    margin-bottom:16px
}
.login-card h1 {
    font-size:28px;
    margin-bottom:26px
}
.admin-shell {
    background:#f5f5f3
}
.admin-grid {
    grid-template-columns:244px minmax(0,1fr)
}
.sidebar {
    background:#2b2a25;
    color:#eeede9;
    padding:28px 16px;
    box-shadow:none;
    height:100dvh;
    position:sticky;
    top:0
}
.admin-logo-box {
    background:#fff!important;
    border-radius:18px;
    padding:13px!important
}
.admin-brand {
    padding:0 9px 24px
}
.admin-brand small {
    color:#c6c3b5!important;
    font-size:10px;
    letter-spacing:.1em
}
.sidebar .menu a {
    min-height:42px;
    padding:11px 14px;
    margin:4px 0;
    color:#d5d2c8;
    font-size:12px;
    font-weight:550;
    border-radius:12px;
    border-left:3px solid transparent
}
.sidebar .menu a:hover {
    background:#ffffff0b
}
.sidebar .menu a.active {
    background:#eef2dc;
    color:#2c2b27;
    border-left-color:#d5b35b;
    font-weight:750
}
.logout-form {
    margin-top:24px;
    border-top:1px solid #ffffff20;
    padding-top:16px
}
.logout-form button {
    font-size:12px;
    color:#cdcabe;
    min-height:44px
}
.admin-main {
    padding:28px 34px 48px;
    min-width:0;
    max-width:1800px;
    width:100%;
    margin:auto
}
.topbar {
    min-height:76px;
    margin-bottom:24px;
    gap:15px
}
.topbar h1 {
    font-size:30px!important;
    margin:0 0 8px
}
.topbar .muted {
    font-size:11px;
    color:#8b887b
}
.cards {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
    gap:14px
}
.stat {
    border:1px solid #e6e4de;
    background:#fff;
    border-radius:20px;
    padding:21px;
    box-shadow:0 3px 14px #28272403;
    min-width:0;
    position:relative;
    overflow:hidden
}
.stat small {
    font-size:11px;
    font-weight:550;
    line-height:1.5;
    display:block
}
.stat b {
    font-size:clamp(27px,2.4vw,38px);
    font-weight:700;
    line-height:1.1;
    margin-top:15px;
    color:#383732;
    font-variant-numeric:tabular-nums
}
.cards .stat:first-child {
    background:#2f2e29;
    border-color:#2f2e29
}
.cards .stat:first-child b {
    color:#f4efdb
}
.cards .stat:first-child small {
    color:#cdcabf
}
.dashboard-charts {
    gap:20px;
    margin-top:22px
}
.daily-chart {
    background:repeating-linear-gradient(to top,transparent,transparent 43px,#f1f0ec 44px);
    height:240px;
    padding:18px 6px 0
}
.chart-bar {
    border-radius:6px 6px 0 0;
    max-width:22px
}
.chart-bar.code,.legend-square.code {
    background:#dabc64
}
.chart-bar.scan,.legend-square.scan {
    background:#636157
}
.day-col small {
    color:#888578
}
.capacity-track {
    height:9px;
    background:#f0efeb
}
.capacity-track>div {
    background:linear-gradient(90deg,#6c695e,#b2ae9c)
}
.horizontal-label {
    font-size:12px;
    gap:18px
}
.horizontal-label b {
    white-space:nowrap;
    color:#4b4942
}
.horizontal-stat {
    margin:20px 0
}
.horizontal-stat small {
    display:block;
    margin-top:6px;
    color:#8a8679
}
.table {
    font-size:12px
}
.table thead th {
    background:#f3f3f0;
    font-size:10px;
    font-weight:700;
    text-transform:none;
    letter-spacing:.02em;
    padding:13px 15px
}
.table td {
    padding:16px 15px;
    border-color:#f0efec
}
.table tbody tr:hover {
    background:#f9f9f7
}
.table code,.table a {
    overflow-wrap:anywhere
}
.table td a {
    color:#4d4b43;
    text-underline-offset:4px
}
.scroll-table {
    border-radius:14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin
}
.table-scroll-hint {
    display:none
}
details summary {
    padding:12px 0;
    font-size:13px;
    font-weight:650;
    cursor:pointer
}
details[open] summary {
    margin-bottom:10px
}
.user-card {
    padding:23px
}
.producer-grid,.user-grid {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))
}
.form-grid {
    gap:18px
}
.menu-toggle,.sidebar-close,.nav-backdrop,.mobile-dock {
    display:none
}
.print-shell {
    max-width:1160px;
    width:calc(100% - 48px);
    padding:32px 0 50px
}
.print-header {
    padding:18px 0 26px;
    border-bottom:1px solid #e3e1db;
    gap:20px
}
.brand-flag {
    gap:25px
}
.brand-flag img {
    width:150px
}
.brand-flag h1 {
    font-size:29px
}
.brand-flag small {
    color:#868275;
    font-size:10px;
    letter-spacing:.09em
}
.print-shell>.panel {
    padding:28px;
    margin-top:25px
}
.print-shell .form-grid {
    gap:20px
}
.print-quotas .stat {
    background:#efeeea
}
.print-quotas .stat b {
    color:#4d4b43;
    font-size:31px
}
.print-shell .full-row .btn-primary {
    min-width:230px
}
.generation-status {
    font-variant-numeric:tabular-nums;
    color:#514f47;
    font-weight:650
}
.print-shell .notice {
    margin:20px 0;
    background:#ecebe7
}
.header-actions {
    gap:9px
}
@media(min-width:1500px) {
    .admin-main {
        padding:36px 48px
    }
    .dashboard-charts {
        grid-template-columns:1.4fr 1fr
    }
}
@media(max-width:1000px) {
    .admin-grid {
        grid-template-columns:210px minmax(0,1fr)
    }
    .admin-main {
        padding:24px
    }
    .sidebar {
        padding:24px 12px
    }
    .dashboard-charts {
        grid-template-columns:1fr
    }
    .cards {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:900px) {
    body.admin-shell {
        padding-bottom:calc(84px + env(safe-area-inset-bottom))
    }
    .admin-grid {
        display:block;
        min-height:100dvh
    }
    .admin-main {
        padding:18px 18px 28px;
        margin:0;
        max-width:none
    }
    .sidebar {
        display:block;
        visibility:hidden;
        position:fixed;
        inset:0 auto 0 0;
        width:min(320px,86vw);
        height:100dvh;
        z-index:101;
        overflow-y:auto;
        transform:translateX(-100%);
        transition:transform .22s,visibility .22s;
        padding:28px 18px 40px
    }
    .sidebar .menu {
        display:block!important;
        grid-template-columns:none
    }
    .sidebar .menu a {
        font-size:14px;
        min-height:46px
    }
    .sidebar .admin-brand {
        display:block
    }
    .nav-open .sidebar {
        visibility:visible;
        transform:translateX(0)
    }
    .nav-open {
        overflow:hidden
    }
    .nav-backdrop {
        position:fixed;
        inset:0;
        border:0;
        background:#20201d66;
        backdrop-filter:blur(3px);
        z-index:100
    }
    .nav-open .nav-backdrop {
        display:block
    }
    .sidebar-close {
        display:grid;
        place-items:center;
        position:absolute;
        right:9px;
        top:8px;
        width:38px;
        height:38px;
        background:#ffffff16;
        color:white;
        border:0;
        border-radius:12px;
        cursor:pointer
    }
    .menu-toggle {
        display:grid;
        place-items:center;
        flex:none;
        width:46px;
        height:46px;
        border:1px solid #e3e1da;
        border-radius:14px;
        background:#fff;
        color:#4c4a42;
        cursor:pointer
    }
    .topbar {
        position:relative;
        justify-content:flex-start;
        margin-bottom:19px;
        min-height:68px
    }
    .topbar h1 {
        font-size:25px!important
    }
    .topbar .page-eyebrow {
        font-size:8px;
        margin-bottom:7px
    }
    .topbar .muted {
        font-size:10px
    }
    .mobile-dock {
        display:flex;
        position:fixed;
        bottom:0;
        left:0;
        right:0;
        z-index:60;
        min-height:74px;
        padding:8px 10px calc(8px + env(safe-area-inset-bottom));
        background:#ffffffef;
        backdrop-filter:blur(20px);
        border-top:1px solid #e5e4de;
        box-shadow:0 -5px 30px #2b2a2508;
        justify-content:space-around;
        gap:4px
    }
    .mobile-dock a,.mobile-dock button {
        border:0;
        background:none;
        text-decoration:none;
        color:#827f72;
        display:flex;
        flex:1;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        min-height:54px;
        max-width:140px;
        padding:5px 3px;
        font-size:10px;
        font-weight:600;
        border-radius:13px;
        cursor:pointer
    }
    .mobile-dock svg {
        width:21px;
        height:21px
    }
    .mobile-dock [aria-current=page] {
        background:#efeeeb;
        color:#3e3d37
    }
    .volunteer-app:has(.public-dock) {
        padding-bottom:calc(80px + env(safe-area-inset-bottom))
    }
    .print-shell {
        width:calc(100% - 32px);
        padding-top:16px
    }
    .print-header {
        flex-wrap:wrap;
        align-items:center
    }
    .brand-flag img {
        width:105px
    }
    .brand-flag h1 {
        font-size:25px
    }
    .print-shell .header-actions {
        width:auto;
        flex-wrap:wrap
    }
    .current-user {
        display:none
    }
    .table-scroll-hint {
        display:block;
        color:#848174;
        font-size:10px;
        text-align:right;
        margin:4px 0 10px
    }
    .table th,.table td {
        padding:13px 12px
    }
    .panel {
        padding:21px;
        border-radius:21px;
        margin-top:18px
    }
    .panel h2 {
        font-size:18px
    }
    .section-bar .btn {
        font-size:12px;
        min-height:42px
    }
    .footer-grid {
        flex-direction:column;
        align-items:flex-start!important
    }
    .site-footer .footer-right {
        line-height:1.8
    }
}
@media(max-width:600px) {
    .container {
        width:calc(100% - 28px)
    }
    .site-header .nav-wrap {
        min-height:72px;
        flex-wrap:nowrap;
        padding:10px 0;
        gap:10px
    }
    .site-header .brand-logo {
        width:110px!important
    }
    .site-header .nav-actions {
        gap:6px;
        flex-wrap:wrap;
        justify-content:flex-end
    }
    .site-header .btn {
        font-size:10px;
        padding:8px 10px;
        min-height:38px;
        border-radius:11px
    }
    .volunteer-app main.container:not(.legal) {
        padding-top:22px!important;
        padding-bottom:18px!important
    }
    .volunteer-app main.container:not(.legal)>.panel {
        padding:26px 22px;
        border-radius:24px
    }
    .volunteer-app h1 {
        font-size:32px
    }
    .auth-mark {
        margin-bottom:20px
    }
    .auth-intro {
        font-size:14px;
        margin-bottom:26px
    }
    .volunteer-app .form-group label {
        font-size:12px
    }
    .volunteer-app .consent-line {
        font-size:12px!important
    }
    .workspace-main {
        padding:24px 14px;
        min-height:calc(100dvh - 220px)
    }
    .workspace-card {
        padding:28px 23px
    }
    .workspace-card h1 {
        font-size:38px
    }
    .workspace-symbol {
        width:64px;
        height:64px;
        border-radius:21px;
        margin-bottom:25px
    }
    .workspace-intro {
        font-size:14px
    }
    .result-head {
        padding:24px 21px;
        flex-direction:column;
        gap:15px
    }
    .result-head h1 {
        font-size:27px
    }
    .result-head p {
        font-size:14px;
        line-height:1.65
    }
    .result-body {
        padding:20px
    }
    .details {
        grid-template-columns:1fr
    }
    .detail {
        padding:14px 16px;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:15px
    }
    .detail small {
        margin:0;
        font-size:11px;
        max-width:42%
    }
    .detail strong {
        text-align:right;
        font-size:13px
    }
    .result-body .btn {
        width:100%
    }
    .stat {
        padding:18px 15px;
        min-height:105px;
        border-radius:18px
    }
    .stat b {
        font-size:29px;
        margin-top:13px
    }
    .stat small {
        font-size:10px
    }
    .cards {
        gap:10px
    }
    .admin-main {
        padding:15px 13px 24px
    }
    .topbar h1 {
        font-size:23px!important
    }
    .panel {
        padding:19px 16px
    }
    .daily-chart {
        height:205px
    }
    .day-bars {
        height:150px
    }
    .horizontal-label {
        font-size:11px
    }
    .form-grid,.print-shell .form-grid {
        grid-template-columns:1fr
    }
    .form-grid .full-row {
        grid-column:1/-1
    }
    .print-header {
        flex-direction:column;
        align-items:stretch;
        gap:17px;
        padding:10px 0 22px
    }
    .brand-flag {
        display:flex;
        flex-direction:row;
        gap:20px
    }
    .brand-flag h1 {
        font-size:24px
    }
    .print-shell .header-actions {
        display:flex;
        justify-content:flex-end
    }
    .print-shell .header-actions .btn {
        min-height:40px;
        font-size:12px
    }
    .print-shell>.panel {
        padding:23px 18px
    }
    .print-shell .full-row .btn-primary {
        width:100%;
        min-height:53px
    }
    .print-quotas {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px
    }
    .print-quotas .stat {
        padding:17px 14px
    }
    .print-quotas .stat b {
        font-size:27px
    }
    .login-card {
        padding:29px 24px
    }
    .legal {
        padding:24px 0!important
    }
    .legal p {
        font-size:14px;
        line-height:1.75
    }
    .legal h2 {
        line-height:1.35
    }
    code {
        overflow-wrap:anywhere
    }
    .section-bar {
        flex-wrap:wrap;
        gap:10px
    }
    .site-footer {
        margin-top:12px;
        padding:20px 0 28px
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important
    }
}
@media(max-width:900px) {
    .printer-app {
        padding-bottom:calc(84px + env(safe-area-inset-bottom))
    }
}
@media print {
    .mobile-dock,.menu-toggle,.sidebar-close,.nav-backdrop,.skip-link {
        display:none!important
    }
    body.admin-shell {
        padding-bottom:0
    }
}
.trend-legend {
    display:flex;
    flex-wrap:wrap;
    gap:12px 24px;
    margin:20px 0 12px;
    color:#626056;
    font-size:13px
}
.trend-legend span {
    display:inline-flex;
    align-items:center;
    gap:8px
}
.trend-legend i {
    width:10px;
    height:10px;
    border-radius:50%
}
.trend-legend strong {
    color:#2d2c28;
    font-variant-numeric:tabular-nums;
    font-size:18px;
    margin-left:4px
}
.trend-scroll {
    overflow-x:auto;
    padding:8px 0
}
.trend-chart {
    display:block;
    width:100%;
    min-width:480px;
    height:auto
}
.trend-chart text {
    font-family:inherit;
    font-size:11px;
    fill:#79766a
}
.trend-grid {
    stroke:#eae8e3;
    stroke-width:1;
    stroke-dasharray:3 5
}
.chart-panel {
    background:linear-gradient(165deg,#fff 65%,#f9f9f7)
}
.chart-data {
    margin-top:14px;
    border-top:1px solid #ecebe6;
    padding-top:12px
}
.chart-data summary {
    cursor:pointer;
    color:#4a4841;
    font-size:13px;
    font-weight:650
}
.chart-data .table-wrap {
    margin-top:12px
}
.eyebrow {
    font-size:10px;
    letter-spacing:1.7px;
    font-weight:750;
    color:#7b786c
}
.chart-panel h2 {
    margin-top:6px
}
.horizontal-stat {
    padding:11px 0
}
.horizontal-label {
    gap:14px
}
.horizontal-label span {
    overflow-wrap:anywhere
}
.capacity-track {
    height:9px;
    border-radius:8px;
    background:#f2f1ed;
    overflow:hidden
}
.capacity-track>div {
    background:linear-gradient(90deg,#45443d,#8f8c80);
    border-radius:8px;
    min-height:9px
}
.stat b {
    font-variant-numeric:tabular-nums;
    letter-spacing:-1px
}
.generation-job {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px
}
.generation-job progress {
    width:100%;
    height:8px;
    accent-color:#4d4b43
}
.generation-status {
    font-size:13px
}
.cron-command {
    padding:16px;
    border:1px solid #e5e4de;
    border-radius:12px;
    background:#f8f7f5;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:12px
}
.login-geo-notice {
    color:#747166;
    font-size:12px;
    line-height:1.6
}
.chart-note {
    font-size:12px
}
.dashboard-charts {
    align-items:stretch
}
@media(max-width:640px) {
    .trend-legend {
        gap:10px 16px
    }
    .trend-legend strong {
        font-size:16px
    }
    .chart-panel .section-bar {
        align-items:flex-start
    }
    .horizontal-label {
        font-size:13px
    }
    .trend-scroll {
        margin:0 -6px
    }
    .cards .stat b {
        font-size:28px
    }
}
