:root {
    --r-forest: #16301f;
    --r-green: #1f803f;
    --r-lime: #8fb435;
    --r-paper: #f2f1eb;
    --r-ink: #23382b;
    --r-muted: #627065;
    --r-line: #dde3db;
    --r-soft: #edf4e9;
    --r-danger: #ae3434;
    --bs-primary: #1f803f;
    --bs-primary-rgb: 31, 128, 63;
    --bs-body-color: #23382b;
    --bs-body-bg: #f2f1eb;
    --bs-link-color: #196e36;
    --bs-link-hover-color: #16301f;
    --bs-border-color: #dde3db;
}
* { box-sizing: border-box; }
html { font-size: 15px; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; color: var(--r-ink); background: var(--r-paper); line-height: 1.6; }
a { color: #196e36; text-underline-offset: 3px; }
a:hover { color: var(--r-forest); }
h1,h2,h3,h4 { color: var(--r-forest); font-weight: 650; letter-spacing: -.035em; line-height: 1.18; }
h1 { font-size: clamp(1.9rem, 2.6vw, 2.75rem); margin: 0 0 .75rem; }
h2 { font-size: 1.5rem; } h3 { font-size: 1.2rem; } h4 { font-size: 1.1rem; }
p { color: var(--r-muted); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid #627d22; outline-offset: 4px; }
h1:focus { outline: none; }
.ui-icon { flex-shrink: 0; vertical-align: middle; }
.eyebrow { display: block; font-size: .68rem; letter-spacing: .17em; font-weight: 750; color: #60724e; margin-bottom: 1rem; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 2000; background: white; padding: 12px 20px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 44px; padding: .65rem 1.1rem; font-weight: 600; font-size: .9rem; border-radius: 9px; transition: background .15s, border-color .15s; text-decoration: none; }
.btn-lg { min-height: 51px; font-size: .95rem; }
.btn-primary { --bs-btn-bg: var(--r-green); --bs-btn-border-color: var(--r-green); --bs-btn-hover-bg: #176832; --bs-btn-hover-border-color: #176832; --bs-btn-active-bg: #155c2d; --bs-btn-active-border-color: #155c2d; --bs-btn-disabled-bg: #5e8769; --bs-btn-disabled-border-color: #5e8769; --bs-btn-color: #fff; }
.btn-secondary, .btn-outline-secondary { --bs-btn-bg: #fff; --bs-btn-color: var(--r-ink); --bs-btn-border-color: #c5cec2; --bs-btn-hover-color: var(--r-forest); --bs-btn-hover-bg: var(--r-soft); --bs-btn-hover-border-color: #81997a; --bs-btn-active-bg: var(--r-soft); --bs-btn-active-color: var(--r-forest); --bs-btn-disabled-color: #788477; --bs-btn-disabled-border-color: var(--r-line); --bs-btn-disabled-bg: #f5f6f3; }
.btn-danger { --bs-btn-bg: var(--r-danger); --bs-btn-border-color: var(--r-danger); --bs-btn-hover-bg: #8b2727; --bs-btn-hover-border-color: #8b2727; }
.btn-light { --bs-btn-color: var(--r-forest); --bs-btn-bg: #f2f1eb; --bs-btn-border-color: #f2f1eb; --bs-btn-hover-bg: #e3ebd3; --bs-btn-hover-border-color: #e3ebd3; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #4c7948; box-shadow: 0 0 0 3px #8fb43533; }
.form-label { color: #334b39; font-weight: 600; font-size: .85rem; margin-bottom: .5rem; }
.form-control, .form-select { background-color: #fff; border: 1px solid #cbd5c8; color: var(--r-ink); min-height: 47px; border-radius: 8px; padding: .7rem .85rem; font-size: .93rem; }
.form-select { padding-right: 2.3rem; }
.form-control::placeholder { color: #627065; opacity: 1; }
.form-control:disabled, .form-select:disabled { background-color: #f3f5f0; color: #667361; }
.form-check-input { width: 1.1rem; height: 1.1rem; border-color: #899986; }
.form-check-input:checked { background-color: var(--r-green); border-color: var(--r-green); }
.form-hint { font-size: .78rem; line-height: 1.5; margin: .5rem 0 0; }
.invalid { border-color: var(--r-danger) !important; }
.validation-message, .text-danger { color: var(--r-danger) !important; font-size: .84rem; }
.validation-errors { padding-left: 1.25rem; margin-bottom: 1rem; }
.validation-errors:empty { display: none; }
.alert { border-radius: 9px; padding: 1rem 1.15rem; font-size: .9rem; }
.alert p:last-child { margin-bottom: 0; } .alert p { color: inherit; }
.alert-danger { background: #fff0ed; color: #8f302e; border-color: #efc7c1; }
.alert-success { background: #eef6e8; color: #295b33; border-color: #c7ddbc; }
.alert-info { background: #f1f5ee; color: #405c39; border-color: #d4e1cb; }
.alert-warning { background: #fff8e7; color: #77551c; border-color: #ebd8a4; }
.text-info { color: #466747 !important; }
.nav-pills { --bs-nav-pills-link-active-bg: #eaf2e2; --bs-nav-pills-link-active-color: #285536; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-weight: 700; font-size: 2.05rem; letter-spacing: -.065em; line-height: 1; }
.brand:hover { color: inherit; }
.brand-symbol { background: #8fb435; color: #16301f; display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px 12px 12px 3px; }
.brand-symbol svg { width: 29px; height: 29px; }
.brand-dot { color: var(--r-lime); }
.brand small { display: block; font-size: .48rem; font-weight: 500; letter-spacing: .19em; margin-top: 8px; }
.auth-layout { display: grid; grid-template-columns: minmax(380px, 46%) 1fr; min-height: 100dvh; }
.auth-story { position: relative; display: flex; flex-direction: column; overflow: hidden; color: #f2f1eb; background: var(--r-forest); padding: clamp(35px, 4vw, 70px); min-height: 100dvh; }
.auth-story .brand { position: relative; z-index: 1; }
.auth-story-copy { position: relative; z-index: 1; margin: auto 0; padding: 70px 0 110px; max-width: 470px; }
.auth-story .eyebrow { color: #b8cf83; margin-bottom: 1.5rem; }
.auth-story h2 { color: #f2f1eb; font-size: clamp(2.8rem, 4.4vw, 5rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.08; margin-bottom: 1.75rem; }
.auth-story h2 em { font-style: normal; color: #b7d374; }
.auth-story p { color: #c0cbbb; max-width: 355px; line-height: 1.8; font-size: 1rem; }
.trace-path { display: flex; align-items: center; gap: 14px; margin-top: 30px; color: #d2dec8; font-size: .78rem; }
.trace-path i { height: 1px; width: 40px; background: #78945a; }
.trace-path span::before { content: ""; display: inline-block; border-radius: 50%; width: 5px; height: 5px; background: var(--r-lime); margin-right: 7px; vertical-align: middle; }
.field-art { position: absolute; width: 100%; bottom: 20px; left: 0; stroke: #8fb435; stroke-width: 1; opacity: .22; pointer-events: none; }
.auth-story footer { position: relative; z-index: 1; color: #bfceba; font-size: .74rem; }
.auth-main { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 60px 55px 28px; }
.auth-card { width: 100%; max-width: 425px; margin: auto 0; }
.auth-card h1 { font-size: 2.45rem; margin-bottom: .8rem; }
.auth-card h2 { font-size: 1rem; font-weight: 400; line-height: 1.6; color: var(--r-muted); letter-spacing: 0; }
.auth-intro { margin-bottom: 2rem; line-height: 1.7; }
.auth-card .row { margin: 0; }
.auth-card [class*="col-"] { width: 100%; padding: 0; }
.auth-card hr { border-color: var(--r-line); margin: 1.5rem 0; opacity: 1; }
.auth-card .form-control { background: #fff; }
.auth-card .form-label { display: block; }
.label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.label-row a { font-size: .8rem; text-decoration: none; font-weight: 600; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 3.25rem; }
.password-toggle { display: none; position: absolute; right: 3px; top: 3px; width: 42px; height: 41px; background: transparent; border: 0; border-radius: 6px; color: #687965; }
.js-enabled .password-toggle { display: grid; place-items: center; }
.password-toggle:hover, .password-toggle[aria-pressed="true"] { background: var(--r-soft); color: var(--r-forest); }
.remember-option { display: flex; gap: .65rem; align-items: center; font-size: .83rem; color: #5b6c57; margin: 1.25rem 0 1.7rem; cursor: pointer; }
.remember-option .form-check-input { margin-top: 0; }
.auth-divider { display: flex; align-items: center; gap: 15px; color: #627065; font-size: .76rem; margin: 1.4rem 0; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: #d8dfd3; }
.auth-switch { text-align: center; margin: 1.6rem 0 .9rem; font-size: .87rem; }
.auth-switch a { font-weight: 700; text-decoration: none; }
.auth-resend { display: block; text-align: center; color: #62725b; font-size: .76rem; }
.auth-footnote { display: flex; align-items: center; gap: 7px; text-align: center; font-size: .72rem; margin: 36px 0 0; }
.auth-footnote svg { width: 15px; height: 15px; }
.auth-mobile-brand { display: none; }
.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100dvh; }
.app-sidebar { background: var(--r-forest); color: #ecf0e5; height: 100dvh; position: sticky; top: 0; display: flex; flex-direction: column; }
.sidebar-brand { padding: 28px 24px 22px; }
.sidebar-brand .brand { font-size: 1.9rem; }
.sidebar-brand .brand small { font-size: .44rem; }
.sidebar-caption { display: block; color: #a8b9a0; font-size: .73rem; margin: 18px 0 0 2px; }
.main-navigation { flex: 1; overflow-y: auto; padding: 0 15px 20px; scrollbar-width: thin; scrollbar-color: #476342 transparent; }
.nav-group { margin-bottom: 18px; }
.nav-section-title { color: #a8bc9b; font-size: .59rem; letter-spacing: .17em; padding: 0 12px; margin: 0 0 7px; font-weight: 600; }
.main-navigation .nav-link { display: flex; align-items: center; gap: 11px; min-height: 40px; padding: 9px 12px; border-radius: 7px; font-size: .81rem; font-weight: 450; color: #d1ddc9; text-decoration: none; margin-bottom: 3px; border: 1px solid transparent; width: 100%; background: transparent; text-align: left; }
.main-navigation .nav-link svg { width: 18px; height: 18px; color: #a9bd97; }
.main-navigation .nav-link:hover { color: #fff; background: #28482f; }
.main-navigation .nav-link.active { background: #324f2a; color: #e5f1cf; border-color: #547033; box-shadow: inset 3px 0 var(--r-lime); }
.main-navigation .nav-link.active svg { color: #b4d378; }
.sidebar-account { padding-top: 14px; border-top: 1px solid #35503a; }
.nav-toggle, .nav-toggle-label { display: none; }
.app-workspace { min-width: 0; display: flex; flex-direction: column; }
.workspace-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 38px; background: #fafaf6; border-bottom: 1px solid var(--r-line); min-height: 73px; }
.workspace-label { display: flex; align-items: center; gap: 9px; font-size: .78rem; color: #68755f; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--r-green); }
.account-link { display: flex; align-items: center; gap: 9px; color: #4d6148; font-size: .8rem; font-weight: 600; text-decoration: none; }
.avatar { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; background: #e8eedf; }
.avatar svg { width: 17px; height: 17px; }
.workspace-content { width: 100%; max-width: 1600px; padding: 36px 38px 45px; flex: 1; }
.workspace-footer { padding: 16px 38px; display: flex; justify-content: space-between; font-size: .67rem; color: #627065; border-top: 1px solid var(--r-line); }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading .eyebrow { margin-bottom: 10px; }
.page-heading p { font-size: .9rem; margin-bottom: 0; max-width: 650px; }
.page-heading > .btn { flex-shrink: 0; }
.surface { background: #fff; border: 1px solid var(--r-line); border-radius: 14px; box-shadow: 0 2px 5px #16301f03; }
.text-muted-green { color: #6b815c; }
.overview-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 24px; padding: 36px; background: var(--r-forest); border-radius: 16px; color: #edf1e4; }
.overview-hero h2 { font-size: 2rem; color: #f2f1eb; font-weight: 500; line-height: 1.2; }
.overview-hero .eyebrow { color: #bdd58a; font-size: .62rem; }
.overview-hero p { color: #c0ceba; font-size: .86rem; max-width: 350px; margin: 20px 0 24px; }
.production-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.production-flow > div { padding: 18px 12px; border: 1px solid #43603c; border-radius: 12px; min-height: 180px; display: flex; flex-direction: column; gap: 10px; background: #203e27; }
.flow-number { color: #aec785; font-size: .67rem; }
.production-flow svg { color: #b2ce79; width: 27px; height: 27px; margin: 5px 0; }
.production-flow strong { font-weight: 500; }
.production-flow small { color: #bfceb6; font-size: .7rem; line-height: 1.4; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; margin: 32px 0 18px; }
.section-heading h2 { font-size: 1.2rem; margin: 0; }
.section-heading > span { color: #627065; font-size: .73rem; }
.quick-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.quick-card { display: block; padding: 26px; background: #fff; border: 1px solid var(--r-line); border-radius: 12px; text-decoration: none; transition: border-color .15s; }
.quick-card:hover { border-color: #8ba276; }
.card-icon { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: var(--r-soft); color: #507044; margin-bottom: 22px; }
.quick-card h3 { font-size: 1.07rem; }
.quick-card p { font-size: .83rem; min-height: 3rem; margin: 10px 0 22px; }
.card-cta { display: flex; justify-content: space-between; align-items: center; color: #27643b; font-size: .8rem; font-weight: 600; }
.card-cta svg { width: 17px; }
.list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 24px; border-bottom: 1px solid var(--r-line); }
.search-form { display: flex; align-items: center; gap: 9px; width: min(100%, 510px); }
.search-field { position: relative; flex: 1; }
.search-field > svg { position: absolute; left: 13px; top: 14px; color: #788972; width: 18px; }
.search-field .form-control { padding-left: 39px; background: #fafbf8; }
.toolbar-caption { font-size: .73rem; color: #6b7b62; white-space: nowrap; }
.table { --bs-table-bg: transparent; --bs-table-color: var(--r-ink); margin: 0; font-size: .86rem; vertical-align: middle; }
.table > :not(caption) > * > * { padding: 17px 24px; border-bottom-color: #e9eee5; }
.table thead { background: #f8faf5; }
.table th { font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; color: #627065; font-weight: 650; white-space: nowrap; }
.table tbody tr:hover { background: #fafcf7; }
.table tbody tr:last-child td { border-bottom: 0; }
.table td:first-child { font-weight: 600; color: #345137; }
.row-actions { display: flex; align-items: center; gap: 4px; }
.row-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 5px 9px; border-radius: 6px; font-weight: 550; font-size: .76rem; text-decoration: none; }
.row-actions a:hover { background: var(--r-soft); }
.row-actions .action-delete { color: #a03c32; }
.row-actions .action-delete:hover { background: #fff0ed; }
.list-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-top: 1px solid var(--r-line); color: #63765b; font-size: .8rem; }
.pagination-buttons { display: flex; gap: 8px; }
.empty-state { text-align: center; padding: 55px 24px; }
.empty-symbol { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 20px; border-radius: 50%; background: var(--r-soft); color: #6b8552; }
.empty-symbol svg { width: 26px; height: 26px; }
.empty-state h2 { font-size: 1.2rem; } .empty-state p { font-size: .9rem; max-width: 460px; margin: 12px auto 20px; }
.loading-state { padding: 55px; display: flex; align-items: center; justify-content: center; gap: 13px; color: #65765c; }
.spinner { width: 20px; height: 20px; border: 2px solid #d9e4cf; border-top-color: var(--r-green); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.breadcrumb-back { display: inline-flex; align-items: center; gap: 7px; color: #617559; font-size: .8rem; text-decoration: none; margin-bottom: 24px; }
.breadcrumb-back svg { width: 17px; }
.editor-surface { max-width: 1120px; padding: 28px; }
.form-section-title { grid-column: 1 / -1; font-size: 1.05rem; margin: 15px 0 0; padding-bottom: 14px; border-bottom: 1px solid var(--r-line); }
.form-section-title:first-child { margin-top: 0; }
.editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; border: 0; margin: 0; padding: 0; min-width: 0; }
.editor-fields .form-label { display: block; }
.editor-fields .mb-3 { min-width: 0; }
.editor-fields .mb-3:has(> strong) { display: flex; flex-direction: column; gap: 5px; padding-bottom: 14px; border-bottom: 1px solid #edf0e9; }
.editor-fields strong { font-size: .76rem; font-weight: 550; color: #6c7d63; }
.editor-fields .mb-3 > span { font-size: .93rem; overflow-wrap: anywhere; }
.editor-fields .alert { grid-column: 1 / -1; }
.editor-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid var(--r-line); padding-top: 22px; margin-top: 14px; }
.editor-note { font-size: .78rem; padding-bottom: 20px; color: #627065; }
.required-mark { color: #7a372d; margin-left: 2px; }
.settings-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 24px; }
.settings-nav .nav-link { font-size: .86rem; color: #586e50; border-radius: 8px; padding: 12px 14px; margin-bottom: 4px; }
.settings-nav .nav-link:hover { background: #e8eedf; }
.settings-content { padding: 30px; }
.settings-content h3 { font-size: 1.45rem; margin-bottom: 24px; }
.settings-content [class*="col-"] { width: 100%; max-width: 600px; }
.settings-content .btn { margin-top: 6px; }
.settings-content h4 { margin-top: 28px; }
.settings-content .form-floating > label, .auth-card .form-floating > label { color: #64765c; }
.settings-content .table { margin-bottom: 20px; }
.recovery-code { display: inline-block; padding: 5px 10px; margin: 3px; color: #244e2e; background: #edf3e7; border-radius: 5px; }
.request-id { overflow-wrap: anywhere; }
#blazor-error-ui { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000; color: #713326; background: #fff1d7; border-top: 1px solid #e8cc98; padding: 15px 55px 15px 20px; }
#blazor-error-ui .dismiss { position: absolute; right: 10px; top: 7px; width: 36px; height: 36px; background: none; border: 0; }
.blazor-error-boundary { background: #fff0ed; color: #8f302e; padding: 20px; border-radius: 8px; }
.blazor-error-boundary::after { content: "Não foi possível carregar este conteúdo."; }
@media (min-width: 1500px) { .auth-main { padding-left: 90px; padding-right: 90px; } }
@media (max-width: 1150px) {
    .app-shell { grid-template-columns: 225px minmax(0, 1fr); }
    .workspace-content { padding: 28px; } .workspace-header { padding: 14px 28px; }
    .overview-hero { grid-template-columns: 1fr; }
    .production-flow > div { min-height: 130px; }
    .quick-actions { gap: 12px; } .quick-card { padding: 20px; }
    .settings-layout { grid-template-columns: 180px minmax(0,1fr); gap: 15px; }
    .table > :not(caption) > * > * { padding: 15px 18px; }
}
@media (max-width: 900px) {
    .auth-layout { grid-template-columns: minmax(290px, 40%) 1fr; }
    .auth-story { padding: 30px; } .auth-story h2 { font-size: 3rem; }
    .auth-main { padding: 45px 32px 25px; }
    .quick-actions { grid-template-columns: 1fr; } .quick-card p { min-height: 0; }
    .settings-layout { grid-template-columns: 1fr; }
    .settings-nav .nav { flex-direction: row !important; gap: 5px; }
    .settings-nav .nav-link { padding: 9px 12px; border: 1px solid #dbe2d4; background: #f9faf5; }
    .toolbar-caption { display: none; }
    .editor-fields { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    html { font-size: 15px; }
    .auth-layout { display: block; } .auth-story { display: none; }
    .auth-main { min-height: 100dvh; padding: 28px 24px 20px; }
    .auth-mobile-brand { display: block; margin-bottom: 42px; width: 100%; max-width: 425px; }
    .auth-card { max-width: 425px; } .auth-card h1 { font-size: 2.1rem; }
    .auth-footnote { margin-top: 35px; font-size: .68rem; }
    .app-shell { display: block; }
    .app-sidebar { height: auto; position: relative; }
    .sidebar-brand { padding: 19px 20px; }
    .sidebar-brand .brand { font-size: 1.7rem; } .sidebar-caption { display: none; }
    .sidebar-brand .brand-symbol { width: 36px; height: 36px; }
    .nav-toggle { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; top: 88px; }
    .nav-toggle-label { display: flex; justify-content: space-between; cursor: pointer; padding: 12px 20px; font-size: .85rem; background: #25462d; border-top: 1px solid #365a37; }
    .nav-toggle:focus-visible + .nav-toggle-label { outline: 3px solid var(--r-lime); outline-offset: -3px; }
    .main-navigation { display: none; padding-top: 20px; max-height: 65dvh; }
    .nav-toggle:checked ~ .main-navigation { display: block; }
    .workspace-header { min-height: 60px; padding: 12px 20px; }
    .workspace-label { font-size: .72rem; } .account-link { font-size: .73rem; }
    .workspace-content { padding: 26px 18px 35px; }
    .page-heading { flex-direction: column; align-items: flex-start; gap: 18px; }
    .page-heading h1 { font-size: 1.95rem; }
    .page-heading > .btn { width: 100%; }
    .overview-hero { padding: 26px; }
    .overview-hero h2 { font-size: 1.75rem; }
    .production-flow { gap: 7px; }
    .production-flow > div { padding: 12px 9px; min-height: 145px; }
    .production-flow strong { font-size: .9rem; } .production-flow small { font-size: .63rem; }
    .list-toolbar { padding: 16px; } .search-form { width: 100%; }
    .search-form .btn { padding: .65rem .85rem; }
    .list-pagination { flex-wrap: wrap; padding: 16px; font-size: .75rem; }
    .editor-surface { padding: 20px; } .editor-actions { flex-wrap: wrap; }
    .editor-actions .btn { flex: 1; }
    .settings-content { padding: 22px; }
    .workspace-footer { padding: 16px 20px; } .workspace-footer span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Consulta pública e impressão */
.public-shell { min-height:100vh; display:flex; flex-direction:column; }
.public-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px max(24px,calc((100% - 1040px)/2)); border-bottom:1px solid var(--r-line); background:#fff; }
.public-header > a { color:#16301F; text-decoration:none; }
.public-header > a:last-child { font-size:.8rem; display:flex; gap:8px; align-items:center; }
.public-main { width:min(1040px,calc(100% - 40px)); margin:0 auto; flex:1; padding:50px 0; }
.trace-intro h1 { font-size:clamp(2rem,5vw,3.4rem); line-height:1.1; margin:14px 0; }
.trace-intro p,.trace-journey > p { color:#627065; }
.trace-search { max-width:630px; margin:30px 0 40px; }
.trace-search > div { display:flex; gap:10px; margin:8px 0; }
.trace-search small { color:#627065; }
.trace-product { display:flex; align-items:center; gap:26px; padding:30px; }
.trace-product h2 { margin:8px 0; }
.trace-symbol { background:#edf2e3; padding:25px; border-radius:50%; color:#1F803F; }
.trace-symbol svg { width:45px; height:45px; }
.tracking-code { font-family:ui-monospace,monospace; letter-spacing:.08em; }
.trace-product dl { margin:0 0 0 auto; display:grid; gap:8px; }
.trace-product dt { font-size:.7rem; color:#627065; } .trace-product dd { margin:0; }
.trace-journey { margin-top:42px; } .trace-journey ol { list-style:none; padding:0; }
.trace-journey li { display:flex; gap:20px; position:relative; padding-bottom:22px; }
.trace-journey li:not(:last-child):before { content:""; position:absolute; left:20px; top:40px; bottom:0; width:1px; background:#b8c8b0; }
.trace-dot { width:40px; height:40px; display:grid; place-items:center; flex-shrink:0; background:#1F803F; color:white; border-radius:50%; }
.trace-journey article { flex:1; padding:23px; } .trace-journey h3 { font-size:1.05rem; margin:8px 0; }
.trace-journey p { margin:5px 0; } .trace-journey details { margin-top:14px; border-top:1px solid var(--r-line); padding-top:12px; }
.trace-journey summary { color:#1F803F; cursor:pointer; } .trace-empty,.label-settings { padding:30px; }
.label-settings { max-width:760px; } .label-settings input { max-width:180px; }
.public-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:24px; border-top:1px solid var(--r-line); color:#627065; font-size:.75rem; }
@media(max-width:700px) { .public-header .brand-tagline { display:none; } .trace-product { flex-wrap:wrap; padding:22px; } .trace-product dl { width:100%; margin:0; grid-template-columns:repeat(3,1fr); } .trace-search > div { flex-direction:column; } .public-main { padding-top:32px; } }

.manejo-filters { flex-wrap: wrap; align-items: flex-end; justify-content: flex-start; }
.manejo-filters > div { flex: 1 1 180px; min-width: 0; }
.manejo-filters label { display: block; margin-bottom: 6px; font-size: .82rem; }

.cell-title { display: block; font-weight: 600; }
.cell-meta { display: block; margin-top: 4px; color: #6c7d63; font-size: .78rem; white-space: normal; }
.admin-users { padding: 24px; }
.admin-users > .form-control { max-width: 480px; margin: 8px 0 24px; }
.admin-users h2 { overflow-wrap: anywhere; }
.admin-users label { font-weight: 600; }
.admin-users table td { vertical-align: middle; }
.admin-users table small { color: var(--text-muted, #607465); }

/* Approved xRastro identity, shared by login, navigation and public pages. */
.brand-logo { display:block; width:190px; max-width:100%; height:auto; }
.auth-story .brand, .sidebar-brand .brand { background:#fff; padding:8px 12px; border-radius:8px; }
.auth-story .brand-logo { width:220px; }
@media(max-width:700px) { .brand-logo { width:160px; } }

.auth-public-consultation { margin-top:20px; }

