html {
    min-height: 100%;
    background: var(--aw-bg);
}

:root {
    --aw-inventory-lot-highlight: #23b7ff;
    --aw-inventory-lot-highlight-bg: rgba(35, 183, 255, 0.10);
    --aw-inventory-lot-highlight-glow: rgba(35, 183, 255, 0.46);
    --aw-inventory-validade-highlight: #52ff9c;
    --aw-inventory-validade-highlight-bg: rgba(82, 255, 156, 0.10);
    --aw-inventory-validade-highlight-glow: rgba(82, 255, 156, 0.42);
    --aw-inventory-info-blue: var(--aw-blue, #23b7ff);
    --aw-inventory-info-blue-bg: rgba(35, 183, 255, 0.10);
    --aw-inventory-info-blue-border: rgba(35, 183, 255, 0.78);
    --aw-inventory-info-blue-glow: rgba(35, 183, 255, 0.30);
    --aw-inventory-info-orange: var(--aw-orange, #ff9f43);
    --aw-inventory-info-orange-bg: rgba(255, 159, 67, 0.11);
    --aw-inventory-info-orange-border: rgba(255, 159, 67, 0.76);
    --aw-inventory-info-orange-glow: rgba(255, 159, 67, 0.30);
    --aw-inventory-button-bg: var(--aw-surface-2);
    --aw-inventory-button-fg: var(--aw-text);
    --aw-inventory-button-border: var(--aw-line-strong);
    --aw-inventory-button-hover-bg: var(--aw-primary-soft);
    --aw-inventory-button-hover-fg: var(--aw-primary-2);
    --aw-inventory-button-hover-border: var(--aw-primary-2);
    --aw-inventory-danger-button-bg: rgba(92, 0, 18, 0.88);
    --aw-inventory-danger-button-fg: #fff4f6;
    --aw-inventory-danger-button-border: var(--aw-danger-border, var(--aw-danger, #ff6b6b));
    --aw-inventory-danger-button-glow: rgba(255, 113, 130, 0.28);
    --aw-inventory-danger-button-hover-bg: rgba(128, 0, 30, 0.94);
    --aw-inventory-danger-button-hover-fg: #ffffff;
    --aw-inventory-danger-button-hover-border: var(--aw-danger, #ff6b6b);
    --aw-picking-card-bg: var(--aw-surface);
    --aw-picking-card-border: var(--aw-line);
    --aw-picking-lot-bg: var(--aw-surface-2);
    --aw-picking-lot-border: var(--aw-line);
    --aw-picking-lot-selected-bg: var(--aw-success-bg);
    --aw-picking-lot-selected-border: var(--aw-success-border);
    --aw-picking-short-bg: var(--aw-danger-bg);
    --aw-picking-short-border: var(--aw-danger-border);
    --aw-picking-short-fg: var(--aw-danger);
    --aw-picking-warning-bg: var(--aw-warning-bg);
    --aw-picking-warning-border: var(--aw-warning-border);
}

html[data-theme="ether"] {
    --aw-inventory-button-bg: #ffffff;
    --aw-inventory-button-fg: #050708;
    --aw-inventory-button-border: #ffffff;
    --aw-inventory-button-hover-bg: #ffffff;
    --aw-inventory-button-hover-fg: #050708;
    --aw-inventory-button-hover-border: #ffffff;
    --aw-inventory-danger-button-bg: rgba(92, 0, 18, 0.90);
    --aw-inventory-danger-button-fg: #fff4f6;
    --aw-inventory-danger-button-border: var(--aw-red);
    --aw-inventory-danger-button-glow: rgba(255, 113, 130, 0.34);
    --aw-inventory-danger-button-hover-bg: rgba(128, 0, 30, 0.98);
    --aw-inventory-danger-button-hover-fg: #ffffff;
    --aw-inventory-danger-button-hover-border: #ff7182;
}

body {
    background:
        linear-gradient(var(--aw-bg-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--aw-bg-grid) 1px, transparent 1px),
        var(--aw-bg);
    background-size: 36px 36px, 36px 36px, auto;
    color: var(--aw-text);
}

a {
    color: var(--aw-link);
}

a:hover {
    color: var(--aw-link-hover);
}

::selection {
    background: var(--aw-primary-2);
    color: var(--aw-bg);
}

input,
select,
textarea,
button {
    color-scheme: inherit;
}

input,
select,
textarea,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="month"],
input[type="time"],
input[type="datetime-local"] {
    border: 1px solid var(--aw-input-border) !important;
    background: var(--aw-input-bg) !important;
    color: var(--aw-input-text) !important;
    font-family: "FiraCodeMono", monospace;
}

input::placeholder,
textarea::placeholder {
    color: var(--aw-faint);
}

input:focus,
select:focus,
textarea:focus,
input.datepicker:focus,
input.cmd-input-field:focus,
input.dt-data:focus,
input.dt-data-changed:focus,
.dt-search input:focus,
.aw-quick-field input:focus,
table#login-table input:focus,
table.edit-table tbody tr td.dt-input input:focus,
table.aw-edit-table tbody tr td.dt-input input:focus,
table.quote-tbl tbody tr td input:focus,
table#quote-table tbody tr td input:focus,
.aw-panel .dt-search input:focus,
.aw-sim-grid input:focus {
    border-color: var(--aw-input-focus) !important;
    background: var(--aw-input-bg) !important;
    color: var(--aw-input-text) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--aw-input-focus), 0 0 16px var(--aw-primary-glow) !important;
}

input:disabled,
select:disabled,
textarea:disabled,
table.quote-tbl tbody tr td input#val-desc:disabled,
input#val-global:disabled,
table.aw-edit-table tbody tr td.dt-input input:disabled {
    border-color: var(--aw-input-border) !important;
    background: var(--aw-input-disabled-bg) !important;
    color: var(--aw-input-disabled-text) !important;
    opacity: 1;
}

input[readonly],
textarea[readonly] {
    border-color: var(--aw-input-border) !important;
    background: var(--aw-input-bg) !important;
    color: var(--aw-input-text) !important;
    opacity: 1;
}

button,
.dt-button,
button.btn-green {
    border: 1px solid var(--aw-line-strong);
    background: var(--aw-surface-2);
    color: var(--aw-text);
    box-shadow: none;
}

button:hover,
.dt-button:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

button.btn-green,
.aw-btn-primary,
table.report-table tbody tr td.dt-button button {
    border-color: var(--aw-primary);
    background: var(--aw-primary);
    color: var(--aw-bg);
    box-shadow: var(--aw-glow);
}

button.btn-green:active,
.aw-btn-primary:active,
table.report-table tbody tr td.dt-button button:active {
    background: var(--aw-primary-2);
}

div#tsi-bg,
div#login-background,
div#index,
div#body-wrapper {
    background:
        linear-gradient(var(--aw-bg-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--aw-bg-grid) 1px, transparent 1px),
        var(--aw-bg);
    background-size: 34px 34px, 34px 34px, auto;
    color: var(--aw-text);
}

div#footer-wrapper {
    background: transparent;
}

div#menu-wrapper {
    border-bottom: 1px solid var(--aw-line-strong);
    background: color-mix(in srgb, var(--aw-surface) 92%, transparent);
    box-shadow: var(--aw-shadow);
}

ul#global-menu li a {
    border-left: 1px solid var(--aw-line);
    border-right: 1px solid color-mix(in srgb, var(--aw-bg) 62%, transparent);
    color: var(--aw-text);
}

ul#global-menu li a:hover {
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

.aw-theme-menu {
    display: flex;
    align-items: center;
    height: 40px;
    border-left: 1px solid var(--aw-line);
    border-right: 1px solid color-mix(in srgb, var(--aw-bg) 62%, transparent);
}

.aw-theme-select {
    max-width: 160px;
    height: 30px;
    margin: 0 8px;
    padding: 0 6px;
    border: 1px solid var(--aw-line-strong);
    border-radius: 3px;
    background: var(--aw-surface-2);
    color: var(--aw-text);
    font-family: "FiraCodeMono", monospace;
    font-size: 12px;
    font-weight: bold;
}

.aw-topbar {
    border-bottom: 1px solid var(--aw-line-strong);
    background: color-mix(in srgb, var(--aw-surface) 94%, transparent);
    box-shadow: var(--aw-shadow);
}

.aw-notification-center {
    border: 1px solid var(--aw-line);
    background: var(--aw-surface-2);
    color: var(--aw-text);
}

.aw-notification-label {
    color: var(--aw-primary-2);
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.aw-notification-empty {
    color: var(--aw-muted);
    font-size: 12px;
    font-weight: bold;
}

.aw-notification-count {
    border: 1px solid var(--aw-line-strong);
    background: var(--aw-surface);
    color: var(--aw-primary-2);
    font-size: 12px;
    font-weight: bold;
}

.aw-menu-toggle,
.aw-menu-close {
    border: 1px solid var(--aw-line-strong);
    background: var(--aw-surface-2);
    color: var(--aw-text);
    font-family: "FiraCodeMono", monospace;
    font-weight: bold;
    text-transform: uppercase;
}

.aw-menu-toggle {
    border-color: var(--aw-primary);
    background: var(--aw-primary);
    color: var(--aw-bg);
    box-shadow: var(--aw-glow);
}

.aw-menu-toggle:hover,
.aw-menu-close:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

.aw-menu-toggle:hover {
    background: var(--aw-primary-2);
    color: var(--aw-bg);
}

.aw-menu-overlay {
    background: color-mix(in srgb, var(--aw-bg) 72%, transparent);
}

.aw-menu-drawer {
    border-left: 1px solid var(--aw-line-strong);
    background: var(--aw-surface);
    color: var(--aw-text);
    box-shadow: var(--aw-shadow);
}

.aw-menu-head,
.aw-menu-footer {
    border-color: var(--aw-line);
    background: var(--aw-surface-2);
}

.aw-menu-head {
    border-bottom: 1px solid var(--aw-line);
}

.aw-menu-footer {
    border-top: 1px solid var(--aw-line);
}

.aw-menu-head strong {
    color: var(--aw-primary-2);
    font-size: 18px;
    text-transform: uppercase;
}

.aw-menu-head span,
.aw-menu-group-title,
.aw-theme-menu span {
    color: var(--aw-muted);
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.aw-menu-link,
.aw-menu-logout {
    border: 1px solid var(--aw-line);
    background: var(--aw-surface-2);
    color: var(--aw-text);
    font-weight: bold;
}

.aw-menu-link {
    font-size: 14px;
}

.aw-menu-link:hover,
.aw-menu-logout:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

.aw-menu-disabled,
.aw-menu-disabled:hover {
    cursor: default;
    opacity: 0.68;
    border-color: var(--aw-line) !important;
    background: var(--aw-surface-2) !important;
    color: var(--aw-muted) !important;
}

.aw-menu-footer .aw-theme-menu {
    display: grid;
    align-items: stretch;
    height: auto;
    border: 0;
}

.aw-menu-footer .aw-theme-select {
    width: 100%;
    max-width: none;
    height: 40px;
    margin: 0;
    background: var(--aw-input-bg);
    color: var(--aw-input-text);
}

@media (max-width: 720px), (hover: none), (pointer: coarse) {
    .aw-notification-center {
        border-color: var(--aw-line-strong);
    }

    .aw-notification-empty {
        font-size: 13px;
    }

    .aw-menu-head {
        padding-top: 18px;
    }

    .aw-menu-head strong {
        font-size: 20px;
    }

    .aw-menu-link {
        font-size: 16px;
    }

    .aw-menu-footer .aw-theme-select {
        height: 46px;
        font-size: 15px;
    }
}

div#page-menu-wrapper {
    border: 1px solid var(--aw-line);
    border-top: 0;
    background: var(--aw-surface-2);
    box-shadow: var(--aw-shadow);
}

ul#page-menu li a {
    border-left: 1px solid var(--aw-line);
    border-right: 1px solid color-mix(in srgb, var(--aw-bg) 48%, transparent);
    color: var(--aw-muted);
}

ul#page-menu li a:hover {
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

h1.header-name,
h1.header-title,
table.info tbody tr.header {
    border: 1px solid var(--aw-primary);
    border-left: 6px solid var(--aw-primary-2);
    background: var(--aw-primary);
    color: var(--aw-bg);
    box-shadow: var(--aw-glow);
    text-shadow: none;
}

h1.client-legal-name,
h2.header-salesperson,
h2.header-subtitle,
h3.header-caption {
    border: 1px solid var(--aw-primary);
    border-left: 6px solid var(--aw-primary-2);
    background: var(--aw-primary);
    color: var(--aw-bg);
    box-shadow: var(--aw-glow);
}

.aw-page,
.aw-edit-page {
    color: var(--aw-text);
}

.aw-page-head {
    border: 1px solid var(--aw-line-strong);
    border-left: 4px solid var(--aw-primary);
    background: var(--aw-surface);
    box-shadow: var(--aw-shadow);
}

.aw-page-head h1,
.aw-metric-value,
.aw-quick-field,
.aw-status.ok,
table.aw-edit-table tbody tr td.dt-label,
.aw-markup-note,
.aw-sim-grid label,
table.aw-sim-result tfoot td {
    color: var(--aw-primary-2);
}

.aw-page-head p,
.aw-info-value {
    color: var(--aw-text);
}

.aw-metric,
.aw-panel {
    border: 1px solid var(--aw-line);
    background: var(--aw-surface);
    box-shadow: var(--aw-shadow);
}

.aw-metric-label,
.aw-metric-note,
.aw-info-label,
.aw-empty-panel,
.aw-panel .dt-info,
.aw-status {
    color: var(--aw-muted);
}

.aw-info-grid,
.aw-info-item,
.aw-chart-box,
table.aw-edit-table tbody tr,
table.aw-data-table td,
.aw-panel .dt-layout-row:first-child,
.aw-panel .dt-search,
.aw-sim-grid {
    border-color: var(--aw-line);
}

.aw-panel-head,
.aw-panel .dt-layout-row:first-child,
.aw-panel .dt-search,
table.aw-data-table th {
    border-color: var(--aw-line);
    background: var(--aw-table-head-bg);
}

.aw-panel-head {
    border-color: var(--aw-primary);
    border-left: 6px solid var(--aw-primary-2);
    background: var(--aw-primary);
    box-shadow: var(--aw-glow);
}

.aw-panel-head h2,
.aw-panel-head span {
    color: var(--aw-panel-head-fg, var(--aw-bg));
    font-weight: bold;
    letter-spacing: 0;
    text-transform: uppercase;
}

.aw-panel-head span {
    opacity: 0.92;
}

.aw-panel .dt-search label,
table.aw-data-table th {
    color: var(--aw-primary-2);
}

table.aw-data-table tbody tr:hover,
table.aw-edit-table tbody tr.editing {
    background: var(--aw-table-hover-bg);
}

.aw-btn,
.aw-mini-btn {
    border: 1px solid var(--aw-line-strong);
    background: var(--aw-surface-2);
    color: var(--aw-text);
}

.aw-btn:hover,
.aw-mini-btn:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-soft);
    color: var(--aw-primary-2);
}

.aw-btn-primary:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-2);
    color: var(--aw-bg);
}

.aw-quick-field input,
table.edit-table tbody tr td.dt-input input,
table.aw-edit-table tbody tr td.dt-input input,
table.quote-tbl tbody tr td input,
table#quote-table tbody tr td input,
.aw-panel .dt-search input,
.aw-sim-grid input {
    border: 1px solid var(--aw-input-border) !important;
    background: var(--aw-input-bg) !important;
    color: var(--aw-input-text) !important;
}

table.aw-edit-table tbody tr td.dt-input input:disabled {
    background: var(--aw-input-disabled-bg) !important;
    color: var(--aw-input-disabled-text) !important;
}

table.aw-edit-table input.dt-data-changed,
input.dt-data-changed {
    border-color: var(--aw-warning) !important;
    background: color-mix(in srgb, var(--aw-input-bg) 82%, var(--aw-warning) 18%) !important;
    color: var(--aw-input-text) !important;
}

table.aw-edit-table input.dt-data-changed:focus,
input.dt-data-changed:focus {
    border-color: var(--aw-warning) !important;
    background: color-mix(in srgb, var(--aw-input-bg) 82%, var(--aw-warning) 18%) !important;
    box-shadow: 0 0 0 1px var(--aw-warning), 0 0 16px var(--aw-warning-border) !important;
}

.aw-status.error,
.aw-recency-alert {
    color: var(--aw-danger);
}

.aw-recency-warn {
    color: var(--aw-warning);
}

table.awd,
table.tbl-display,
table.report-table,
table.info-table,
table.aw-data-table {
    color: var(--aw-text);
}

table.awd thead th,
table.awd tfoot th,
table.report-table thead th,
table#lot-table thead th,
table#manual-count thead th,
table#users-admin table thead th,
div#users-admin form#new-user table thead th,
table#clientClasses thead th,
table.aw-data-table th {
    border-color: var(--aw-line);
    background: var(--aw-table-head-bg);
    color: var(--aw-primary-2);
}

table.awd tbody,
table.awd tbody tr td,
table.report-table tbody tr,
table.tbl-display tbody tr td,
table#lot-table tbody,
table#manual-count tbody,
table.aw-data-table td {
    border-color: var(--aw-line);
}

table.awd-stripe tbody tr:nth-child(even),
table.report-table tbody tr:nth-child(even),
table.dataTable tbody tr:nth-child(even),
table.dataTable.display tbody tr.even {
    background-color: var(--aw-table-row-alt-bg) !important;
}

table.awd-hover tbody tr:hover,
table.tbl-display tbody tr:hover,
table.aw-data-table tbody tr:hover,
table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover,
table.dataTable tbody tr:hover {
    background: var(--aw-table-hover-bg) !important;
    color: var(--aw-table-hover-fg) !important;
    outline: 1px solid var(--aw-table-hover-border);
    outline-offset: -1px;
    box-shadow: var(--aw-table-hover-glow);
}

table.awd-hover tbody tr:hover td,
table.tbl-display tbody tr:hover td,
table.aw-data-table tbody tr:hover td,
table.dataTable.hover tbody tr:hover > *,
table.dataTable.display tbody tr:hover > *,
table.dataTable tbody tr:hover > * {
    border-color: var(--aw-table-hover-border) !important;
    background: var(--aw-table-hover-bg) !important;
    color: var(--aw-table-hover-fg) !important;
    box-shadow: none !important;
}

table.awd-hover tbody tr:hover a,
table.tbl-display tbody tr:hover a,
table.aw-data-table tbody tr:hover a,
table.dataTable.hover tbody tr:hover a,
table.dataTable.display tbody tr:hover a,
table.dataTable tbody tr:hover a {
    color: var(--aw-table-hover-link, var(--aw-link-hover)) !important;
    font-weight: bold;
}

table.awd tbody tr.company-sep,
table.awd tbody tr.company-sep:hover,
table.awd tbody tr.company-sep:hover td {
    border-color: var(--aw-info-border);
    background: var(--aw-info-bg) !important;
    color: var(--aw-info) !important;
}

table.tbl-display tbody tr td.label,
table.picker tbody tr td,
div#flux div.table-controls,
table#bank-acc-dashboard tbody tr td.dt-recebimento span {
    border-color: var(--aw-line);
    background: var(--aw-surface-2);
    color: var(--aw-muted);
}

table.tbl-display tbody tr td.data {
    border-color: var(--aw-line);
    background: var(--aw-surface);
    color: var(--aw-text);
}

.dt-search,
.dt-container,
.dt-container .dt-layout-row,
.dt-container .dt-layout-cell,
.dt-container .dt-scroll,
.dt-container .dt-scroll-head,
.dt-container .dt-scroll-body,
.dt-container .dt-scroll-foot {
    background: var(--aw-surface) !important;
    color: var(--aw-text) !important;
}

.dt-container .dt-layout-row:first-child,
.dt-container .dt-layout-row:last-child {
    border: 1px solid var(--aw-line) !important;
    background: var(--aw-surface) !important;
}

.dt-container .dt-length,
.dt-container .dt-search,
.dt-container .dt-info,
.dt-container .dt-paging {
    color: var(--aw-muted) !important;
}

.dt-container .dt-length label,
.dt-container .dt-search label {
    color: var(--aw-primary-2) !important;
    font-weight: bold;
}

.dt-container .dt-input,
.dt-container select.dt-input,
.dt-container input.dt-input,
.dt-container .dt-search input,
.dt-container .dt-length select {
    border: 1px solid var(--aw-input-border) !important;
    background: var(--aw-input-bg) !important;
    color: var(--aw-input-text) !important;
    box-shadow: none !important;
}

.dt-container .dt-paging .dt-paging-button,
.dt-container .dt-paging .paginate_button {
    border: 1px solid var(--aw-line) !important;
    background: var(--aw-surface-2) !important;
    color: var(--aw-text) !important;
    box-shadow: none !important;
}

.dt-container .dt-paging .dt-paging-button:hover,
.dt-container .dt-paging .paginate_button:hover,
.dt-container .dt-paging .dt-paging-button.current,
.dt-container .dt-paging .paginate_button.current {
    border-color: var(--aw-primary-2) !important;
    background: var(--aw-primary-soft) !important;
    color: var(--aw-primary-2) !important;
}

.selected {
    background: var(--aw-mark-selected-bg) !important;
    color: var(--aw-mark-selected-fg) !important;
}

.ideal-mark,
table tbody tr.ideal-mark,
table#lot-table tbody tr.lote-ativo,
table.stmt tbody tr.ideal-mark,
.ideal-mark-light,
table.awd tbody tr td div.goal,
tr.sep-done {
    border-color: var(--aw-mark-ideal-border) !important;
    background: var(--aw-mark-ideal-bg) !important;
    color: var(--aw-mark-ideal-fg) !important;
}

.good-mark,
table tbody tr.good-mark,
table#lot-table tbody tr.lote-ok {
    border-color: var(--aw-mark-good-border) !important;
    background: var(--aw-mark-good-bg) !important;
    color: var(--aw-mark-good-fg) !important;
}

.ok-mark,
table tbody tr.ok-mark,
table#lot-table tbody tr.lote-atencao,
table.stmt tbody tr.tsi-future-payment,
table.stmt tbody tr.day-break,
table.stmt tbody tr.day-break-commit {
    border-color: var(--aw-mark-ok-border) !important;
    background: var(--aw-mark-ok-bg) !important;
    color: var(--aw-mark-ok-fg) !important;
}

.bad-mark,
table tbody tr.bad-mark,
tr.sep-missing {
    border-color: var(--aw-mark-bad-border) !important;
    background: var(--aw-mark-bad-bg) !important;
    color: var(--aw-mark-bad-fg) !important;
}

.crit-mark,
table tbody tr.crit-mark,
table#lot-table tbody tr.lote-desativado,
table.stmt tbody tr.crit-mark-commit {
    border-color: var(--aw-mark-crit-border) !important;
    background: var(--aw-mark-crit-bg) !important;
    color: var(--aw-mark-crit-fg) !important;
}

.negative-mark {
    border-color: var(--aw-mark-negative-border) !important;
    background: var(--aw-mark-negative-bg) !important;
    color: var(--aw-mark-negative-fg) !important;
}

.spot-mark,
table tbody tr.spot-mark,
.over-mark {
    border-color: var(--aw-mark-over-border) !important;
    background: var(--aw-mark-over-bg) !important;
    color: var(--aw-mark-over-fg) !important;
}

table.aw-data-table tbody tr.aw-row-attention td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-attention td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark) {
    border-color: var(--aw-row-attention-border);
    background: var(--aw-row-attention-bg);
    color: var(--aw-row-attention-fg);
}

table.aw-data-table tbody tr.aw-row-alert td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-alert td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark) {
    border-color: var(--aw-row-alert-border);
    background: var(--aw-row-alert-bg);
    color: var(--aw-row-alert-fg);
}

table.aw-data-table tbody tr.aw-row-attention:hover td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-attention:hover td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-attention:hover > *:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark) {
    border-color: var(--aw-row-attention-border) !important;
    background: var(--aw-row-attention-hover-bg) !important;
    color: var(--aw-row-attention-fg) !important;
    box-shadow: inset 4px 0 0 var(--aw-row-attention-border) !important;
}

table.aw-data-table tbody tr.aw-row-alert:hover td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-alert:hover td:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark),
table.dataTable tbody tr.aw-row-alert:hover > *:not(.ideal-mark):not(.good-mark):not(.ok-mark):not(.bad-mark):not(.crit-mark) {
    border-color: var(--aw-row-alert-border) !important;
    background: var(--aw-row-alert-hover-bg) !important;
    color: var(--aw-row-alert-fg) !important;
    box-shadow: inset 4px 0 0 var(--aw-row-alert-border) !important;
}

table tbody tr:hover td.ideal-mark,
table tbody tr:hover td.good-mark,
table tbody tr:hover td.ok-mark,
table tbody tr:hover td.bad-mark,
table tbody tr:hover td.crit-mark,
table tbody tr:hover td.negative-mark,
table tbody tr:hover td.spot-mark,
table tbody tr:hover td.over-mark {
    font-weight: bold;
    box-shadow: none !important;
}

table tbody tr.ideal-mark:hover > *,
table tbody tr.lote-ativo:hover > *,
table.stmt tbody tr.ideal-mark:hover > *,
tr.sep-done:hover > * {
    border-color: var(--aw-mark-ideal-border) !important;
    background: var(--aw-mark-ideal-bg) !important;
    color: var(--aw-mark-ideal-fg) !important;
}

table tbody tr.good-mark:hover > *,
table tbody tr.lote-ok:hover > * {
    border-color: var(--aw-mark-good-border) !important;
    background: var(--aw-mark-good-bg) !important;
    color: var(--aw-mark-good-fg) !important;
}

table tbody tr.ok-mark:hover > *,
table tbody tr.lote-atencao:hover > *,
table.stmt tbody tr.tsi-future-payment:hover > *,
table.stmt tbody tr.day-break:hover > *,
table.stmt tbody tr.day-break-commit:hover > * {
    border-color: var(--aw-mark-ok-border) !important;
    background: var(--aw-mark-ok-bg) !important;
    color: var(--aw-mark-ok-fg) !important;
}

table tbody tr.bad-mark:hover > *,
tr.sep-missing:hover > * {
    border-color: var(--aw-mark-bad-border) !important;
    background: var(--aw-mark-bad-bg) !important;
    color: var(--aw-mark-bad-fg) !important;
}

table tbody tr.crit-mark:hover > *,
table tbody tr.lote-desativado:hover > *,
table.stmt tbody tr.crit-mark-commit:hover > * {
    border-color: var(--aw-mark-crit-border) !important;
    background: var(--aw-mark-crit-bg) !important;
    color: var(--aw-mark-crit-fg) !important;
}

table tbody tr.negative-mark:hover > * {
    border-color: var(--aw-mark-negative-border) !important;
    background: var(--aw-mark-negative-bg) !important;
    color: var(--aw-mark-negative-fg) !important;
}

table tbody tr.spot-mark:hover > *,
table tbody tr.over-mark:hover > * {
    border-color: var(--aw-mark-over-border) !important;
    background: var(--aw-mark-over-bg) !important;
    color: var(--aw-mark-over-fg) !important;
}

table tbody tr:hover td.ideal-mark {
    border-color: var(--aw-mark-ideal-border) !important;
    background: var(--aw-mark-ideal-bg) !important;
    color: var(--aw-mark-ideal-fg) !important;
}

table tbody tr:hover td.good-mark {
    border-color: var(--aw-mark-good-border) !important;
    background: var(--aw-mark-good-bg) !important;
    color: var(--aw-mark-good-fg) !important;
}

table tbody tr:hover td.ok-mark {
    border-color: var(--aw-mark-ok-border) !important;
    background: var(--aw-mark-ok-bg) !important;
    color: var(--aw-mark-ok-fg) !important;
}

table tbody tr:hover td.bad-mark {
    border-color: var(--aw-mark-bad-border) !important;
    background: var(--aw-mark-bad-bg) !important;
    color: var(--aw-mark-bad-fg) !important;
}

table tbody tr:hover td.crit-mark {
    border-color: var(--aw-mark-crit-border) !important;
    background: var(--aw-mark-crit-bg) !important;
    color: var(--aw-mark-crit-fg) !important;
}

table tbody tr:hover td.negative-mark {
    border-color: var(--aw-mark-negative-border) !important;
    background: var(--aw-mark-negative-bg) !important;
    color: var(--aw-mark-negative-fg) !important;
}

table tbody tr:hover td.spot-mark,
table tbody tr:hover td.over-mark {
    border-color: var(--aw-mark-over-border) !important;
    background: var(--aw-mark-over-bg) !important;
    color: var(--aw-mark-over-fg) !important;
}

.aw-info-item.aw-risk-danger {
    border-color: var(--aw-risk-border) !important;
    background: var(--aw-risk-bg) !important;
    color: var(--aw-risk-fg) !important;
    box-shadow: var(--aw-risk-glow);
}

.aw-info-item.aw-risk-danger .aw-info-label,
.aw-info-item.aw-risk-danger .aw-info-value {
    color: var(--aw-risk-fg) !important;
    text-shadow: var(--aw-risk-text-glow);
}

.aw-info-item.aw-risk-danger .aw-info-value {
    font-size: 16px;
}

.sales-doc-badge {
    display: inline-grid;
    min-width: 46px;
    min-height: 24px;
    align-content: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 2px 7px;
    border: 1px solid var(--aw-line-strong);
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.sales-doc-badge-cv {
    border-color: var(--aw-accent-border);
    background: var(--aw-accent-bg);
    color: var(--aw-accent);
}

.sales-doc-badge-ov {
    border-color: var(--aw-info-border);
    background: var(--aw-info-bg);
    color: var(--aw-info);
}

.sales-doc-badge-nfe {
    border-color: var(--aw-success-border);
    background: var(--aw-success-bg);
    color: var(--aw-success);
}

.sales-doc-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
}

.finance-picker-body label {
    color: var(--aw-primary-2);
}

.finance-check,
.aw-mini-btn {
    border-color: var(--aw-line);
    background: var(--aw-surface-2);
}

.finance-chart-box,
.aw-chart-box,
.histogram-box,
.chart-view {
    background: var(--aw-chart-surface);
}

.finance-chart-box canvas,
.aw-chart-box canvas,
.histogram-box canvas,
.chart-view canvas {
    background: var(--aw-chart-surface);
}

body.login-page {
    margin: 0;
    min-height: 100vh;
    overflow: hidden;
}

body.login-page #login-background {
    background: var(--aw-login-bg,
        linear-gradient(var(--aw-bg-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--aw-bg-grid) 1px, transparent 1px),
        radial-gradient(circle at 18% 18%, var(--aw-primary-soft), transparent 28%),
        radial-gradient(circle at 78% 80%, var(--aw-primary-soft), transparent 34%),
        var(--aw-bg));
    background-size: var(--aw-login-bg-size, 42px 42px, 42px 42px, auto, auto, auto);
}

body.login-page #login-content {
    min-height: 100vh;
    padding: var(--aw-login-content-padding, 28px);
    box-sizing: border-box;
}

.login-shell {
    display: grid;
    grid-template-columns: var(--aw-login-grid, minmax(280px, 460px) minmax(260px, 420px));
    gap: var(--aw-login-gap, 56px);
    align-items: center;
    width: min(var(--aw-login-shell-width, 1040px), 100%);
}

.login-brand {
    min-width: 0;
}

.login-kicker {
    display: inline-block;
    margin-bottom: 14px;
    padding: 4px 8px;
    border: var(--aw-login-kicker-border, 1px solid var(--aw-line-strong));
    background: var(--aw-login-kicker-bg, transparent);
    color: var(--aw-login-kicker-fg, var(--aw-primary-2));
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.login-brand h1 {
    margin: 0;
    color: var(--aw-login-title-fg, var(--aw-text));
    font-size: var(--aw-login-title-size, 42px);
    font-weight: var(--aw-login-title-weight, bold);
    letter-spacing: 0;
    line-height: 1.02;
    text-transform: uppercase;
}

.login-brand p {
    max-width: 420px;
    margin: 14px 0 0;
    color: var(--aw-login-copy-fg, var(--aw-muted));
    font-size: 13px;
    font-weight: bold;
    line-height: 1.55;
}

.login-signal {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    max-width: 360px;
    margin-top: 28px;
}

.login-signal span {
    height: 5px;
    border: var(--aw-login-signal-border, 1px solid var(--aw-line-strong));
    background: var(--aw-login-signal-bg, var(--aw-primary-soft));
}

.login-signal span:nth-child(1) {
    background: var(--aw-login-signal-active-bg, var(--aw-primary-2));
    box-shadow: var(--aw-login-signal-active-shadow, 0 0 16px var(--aw-primary-glow));
}

.login-card {
    position: relative;
    min-width: 0;
    padding: var(--aw-login-card-padding, 24px);
    border: var(--aw-login-card-border, 1px solid var(--aw-line-strong));
    border-radius: var(--aw-login-card-radius, 0);
    background: var(--aw-login-card-bg, var(--aw-surface));
    box-shadow: var(--aw-login-card-shadow, var(--aw-shadow), var(--aw-glow));
}

.login-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: var(--aw-login-accent-left, 18px);
    width: var(--aw-login-accent-width, 96px);
    height: var(--aw-login-accent-height, 2px);
    background: var(--aw-login-accent-bg, var(--aw-primary-2));
    box-shadow: var(--aw-login-accent-shadow, 0 0 16px var(--aw-primary-glow));
}

.login-form-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 22px;
}

.login-form-head h2 {
    margin: 0;
    color: var(--aw-login-form-title-fg, var(--aw-text));
    font-size: 18px;
    text-transform: uppercase;
}

.login-form-head span,
.login-field span {
    color: var(--aw-login-label-fg, var(--aw-muted));
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.login-field {
    display: block;
    margin-bottom: 14px;
}

.login-field span {
    display: block;
    margin-bottom: 6px;
}

.login-field input {
    box-sizing: border-box;
    width: 100%;
    height: var(--aw-login-input-height, 44px);
    margin: 0;
    padding: 0 12px;
    border: var(--aw-login-input-border, 1px solid var(--aw-input-border)) !important;
    border-radius: var(--aw-login-input-radius, 0);
    background: var(--aw-login-input-bg, var(--aw-input-bg)) !important;
    color: var(--aw-login-input-fg, var(--aw-input-text)) !important;
    box-shadow: var(--aw-login-input-shadow, none);
    font-size: 14px;
    font-weight: bold;
}

.login-field input:focus {
    border-color: var(--aw-login-input-focus, var(--aw-input-focus)) !important;
    background: var(--aw-login-input-bg, var(--aw-input-bg)) !important;
    color: var(--aw-login-input-fg, var(--aw-input-text)) !important;
    box-shadow: var(--aw-login-input-focus-shadow, 0 0 0 1px var(--aw-input-focus), 0 0 16px var(--aw-primary-glow)) !important;
}

.login-submit {
    width: 100%;
    height: var(--aw-login-button-height, 44px);
    margin-top: 4px;
    border: var(--aw-login-button-border, 1px solid var(--aw-primary));
    border-radius: var(--aw-login-button-radius, 0);
    background: var(--aw-login-button-bg, var(--aw-primary));
    color: var(--aw-login-button-fg, var(--aw-bg));
    font-family: "FiraCodeMono", monospace;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: var(--aw-login-button-shadow, none);
}

.login-submit:hover {
    border-color: var(--aw-login-button-hover-border, var(--aw-primary-2));
    background: var(--aw-login-button-hover-bg, var(--aw-primary-2));
    color: var(--aw-login-button-hover-fg, var(--aw-bg));
    box-shadow: var(--aw-login-button-hover-shadow, var(--aw-login-button-shadow, none));
}

.login-error {
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--aw-danger-border);
    background: var(--aw-danger-bg);
    color: var(--aw-danger);
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

div#users-admin div.card,
div.v-card textarea,
div#users-admin form#new-user input,
div#users-admin form#new-user select {
    border-color: var(--aw-line);
    background: var(--aw-surface);
    color: var(--aw-text);
}

div#users-admin form#new-user table td button {
    border-color: var(--aw-line-strong);
    background: var(--aw-surface-2);
    color: var(--aw-text);
}

div#users-admin form#new-user table td button:hover {
    border-color: var(--aw-primary-2);
    background: var(--aw-primary-soft);
}

@media (max-width: 820px) {
    body.login-page {
        overflow: auto;
    }

    .login-shell {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .login-brand h1 {
        font-size: 32px;
    }
}
