:root {
  --navy: #102a43;
  --navy-deep: #0c2238;
  --blue: #2563eb;
  --blue-soft: #eaf1ff;
  --green: #15803d;
  --green-soft: #eaf8ef;
  --amber: #b45309;
  --amber-soft: #fff6df;
  --red: #c2413a;
  --red-soft: #fff0ee;
  --ink: #1d2b3a;
  --muted: #6d7a89;
  --line: #e8edf2;
  --canvas: #f6f8fb;
  --white: #ffffff;
  --shadow: 0 12px 28px rgba(15, 42, 67, 0.07);
  --action-primary: #2563eb;
  --action-primary-hover: #1d4ed8;
  --action-success: #15803d;
  --action-success-hover: #166534;
  --action-danger: #c2413a;
  --action-danger-hover: #a8322c;
  --focus-ring: rgba(37, 99, 235, .24);
}

/* TurnOver */
.turnover-flow-banner { display: flex; align-items: stretch; gap: 12px; margin-bottom: 20px; padding: 17px 20px; border: 1px solid #cfe0ff; border-radius: 12px; background: linear-gradient(135deg,#f7faff,#edf4ff); }
.turnover-flow-banner > div { display: grid; flex: 1; min-width: 0; grid-template-columns: 34px 1fr; column-gap: 10px; align-content: center; }
.turnover-flow-banner > div > span { display: grid; grid-row: span 2; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 800; }
.turnover-flow-banner strong { font-size: 12px; }.turnover-flow-banner small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.turnover-flow-banner i { align-self: center; width: 34px; height: 1px; background: #abc7f5; }
.turnover-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 20px; }
.turnover-metric { position: relative; overflow: hidden; min-height: 118px; padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: 0 4px 12px rgba(20,45,70,.025); }
.turnover-metric::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: var(--metric-color,#2563eb); }
.turnover-metric > span,.turnover-metric small { display: block; color: var(--muted); font-size: 10px; }.turnover-metric strong { display: block; margin: 10px 0 6px; color: var(--ink); font: 800 25px "Manrope",sans-serif; }
.turnover-metric-blue { --metric-color:#2563eb; }.turnover-metric-red { --metric-color:#dc4545; }.turnover-metric-orange { --metric-color:#d97706; }.turnover-metric-green { --metric-color:#16935b; }
.turnover-insights-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }.turnover-insight-card { min-width: 0; }
.turnover-ranked-list { padding: 8px 20px 16px; }.turnover-ranked-list > div { display: grid; grid-template-columns: 25px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }.turnover-ranked-list > div:last-child { border-bottom: 0; }
.turnover-ranked-list span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; color: #265bb5; background: #eaf2ff; font-size: 9px; font-weight: 800; }.turnover-ranked-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.turnover-ranked-list em { color: var(--muted); font-size: 9px; font-style: normal; }
.turnover-muted { margin: 15px 0; color: var(--muted); font-size: 11px; }.turnover-main-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.8fr); gap: 18px; margin-bottom: 18px; }
.turnover-process-card,.turnover-task-panel { min-width: 0; }.turnover-process-list { padding: 2px 20px 14px; }.turnover-process-row { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(145px,.65fr) minmax(140px,.65fr) auto; gap: 15px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }.turnover-process-row:last-child { border-bottom: 0; }
.turnover-person { display: flex; min-width: 0; gap: 10px; align-items: center; }.turnover-person > div { min-width: 0; }.turnover-person strong,.turnover-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.turnover-person strong { font-size: 12px; }.turnover-person small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.turnover-progress { min-width: 0; }.turnover-progress strong,.turnover-progress small { display: block; font-size: 10px; }.turnover-progress small { margin-top: 4px; color: var(--muted); }.turnover-progress .progress-bar { height: 5px; margin-top: 6px; }
.turnover-process-meta span,.turnover-process-meta small { display: block; }.turnover-process-meta span { font-size: 11px; font-weight: 700; }.turnover-process-meta small { display: -webkit-box; overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 9px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.turnover-task-list { padding: 8px 18px 16px; }.turnover-task { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }.turnover-task:last-child { border-bottom: 0; }.turnover-task-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; color: #265bb5; background: #eaf2ff; font-size: 10px; font-weight: 800; }
.turnover-task-heading { display: flex; gap: 10px; justify-content: space-between; }.turnover-task-heading strong { font-size: 11px; }.turnover-task-heading span { flex: 0 0 auto; color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }.turnover-task-copy p,.turnover-task-copy small { display: block; margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }.turnover-task-overdue .turnover-task-icon,.turnover-task-blocked .turnover-task-icon { color: #b52d27; background: #fff0ee; }.turnover-task-done .turnover-task-icon { color: #147748; background: #eaf8ef; }.compact-button { min-height: 32px; padding: 0 10px; font-size: 10px; }
.turnover-policy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.turnover-automation-list,.turnover-permission-list { padding: 9px 20px 17px; }.turnover-automation-list > div,.turnover-permission-list > div { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }.turnover-automation-list > div:last-child,.turnover-permission-list > div:last-child { border-bottom: 0; }
.turnover-automation-list > div > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #255dc1; background: #edf4ff; font-size: 9px; font-weight: 800; }.turnover-automation-list strong,.turnover-permission-list strong { display: block; font-size: 11px; }.turnover-automation-list small,.turnover-permission-list span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }.turnover-automation-list em,.turnover-permission-list em { color: #3f5f86; font-size: 9px; font-style: normal; font-weight: 700; }
.turnover-permission-list > div { grid-template-columns: minmax(100px,.45fr) minmax(0,1fr) auto; }.turnover-limited-banner { margin-bottom: 18px; padding: 16px 19px; border: 1px solid #eed394; border-radius: 11px; background: #fff9e8; }.turnover-limited-banner strong { font-size: 12px; }.turnover-limited-banner p { margin: 5px 0 0; color: #765e2b; font-size: 10px; line-height: 1.5; }
.turnover-empty { display: grid; justify-items: center; padding: 42px 20px; text-align: center; }.turnover-empty span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 10px; border-radius: 13px; color: #2764cc; background: #eaf2ff; }.turnover-empty strong { font-size: 12px; }.turnover-empty small { margin-top: 5px; color: var(--muted); font-size: 10px; }.turnover-empty.compact { padding: 25px 10px; }
.turnover-process-hero { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-bottom: 18px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.turnover-process-hero > div:first-child { display: flex; gap: 11px; align-items: center; }.turnover-process-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #225fc8; background: #eaf2ff; font-size: 22px; }.turnover-process-hero strong,.turnover-process-hero small { display: block; }.turnover-process-hero small { margin-top: 4px; color: var(--muted); font-size: 10px; }.turnover-process-hero .turnover-progress { width: min(320px,45%); }
.turnover-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 18px; }.turnover-detail-grid > div { display: grid; gap: 18px; }.turnover-dl01-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 18px 20px; }.turnover-dl01-summary > div { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafcff; }.turnover-dl01-summary span,.turnover-dl01-summary strong { display: block; }.turnover-dl01-summary span { color: var(--muted); font-size: 9px; }.turnover-dl01-summary strong { margin-top: 5px; font-size: 11px; }.turnover-justification { margin: 0 20px 20px; padding: 14px; border-radius: 9px; background: #f6f8fb; }.turnover-justification span { color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }.turnover-justification p { margin: 5px 0 0; font-size: 11px; line-height: 1.6; }
.turnover-reference-card { align-self: start; padding: 20px; }.turnover-reference-card h2 { margin: 0 0 18px; font: 700 15px "Manrope",sans-serif; }.turnover-reference-card ol { display: grid; gap: 18px; margin: 0 0 21px; padding: 0; list-style: none; counter-reset: steps; }.turnover-reference-card li { position: relative; padding-left: 34px; counter-increment: steps; }.turnover-reference-card li::before { position: absolute; top: 0; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); content: counter(steps); font-size: 9px; font-weight: 800; }.turnover-reference-card strong,.turnover-reference-card span { display: block; }.turnover-reference-card strong { font-size: 11px; }.turnover-reference-card span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.5; }.turnover-reference-card button { width: 100%; }
.turnover-reason-fields,.turnover-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.turnover-dl01-modal { width: min(820px,calc(100vw - 32px)); max-width: 820px; max-height: min(88vh,900px); overflow-y: auto; }.turnover-task-modal { width: min(520px,calc(100vw - 32px)); }.turnover-dl01-modal fieldset { margin: 18px 0 0; padding: 15px; border: 1px solid var(--line); border-radius: 10px; }.turnover-dl01-modal legend { padding: 0 6px; font-size: 12px; font-weight: 800; }.turnover-dl01-modal details { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; }.turnover-dl01-modal summary { cursor: pointer; font-size: 11px; font-weight: 700; }

[data-theme="dark"] .turnover-flow-banner,[data-theme="dark"] .turnover-process-hero,[data-theme="dark"] .turnover-metric,[data-theme="dark"] .turnover-dl01-summary > div { border-color: #31435a; background: #17263a; }[data-theme="dark"] .turnover-limited-banner { border-color: #6f5728; background: #332b1a; }[data-theme="dark"] .turnover-limited-banner p { color: #d8c28e; }[data-theme="dark"] .turnover-justification { background: #17263a; }

@media (max-width: 1100px) { .turnover-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.turnover-insights-grid { grid-template-columns: 1fr; }.turnover-main-grid,.turnover-detail-grid { grid-template-columns: 1fr; }.turnover-policy-grid { grid-template-columns: 1fr; }.turnover-process-row { grid-template-columns: minmax(220px,1fr) minmax(130px,.6fr) auto; }.turnover-process-meta { display: none; } }
@media (max-width: 700px) { .turnover-flow-banner { display: grid; }.turnover-flow-banner i { width: 1px; height: 16px; margin-left: 17px; }.turnover-metrics { grid-template-columns: 1fr 1fr; }.turnover-process-row { grid-template-columns: 1fr; }.turnover-process-row > button { width: 100%; }.turnover-progress { width: 100%; }.turnover-process-hero { align-items: flex-start; flex-direction: column; }.turnover-process-hero .turnover-progress { width: 100%; }.turnover-dl01-summary { grid-template-columns: 1fr; }.turnover-task { grid-template-columns: 36px minmax(0,1fr); }.turnover-task > button { grid-column: 1 / -1; width: 100%; }.turnover-reason-fields,.turnover-form-grid { grid-template-columns: 1fr; }.turnover-permission-list > div { grid-template-columns: 1fr auto; }.turnover-permission-list span { grid-column: 1 / -1; } }
@media (max-width: 430px) { .turnover-metrics { grid-template-columns: 1fr; }.turnover-automation-list > div { grid-template-columns: 34px minmax(0,1fr); }.turnover-automation-list em { grid-column: 2; }.turnover-ranked-list > div { grid-template-columns: 25px minmax(0,1fr); }.turnover-ranked-list em { grid-column: 2; } }

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: "DM Sans", Arial, sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 264px; height: 100vh; min-height: 0; background: var(--navy); color: #d9e3ee; display: flex; flex-direction: column; padding: 28px 16px 18px; position: fixed; inset: 0 auto 0 0; z-index: 20; overflow: hidden; transition: transform .25s ease; }
.brand { display: flex; gap: 11px; align-items: center; padding: 0 12px 28px; color: #fff; }
.brand strong { display: block; font: 800 21px/1 "Manrope", sans-serif; letter-spacing: -.6px; }
.brand small { display: block; font-size: 10px; letter-spacing: .8px; color: #a8bdcf; text-transform: uppercase; margin-top: 5px; }
.brand-mark { width: 32px; height: 34px; display: flex; gap: 3px; align-items: flex-end; }
.brand-mark span { background: #6ba4ff; display: block; width: 8px; border-radius: 5px 5px 1px 1px; }
.brand-mark span:nth-child(1) { height: 15px; }.brand-mark span:nth-child(2) { height: 25px; }.brand-mark span:nth-child(3) { height: 33px; background: #f7b955; }
.menu { display: grid; flex: 1 1 auto; min-height: 0; gap: 3px; overflow-y: auto; overflow-x: hidden; padding-right: 4px; scrollbar-width: thin; scrollbar-color: rgba(168,195,221,.45) transparent; }
.menu::-webkit-scrollbar { width: 6px; }
.menu::-webkit-scrollbar-track { background: transparent; }
.menu::-webkit-scrollbar-thumb { background: rgba(168,195,221,.45); border-radius: 8px; }
.menu-label { color: #728ba3; font-size: 10px; font-weight: 700; letter-spacing: 1px; margin: 18px 12px 7px; }
.menu-label:first-child { margin-top: 0; }
.menu-label.menu-section-toggle { display: flex; align-items: center; justify-content: space-between; min-height: 34px; margin-right: 2px; margin-left: 2px; padding: 7px 10px; border-radius: 7px; cursor: pointer; user-select: none; transition: color .2s, background .2s; }
.menu-label.menu-section-toggle:hover { color: #b9cce0; background: rgba(255,255,255,.055); }
.menu-label.menu-section-toggle:focus-visible { outline: 3px solid rgba(147,197,253,.55); outline-offset: 1px; }
.menu-section-chevron { display: grid; width: 20px; height: 20px; place-items: center; color: #9db4ca; font-size: 20px; line-height: 1; transform: rotate(90deg); transition: transform .2s ease; }
.menu-label.menu-section-toggle.collapsed .menu-section-chevron { transform: rotate(0deg); }
.menu-section-items { display: grid; gap: 3px; }
.menu-section-items[hidden] { display: none !important; }
.nav-item { appearance: none; border: 0; color: #c6d4e1; background: transparent; min-height: 46px; border-radius: 8px; padding: 0 12px; display: flex; align-items: center; gap: 12px; text-align: left; font-size: 14px; transition: background .2s, color .2s; }
.nav-item:hover { background: rgba(255,255,255,.07); color: #fff; }
.nav-item.active { background: #1d4d7e; color: #fff; font-weight: 600; }
.nav-icon { width: 19px; text-align: center; font-size: 19px; color: #a8c3dd; }.nav-item.active .nav-icon { color: #fff; }
.nav-count { font-size: 11px; color: #aac6e3; background: rgba(255,255,255,.1); min-width: 21px; padding: 3px 6px; border-radius: 12px; margin-left: auto; text-align: center; }.nav-count.warning { color: #f3c873; }
.sidebar-help { cursor: pointer; transition: background 0.2s; border: 1px solid rgba(141,179,216,.22); background: rgba(8,30,52,.28); border-radius: 10px; padding: 13px 11px; display: flex; gap: 9px; margin: auto 4px 18px; font-size: 11px; color: #aabed0; line-height: 1.35; }
.sidebar-help:hover { background: rgba(8,30,52,.45); }
.sidebar-help strong { display: block; color: #e6f0f8; font-size: 12px; margin-bottom: 3px; }.sidebar-help span { display: block; }.help-icon { border: 1px solid #6889aa; color: #bed7ec; border-radius: 50%; min-width: 21px; height: 21px; display: grid; place-items: center; font-weight: 700; }
.profile { border-top: 1px solid rgba(200,220,240,.15); padding: 17px 6px 0; display: flex; gap: 10px; align-items: center; }.profile strong { display: block; color: #f4f8fc; font-size: 12px; }.profile span { display: block; color: #91a9c0; font-size: 11px; margin-top: 3px; }.more-button { margin-left: auto; background: transparent; border: 0; color: #a6bdd2; letter-spacing: 1px; padding: 4px; }
.avatar { width: 35px; height: 35px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700; flex: 0 0 auto; }.avatar-blue { background: #dceaff; color: #2455a8; }.avatar-coral { background: #ffe3dd; color: #a8493b; }.avatar-lilac { background: #e9e0fb; color: #7051ac; }.avatar-teal { background: #d8f2ed; color: #187a6c; }.avatar-gold { background: #fff0cb; color: #9a6619; }
.main-content { width: calc(100% - 264px); margin-left: 264px; min-height: 100vh; }.topbar { height: 78px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.9); display: flex; align-items: center; justify-content: space-between; padding: 0 44px; position: sticky; top: 0; z-index: 10; backdrop-filter: blur(8px); }.breadcrumb span { display: block; color: #8a97a5; font-size: 11px; margin-bottom: 3px; }.breadcrumb strong { font: 700 17px "Manrope", sans-serif; letter-spacing: -.35px; }.topbar-actions { display: flex; gap: 11px; align-items: center; }.icon-button { border: 1px solid var(--line); background: #fff; width: 38px; height: 38px; border-radius: 8px; color: #5c6d7f; font-size: 22px; position: relative; }.notification-button span { position: absolute; width: 7px; height: 7px; border: 1.5px solid #fff; background: #e34d4b; border-radius: 50%; top: 8px; right: 8px; }.date-chip { min-height: 38px; border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 0 12px; color: #526273; font-size: 12px; }.date-chip span { color: var(--blue); margin-right: 6px; }.mobile-menu { display: none; }
.page-content { max-width: 1480px; padding: 34px 44px 48px; margin: 0 auto; }.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 27px; }.page-heading h1 { margin: 0; font: 800 28px/1.15 "Manrope", sans-serif; letter-spacing: -.9px; }.page-heading p { color: var(--muted); font-size: 14px; margin: 7px 0 0; }.primary-button { border: 1px solid #225ad7; background: var(--blue); color: #fff; min-height: 42px; border-radius: 8px; padding: 0 16px; font-weight: 600; font-size: 13px; box-shadow: 0 5px 12px rgba(37,99,235,.18); }.primary-button:hover { background: #1e56d0; }.secondary-button { border: 1px solid #d8e0e8; background: #fff; color: #3d4f60; min-height: 40px; border-radius: 8px; padding: 0 14px; font-weight: 600; font-size: 13px; }.secondary-button:hover { background: #f8fafc; }.button-icon { font-size: 18px; vertical-align: -1px; margin-right: 5px; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }.metric-card { min-height: 126px; background: #fff; border: 1px solid var(--line); border-radius: 11px; padding: 17px 18px; box-shadow: 0 4px 12px rgba(20,45,70,.025); }.metric-top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12px; }.metric-icon { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; }.metric-icon.blue { color: #225fd4; background: var(--blue-soft); }.metric-icon.green { color: var(--green); background: var(--green-soft); }.metric-icon.amber { color: var(--amber); background: var(--amber-soft); }.metric-icon.red { color: var(--red); background: var(--red-soft); }.metric-number { display: block; font: 800 28px "Manrope", sans-serif; margin: 12px 0 5px; letter-spacing: -.8px; }.metric-delta { color: var(--green); font-size: 11px; }.metric-delta.warning { color: var(--amber); }.metric-delta span { color: #82909e; margin-left: 3px; }
.dashboard-sync-status { display: flex; justify-content: space-between; gap: 12px; margin: -13px 2px 23px; color: #7b8997; font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.85fr); gap: 22px; }.card { background: var(--white); border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 4px 12px rgba(20,45,70,.025); }.card-header { display: flex; justify-content: space-between; align-items: center; padding: 19px 21px; border-bottom: 1px solid var(--line); }.card-title { margin: 0; font: 700 15px "Manrope", sans-serif; letter-spacing: -.25px; }.card-subtitle { font-size: 11px; color: #8694a2; margin: 3px 0 0; }.text-button { appearance: none; border: 0; background: transparent; color: #2462dc; font-size: 12px; font-weight: 600; padding: 4px; }.text-button:hover { color: #174aa7; }.activity-list { padding: 6px 21px 12px; }.activity { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid #eef1f4; }.activity:last-child { border-bottom: 0; }.activity-copy strong { display: block; font-size: 13px; font-weight: 600; }.activity-copy span { color: var(--muted); font-size: 11px; display: block; margin-top: 3px; }.activity time { color: #8b98a5; font-size: 10px; align-self: start; margin-top: 3px; }.status-pill { display: inline-flex; align-items: center; gap: 5px; width: max-content; border-radius: 20px; padding: 5px 9px; font-size: 10px; font-weight: 600; }.status-pill::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.status-pill.ok { background: var(--green-soft); color: var(--green); }.status-pill.pending { background: var(--amber-soft); color: var(--amber); }.status-pill.alert { background: var(--red-soft); color: var(--red); }.status-pill.info { background: var(--blue-soft); color: #2762c9; }
.process-card { padding-bottom: 10px; }.process-list { padding: 4px 19px; }.process-item { appearance: none; width: 100%; display: flex; gap: 12px; align-items: center; padding: 15px 0; border: 0; border-bottom: 1px solid #eef1f4; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }.process-item:last-child { border-bottom: 0; }.process-number { width: 25px; height: 25px; display: grid; place-items: center; background: var(--blue-soft); color: #2b61c4; border-radius: 50%; font-size: 11px; font-weight: 700; }.process-copy { flex: 1; min-width: 0; }.process-copy strong { display: block; font-size: 12px; }.process-copy span { font-size: 10px; color: var(--muted); display: block; margin-top: 3px; }.process-arrow { color: #9aa6b3; font-size: 17px; }.tip-card { margin-top: 19px; padding: 17px; border-radius: 11px; background: #eaf2ff; border: 1px solid #dce9ff; }.tip-card > span { color: #2864ca; font-size: 20px; }.tip-card h3 { margin: 8px 0 4px; font: 700 13px "Manrope", sans-serif; }.tip-card p { color: #506f9c; font-size: 11px; line-height: 1.55; margin: 0; }
.inventory-alert-item { gap: 11px; margin: 4px 0; padding: 12px; border: 1px solid transparent; border-radius: 10px; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.inventory-alert-item:hover { border-color: #dce5ef; background: #f8fafc; transform: translateY(-1px); }
.inventory-alert-item:focus-visible { outline: 3px solid #dbeafe; outline-offset: 1px; }
.inventory-alert-item + .inventory-alert-item { border-top-color: transparent; }
.inventory-alert-icon, .inventory-alert-count { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 10px; font-size: 17px; }
.inventory-alert-item.is-empty .inventory-alert-icon { background: #fff0ee; }
.inventory-alert-item.is-low .inventory-alert-icon { background: #fff7e6; }
.inventory-alert-count { color: #245dcc; background: #eaf2ff; font-size: 11px; font-weight: 800; }
.inventory-alert-copy { display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; }
.inventory-alert-copy .inventory-alert-status { width: max-content; margin: 0 0 4px; border-radius: 999px; padding: 3px 7px; font-size: 9px; font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: .035em; }
.inventory-alert-item.is-empty .inventory-alert-status { color: #b42318; background: #feeceb; }
.inventory-alert-item.is-low .inventory-alert-status { color: #9a5b00; background: #fff1cc; }
.inventory-alert-copy .inventory-alert-name { display: -webkit-box; overflow: hidden; color: var(--ink); font: 700 11px/1.35 "Manrope", sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.inventory-alert-copy .inventory-alert-detail { display: flex; flex-wrap: wrap; gap: 3px 7px; align-items: center; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.inventory-alert-detail b { color: #6b7b8c; font-weight: 700; }
.inventory-alert-action { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #51708f; background: #f1f5f9; font-size: 14px; transition: color .18s ease, background .18s ease, transform .18s ease; }
.inventory-alert-item:hover .inventory-alert-action { color: #fff; background: var(--blue); transform: translateX(2px); }
.inventory-alert-summary { margin-top: 7px; border-color: #dce8fb; background: #f6f9ff; }
.inventory-alert-summary:hover { border-color: #bfd4f5; background: #eef5ff; }
[data-theme="dark"] .inventory-alert-item:hover { border-color: #34465d; background: #1a2a3f; }
[data-theme="dark"] .inventory-alert-action { color: #b7c9db; background: #283950; }
[data-theme="dark"] .inventory-alert-summary { border-color: #324a68; background: #17283f; }
[data-theme="dark"] .inventory-alert-detail b { color: #adbed0; }
.content-card { background: #fff; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }.toolbar { padding: 16px 20px; display: flex; gap: 10px; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }.search-box { position: relative; width: 100%; max-width: 450px; flex: 1; }.search-box span { color: #94a0ac; position: absolute; top: 9px; left: 11px; font-size: 16px; }.search-box input { width: 100%; min-width: 0; height: 36px; border: 1px solid #dfe5eb; border-radius: 7px; padding: 0 12px 0 33px; color: var(--ink); outline: none; font-size: 12px; box-sizing: border-box; }.search-box input:focus { border-color: #85abef; box-shadow: 0 0 0 3px #edf4ff; }.filter-select { height: 36px; border: 1px solid #dfe5eb; color: #566574; background: #fff; border-radius: 7px; padding: 0 28px 0 10px; font-size: 12px; }.data-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.data-table th { color: #8a96a3; background: #fbfcfd; height: 40px; text-transform: uppercase; font-size: 10px; letter-spacing: .55px; font-weight: 700; text-align: left; padding: 0 20px; }.data-table td { padding: 13px 20px; border-top: 1px solid #edf0f3; font-size: 12px; color: #526171; word-wrap: break-word; overflow-wrap: break-word; }.data-table tr:hover td { background: #fafcff; }.person-cell { display: flex; gap: 10px; align-items: center; }.person-cell strong { display: block; color: #263545; font-size: 12px; }.person-cell span { display: block; color: #8794a0; font-size: 10px; margin-top: 3px; }.row-action { border: 0; background: transparent; color: #2863d6; padding: 5px 0; font-weight: 600; font-size: 11px; }.table-footer { border-top: 1px solid var(--line); padding: 13px 20px; color: #8793a0; font-size: 11px; display: flex; justify-content: space-between; }.pagination { color: #536273; display: flex; gap: 7px; align-items: center; }.page-number { width: 25px; height: 25px; border: 1px solid #e0e6eb; border-radius: 5px; display: grid; place-items: center; }.page-number.active { border-color: #2864d9; background: #2864d9; color: #fff; }

.favorite-page-button { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--white); font-size: 12px; font-weight: 700; cursor: pointer; }.favorite-page-button > span:first-child { color: #f59e0b; font-size: 19px; line-height: 1; }.favorite-page-button.active { color: #92400e; border-color: #fcd34d; background: #fffbeb; }
.shortcuts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }.shortcut-section { min-width: 0; }.shortcut-section-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 22px; border-bottom: 1px solid var(--line); }.shortcut-section-header h2 { margin: 0; color: var(--ink); font-size: 17px; }.shortcut-section-header p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }.shortcut-list { padding: 8px 0; }.shortcut-card { display: flex; align-items: stretch; min-width: 0; border-bottom: 1px solid var(--line); }.shortcut-card:last-child { border-bottom: 0; }.shortcut-open { display: flex; align-items: center; gap: 13px; min-width: 0; flex: 1; padding: 14px 10px 14px 20px; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }.shortcut-open:hover { background: var(--canvas); }.shortcut-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 9px; color: var(--blue); background: #eff6ff; font-size: 20px; }.shortcut-copy { min-width: 0; }.shortcut-copy strong, .shortcut-copy small, .shortcut-copy > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.shortcut-copy strong { color: var(--ink); font-size: 13px; }.shortcut-copy small { margin-top: 4px; color: var(--muted); font-size: 11px; }.shortcut-copy > span { margin-top: 5px; color: #94a3b8; font-size: 10px; }.shortcut-remove { width: 48px; border: 0; color: #f59e0b; background: transparent; font-size: 20px; cursor: pointer; }.shortcut-remove:hover { color: #b45309; background: #fffbeb; }.shortcut-empty, .shortcut-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 190px; padding: 28px; color: var(--muted); text-align: center; }.shortcut-empty strong, .shortcut-loading strong { color: var(--ink); }
.documents-layout { display: grid; grid-template-columns: 1fr; gap: 20px; }.documents-layout.has-sidebar { grid-template-columns: 285px 1fr; }.document-filter { padding: 13px; height: max-content; }.document-filter h3 { font: 700 13px "Manrope", sans-serif; margin: 4px 8px 13px; }.filter-link { width: 100%; display: flex; justify-content: space-between; background: none; border: 0; padding: 10px 9px; border-radius: 7px; color: #566574; text-align: left; font-size: 12px; }.filter-link:hover, .filter-link.active { color: #225ed2; background: #edf4ff; font-weight: 600; }.filter-link span { color: #8b98a4; font-size: 10px; }.storage-box { border-top: 1px solid var(--line); margin-top: 13px; padding: 18px 9px 5px; }.storage-box strong { font-size: 12px; }.storage-box p { margin: 5px 0 9px; font-size: 10px; color: var(--muted); }.storage-bar { background: #e8edf2; height: 6px; border-radius: 6px; overflow: hidden; }.storage-bar span { display: block; width: 35%; background: #3974e3; height: 100%; border-radius: 6px; }.file-list { padding: 4px 20px 12px; }.file-row { display: grid; grid-template-columns: 38px 1fr auto auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #edf0f3; }.file-row:last-child { border-bottom: 0; }.file-icon { width: 35px; height: 39px; display: grid; place-items: center; border-radius: 7px; color: #c54b3e; background: #fff0ee; font-size: 10px; font-weight: 700; }.file-icon.doc { color: #2b67c9; background: #eaf2ff; }.file-info strong { display: block; font-size: 12px; }.file-info span { color: #8995a1; font-size: 10px; display: block; margin-top: 4px; }.file-size { color: #8995a1; font-size: 10px; }.file-menu { border: 0; background: transparent; color: #718090; font-size: 16px; }
.admission-layout { display: grid; grid-template-columns: minmax(0,1fr) 305px; gap: 20px; }.admission-list { padding: 4px 20px 15px; }.admission-row { display: grid; grid-template-columns: 38px minmax(150px, 1fr) 170px 120px auto auto; align-items: center; gap: 13px; padding: 15px 0; border-bottom: 1px solid #edf0f3; }.admission-row:last-child { border-bottom: 0; }.admission-name strong { display: block; font-size: 12px; }.admission-name span, .admission-date { color: #84919f; font-size: 10px; display: block; margin-top: 3px; }.progress-copy { font-size: 11px; color: #536273; }.progress-bar { height: 5px; margin-top: 6px; border-radius: 5px; background: #e8edf2; overflow: hidden; }.progress-bar span { height: 100%; display: block; border-radius: 5px; background: #3473e1; }.progress-bar.warning span { background: #e5a637; }.deadline-card { padding: 19px; }.deadline-card h3 { font: 700 14px "Manrope", sans-serif; margin: 0 0 5px; }.deadline-card > p { color: var(--muted); font-size: 11px; line-height: 1.45; margin: 0 0 15px; }.deadline-item { border-left: 2px solid #d6e4ff; padding: 0 0 14px 12px; margin-left: 5px; position: relative; }.deadline-item::before { content: ""; position: absolute; left: -6px; top: 0; width: 8px; height: 8px; background: #4d83e4; border-radius: 50%; }.deadline-item.warning { border-color: #f8dfab; }.deadline-item.warning::before { background: #e3a12d; }.deadline-item strong { display: block; font-size: 11px; }.deadline-item span { display: block; font-size: 10px; color: #84919e; margin-top: 3px; }
.admission-hero { display: grid; grid-template-columns: 1fr minmax(230px, .8fr) auto; gap: 24px; align-items: center; background: linear-gradient(115deg, #eef5ff, #f9fbff); border: 1px solid #dce9fa; border-radius: 11px; padding: 19px 21px; margin-bottom: 20px; }.admission-hero .person-cell strong { font-size: 14px; }.hero-progress strong { color: #275bbf; font: 800 16px "Manrope", sans-serif; }.hero-progress .progress-bar { margin: 7px 0 5px; }.hero-progress > span { color: #61738a; font-size: 10px; }.admission-process-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; }.admission-steps { background: #fff; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 14px 16px; margin-bottom: 17px; }.admission-step { display: flex; gap: 9px; align-items: center; color: #8794a0; font-size: 11px; }.admission-step + .admission-step { border-left: 1px solid #e9eef3; padding-left: 15px; }.admission-step > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: #edf1f5; color: #8794a0; font-size: 11px; font-weight: 700; }.admission-step strong, .admission-step small { display: block; }.admission-step small { font-size: 9px; margin-top: 3px; }.admission-step.done { color: #2c8556; }.admission-step.done > span { background: #e1f4e8; color: #248149; }.admission-step.current { color: #2862cb; }.admission-step.current > span { background: #2f6edf; color: #fff; }.admission-checklist-group { border: 1px solid var(--line); background: #fff; border-radius: 11px; overflow: hidden; margin-bottom: 16px; }.checklist-group-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 17px 19px; border-bottom: 1px solid #edf1f4; }.checklist-group-header > div:first-child { display: flex; align-items: center; gap: 10px; }.group-step { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: var(--blue-soft); color: #2a63ca; font-size: 12px; font-weight: 700; }.checklist-group-header h2 { margin: 0; font: 700 13px "Manrope", sans-serif; }.checklist-group-header p { margin: 3px 0 0; color: #7c8997; font-size: 10px; }.group-summary { color: #3b6fc9; background: #eff5ff; border-radius: 20px; padding: 5px 8px; white-space: nowrap; font-size: 10px; font-weight: 600; }.conditional-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #7a8795; background: #fbfcfd; border-bottom: 1px solid #edf1f4; padding: 10px 18px; font-size: 10px; }.compact-button { min-height: 31px; padding: 0 9px; font-size: 10px; white-space: nowrap; }.checklist-documents { padding: 0 19px; }.checklist-document { display: grid; grid-template-columns: 25px minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid #eef1f4; }.checklist-document:last-child { border-bottom: 0; }.document-check { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid #cad5df; border-radius: 5px; color: #fff; font-size: 12px; }.document-check.done { background: #2f9b62; border-color: #2f9b62; }.checklist-copy strong { display: block; color: #344556; font-size: 11px; }.checklist-copy span { display: block; margin-top: 3px; color: #84919e; font-size: 10px; }.document-toggle { appearance: none; border: 1px solid #d8e2ee; border-radius: 6px; background: #fff; color: #2a65cc; padding: 6px 8px; white-space: nowrap; font-size: 10px; font-weight: 600; }.document-toggle:hover { background: #edf4ff; }.not-applicable { opacity: .62; }.admission-summary { display: grid; align-content: start; gap: 14px; }.admission-summary .card { padding: 18px; }.summary-heading { display: flex; gap: 8px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line); }.summary-heading > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #2362cf; background: var(--blue-soft); font-weight: 700; }.summary-heading h2 { margin: 0; font: 700 13px "Manrope", sans-serif; }.summary-stat { display: flex; justify-content: space-between; align-items: baseline; padding: 13px 0; border-bottom: 1px solid #edf1f4; }.summary-stat strong { font: 800 22px "Manrope", sans-serif; color: #263b51; }.summary-stat span { color: #768595; font-size: 10px; }.summary-warning { background: #fff7e8; border-radius: 8px; padding: 10px; margin: 15px 0; }.summary-warning strong { color: #a56612; font-size: 10px; }.summary-warning p { margin: 4px 0 0; color: #92723e; font-size: 10px; line-height: 1.42; }.support-card { border: 1px solid #dbe9ff; background: #edf5ff; padding: 13px; display: flex; gap: 8px; border-radius: 10px; }.support-card > span { width: 20px; height: 20px; border: 1px solid #79a7ed; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; color: #2c68d0; font-weight: 700; font-size: 11px; }.support-card strong { font-size: 11px; }.support-card p { color: #577496; font-size: 10px; line-height: 1.4; margin: 3px 0 0; }
.dismissal-card { padding: 20px; }.dismissal-card h3 { margin: 0; font: 700 14px "Manrope", sans-serif; }.dismissal-card > p { font-size: 11px; color: var(--muted); margin: 5px 0 17px; }.dismissal-flow { display: grid; grid-template-columns: repeat(3, 1fr); margin: 8px 0 22px; }.flow-step { text-align: center; color: #85919c; font-size: 10px; position: relative; }.flow-step:not(:last-child)::after { content: ""; height: 2px; background: #d9e2ec; position: absolute; top: 13px; left: 63%; width: 74%; }.flow-dot { width: 27px; height: 27px; margin: 0 auto 7px; border-radius: 50%; display: grid; place-items: center; background: #e7ecf2; color: #81909e; position: relative; z-index: 1; }.flow-step.done { color: var(--green); }.flow-step.done .flow-dot { color: #fff; background: #2f9b62; }.flow-step.current { color: #2563cf; font-weight: 600; }.flow-step.current .flow-dot { color: #fff; background: #3474e3; }.offboarding-list { border-top: 1px solid var(--line); }.offboarding-row { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf0f3; }.offboarding-row:last-child { border-bottom: 0; }.offboarding-row > div:nth-child(2) { flex: 1; }.offboarding-row strong { display: block; font-size: 12px; }.offboarding-row span { display: block; color: #85919d; font-size: 10px; margin-top: 3px; }
.report-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }.chart-card { padding: 20px; }.chart-card h3 { margin: 0; font: 700 14px "Manrope", sans-serif; }.chart-card p { margin: 5px 0 20px; color: var(--muted); font-size: 11px; }.bar-chart { height: 195px; display: flex; gap: 17px; align-items: flex-end; padding: 0 10px; border-bottom: 1px solid #dce4ec; }.bar-wrap { flex: 1; text-align: center; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 7px; color: #84919e; font-size: 10px; }.bar { width: 100%; max-width: 46px; margin: 0 auto; background: #8db4f5; border-radius: 5px 5px 0 0; }.bar.current { background: #2865d5; }.report-list { padding: 5px 20px 10px; }.report-row { display: flex; align-items: center; gap: 11px; padding: 13px 0; border-bottom: 1px solid #edf0f3; }.report-row:last-child { border-bottom: 0; }.report-row > div { flex: 1; }.report-row strong { display: block; font-size: 12px; }.report-row span { display: block; margin-top: 3px; color: #85919d; font-size: 10px; }.report-row button { border: 1px solid #dfe6ed; background: #fff; border-radius: 6px; color: #356bd1; height: 30px; padding: 0 10px; font-size: 11px; font-weight: 600; }
.empty-search { text-align: center; color: var(--muted); padding: 45px 20px; font-size: 13px; }.empty-search span { font-size: 24px; display: block; margin-bottom: 6px; }
.modal-backdrop { display: none; position: fixed; inset: 0; z-index: 50; align-items: center; justify-content: center; background: rgba(10, 29, 47, .55); padding: 20px; }.modal-backdrop.visible { display: flex; }.modal { position: relative; width: min(460px, 100%); background: #fff; border-radius: 13px; box-shadow: 0 20px 65px rgba(3,18,32,.32); padding: 28px; }.modal-close { position: absolute; right: 15px; top: 12px; border: 0; background: transparent; color: #718090; font-size: 13px; font-weight: 600; padding: 4px 8px; border-radius: 4px; transition: background 0.2s; cursor: pointer; } .modal-close:hover { background: var(--line); color: var(--ink); } .modal-icon { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: #eaf2ff; color: #2463db; font-size: 25px; }.modal h2 { margin: 13px 0 5px; font: 800 21px "Manrope", sans-serif; }.modal > p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 0 0 19px; }.modal form { display: grid; gap: 13px; }.modal label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; color: #3c4c5d; }.modal input, .modal select { width: 100%; height: 39px; border: 1px solid #dce3ea; border-radius: 7px; padding: 0 10px; outline: none; color: var(--ink); font-size: 12px; }.modal input:focus, .modal select:focus { border-color: #85abef; box-shadow: 0 0 0 3px #edf4ff; }.modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 7px; }.toast { position: fixed; top: 18px; left: 50%; z-index: 10050; width: max-content; max-width: min(560px, calc(100vw - 32px)); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -14px); background: #15334e; color: #fff; box-shadow: 0 14px 35px rgba(15, 23, 42, .25); border-radius: 9px; font-size: 12px; font-weight: 700; line-height: 1.4; padding: 12px 16px; text-align: center; transition: .25s ease; }.toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.simple-form { display: grid; gap: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; text-align: left; }
.form-grid .full-width { grid-column: 1 / -1; }
.admission-request-modal { width: min(720px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; }
.admission-request-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; text-align: left; }
.admission-request-form-grid .full-width { grid-column: 1 / -1; }
.admission-request-form-grid [hidden] { display: none !important; }
.admission-request-form-grid textarea { width: 100%; min-height: 88px; resize: vertical; border: 1px solid #dce3ea; border-radius: 7px; padding: 10px; outline: none; color: var(--ink); font: inherit; }
.admission-request-form-grid textarea:focus { border-color: #85abef; box-shadow: 0 0 0 3px #edf4ff; }
.admission-request-form-grid select:disabled { color: #52657a; background: #f4f7fa; cursor: not-allowed; opacity: 1; }
.admission-distribution-roles { border: 1px solid #dbe7f8; border-radius: 9px; background: #f7faff; padding: 11px 12px; }
.admission-distribution-roles > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.admission-distribution-roles button { min-height: 34px; border: 1px solid #bfd3f5; border-radius: 8px; background: #fff; color: #2459a8; padding: 7px 12px; font: 700 11px "Manrope", sans-serif; cursor: pointer; }
.admission-distribution-roles button:hover, .admission-distribution-roles button.selected { border-color: #2563eb; background: #eaf2ff; color: #164eb8; }
[data-theme="dark"] .admission-distribution-roles { border-color: var(--line); background: #18263b; }
[data-theme="dark"] .admission-distribution-roles button { border-color: #385170; background: #152238; color: #b9d3ff; }
.field-help { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.4; }
.admission-request-auto-note { display: flex; align-items: center; gap: 10px; border: 1px solid #cfe8d8; border-radius: 9px; background: #f0faf4; color: #216b42; padding: 11px 13px; }
.admission-request-auto-note > span { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #2f9b62; color: #fff; font-weight: 800; }
.admission-request-auto-note strong, .admission-request-auto-note small { display: block; }
.admission-request-auto-note strong { font-size: 11px; }
.admission-request-auto-note small { margin-top: 2px; color: #53836a; font-size: 10px; }
.admission-process-list { padding: 0 20px 14px; }
.admission-process-header, .admission-process-row { display: grid; grid-template-columns: minmax(170px, 1.25fr) minmax(110px, .75fr) 110px minmax(130px, .9fr) minmax(120px, .75fr) minmax(270px, auto); gap: 12px; align-items: center; }
.admission-process-header { padding: 11px 0; border-bottom: 1px solid var(--line); color: #7b8998; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.admission-process-row { position: relative; padding: 16px 0; border-bottom: 1px solid var(--line); }
.admission-process-row:last-child { border-bottom: 0; }
.admission-process-row.critical::before, .admission-process-row.warning::before { content: ""; position: absolute; left: -20px; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; }
.admission-process-row.warning::before { background: #e5a637; }
.admission-process-row.critical::before { background: #e14d4d; }
.admission-process-person { display: flex; align-items: center; gap: 10px; min-width: 0; }
.admission-process-person > div:last-child, .admission-process-role, .admission-process-time, .admission-process-percentage { min-width: 0; }
.admission-process-person strong, .admission-process-role strong, .admission-process-time strong { display: block; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.admission-process-person small, .admission-process-role small, .admission-process-time small, .admission-process-percentage span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.admission-process-time.warning strong { color: #a56612; }
.admission-process-time.critical strong { color: #c73838; }
.admission-process-percentage > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.admission-process-percentage strong { color: var(--ink); font-size: 12px; }
.admission-process-percentage .progress-bar.critical span { background: repeating-linear-gradient(135deg, #dc3f3f 0 7px, #f06a6a 7px 14px); }
.admission-process-status .status-pill { white-space: normal; text-align: center; }
.admission-process-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; min-width: 0; }
.admission-process-actions > button { min-height: 34px; }
.admission-process-open { flex: 1 1 105px; min-width: 0; padding-inline: 10px; font-size: 11px; white-space: nowrap; }
.admission-process-actions .compact-button, .admission-process-actions .danger-button { flex: 0 0 auto; }
.admission-request-summary { margin-bottom: 18px; overflow: hidden; border: 1px solid #d8e6fb; border-radius: 11px; background: #fff; }
.admission-request-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 18px; border-bottom: 1px solid #e6edf6; background: #f6f9fe; }
.admission-request-summary > header > div { display: flex; align-items: center; gap: 10px; }
.admission-request-summary h2 { margin: 0; font: 700 13px "Manrope", sans-serif; }
.admission-request-stage { display: inline-flex; align-items: center; min-height: 24px; border-radius: 999px; background: #dfeaff; color: #225dc4; padding: 3px 8px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.admission-request-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 5px 18px; }
.admission-request-details > div { min-width: 0; padding: 12px 14px 12px 0; }
.admission-request-details span, .admission-request-notes > span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.admission-request-details strong { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--ink); font-size: 11px; line-height: 1.4; }
.admission-request-notes { margin: 0 18px 16px; border-radius: 8px; background: #f7f9fc; padding: 11px 13px; }
.admission-request-notes p { margin: 5px 0 0; color: #536273; font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
[data-theme="dark"] .admission-request-modal, [data-theme="dark"] .admission-request-summary { background: var(--white); }
[data-theme="dark"] .admission-request-form-grid textarea { border-color: var(--line); background: #152238; color: var(--ink); }
[data-theme="dark"] .admission-request-form-grid select:disabled, [data-theme="dark"] .admission-request-summary > header, [data-theme="dark"] .admission-request-notes { background: #18263b; }
[data-theme="dark"] .admission-request-auto-note { border-color: rgba(74, 222, 128, .28); background: rgba(34, 197, 94, .1); }
@media (max-width: 1180px) {
  .admission-process-header { display: none; }
  .admission-process-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; }
  .admission-process-row { grid-template-columns: 1fr auto; gap: 13px 16px; align-items: start; border: 1px solid var(--line); border-radius: 10px; padding: 15px; }
  .admission-process-row.critical::before, .admission-process-row.warning::before { left: -1px; top: 12px; bottom: 12px; border-radius: 0 3px 3px 0; }
  .admission-process-person { grid-column: 1 / -1; }
  .admission-process-role, .admission-process-time, .admission-process-percentage, .admission-process-status { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; align-items: center; grid-column: 1 / -1; }
  .admission-process-role::before, .admission-process-time::before, .admission-process-percentage::before, .admission-process-status::before { content: attr(data-label); color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
  .admission-process-percentage .progress-bar { grid-column: 2; }
  .admission-process-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
  .admission-process-row.is-completed .admission-process-actions { grid-template-columns: minmax(0, 1fr) auto; }
  .admission-process-open { width: 100%; }
}
@media (max-width: 760px) {
  .admission-request-form-grid, .admission-request-details, .admission-process-list { grid-template-columns: 1fr; }
  .admission-process-actions, .admission-process-row.is-completed .admission-process-actions { grid-template-columns: 1fr; }
  .admission-process-actions .compact-button, .admission-process-actions .danger-button { width: 100%; }
  .admission-request-form-grid .full-width { grid-column: auto; }
  .admission-request-summary > header { align-items: flex-start; flex-direction: column; }
  .admission-request-details { padding: 5px 15px; }
  .admission-request-details > div { padding-right: 0; }
}
.field-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.field-heading em { border-radius: 999px; padding: 3px 7px; color: #2762c9; background: #eaf2ff; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .2px; text-transform: uppercase; }
.field-help { display: block; margin-top: -2px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.form-intro-note { margin: 0; padding: 11px 13px; border: 1px solid #bfdbfe; border-radius: 9px; color: #1e4f9b; background: #eff6ff; font-size: 11px; line-height: 1.5; }
.form-submit-help { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.form-more-options { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.form-more-options summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; color: var(--ink); background: #f8fafc; font-size: 12px; font-weight: 750; cursor: pointer; list-style: none; }
.form-more-options summary::-webkit-details-marker { display: none; }
.form-more-options summary::after { content: "＋"; color: #4772bd; font-size: 16px; line-height: 1; }
.form-more-options[open] summary::after { content: "−"; }
.form-more-options[open] summary { border-bottom: 1px solid var(--line); }
.form-more-content { display: grid; gap: 13px; padding: 14px; }
.form-more-content > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.form-loading-message { margin-top: 8px; color: var(--muted); font-size: 11px; text-align: center; }
.ocr-box .secondary-button { width: 100%; border-style: dashed; }
.bulk-email-simple-form { gap: 16px; padding: 20px; }
.form-review-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.form-review-card > div { min-width: 0; }
.form-review-card small, .form-review-card strong, .form-review-card span { display: block; }
.form-review-card small { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .35px; }
.form-review-card strong { overflow: hidden; margin-top: 4px; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.form-review-card span { margin-top: 4px; color: var(--muted); font-size: 10px; }
.form-primary-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }

@media (max-width: 1120px) { .metrics { grid-template-columns: repeat(2, 1fr); }.documents-layout, .admission-layout, .report-grid, .admission-process-layout { grid-template-columns: 1fr; }.document-filter { display: none; }.admission-summary { grid-template-columns: 1fr 1fr; }.admission-summary .card { grid-row: span 1; } }
@media (max-width: 980px) { #benefits-email-draft-form { grid-template-columns: 1fr !important; } }
@media (max-width: 800px) { .sidebar { transform: translateX(-100%); box-shadow: 8px 0 25px rgba(7,24,40,.25); }.sidebar.open { transform: translateX(0); }.main-content { margin-left: 0; width: 100%; }.topbar { height: 65px; padding: 0 20px; }.mobile-menu { display: block; border: 0; background: transparent; color: var(--navy); font-size: 22px; padding: 2px; }.breadcrumb { margin-left: 12px; margin-right: auto; }.topbar-actions { gap: 7px; }.date-chip { display: none; }.page-content { padding: 25px 20px 40px; }.page-heading { flex-direction: column; margin-bottom: 20px; }.dashboard-grid { grid-template-columns: 1fr; }.admission-row { grid-template-columns: 35px 1fr auto auto; }.admission-row > :nth-child(3), .admission-row > :nth-child(4) { display: none; }.data-table th:nth-child(3), .data-table td:nth-child(3), .data-table th:nth-child(4), .data-table td:nth-child(4) { display: none; }.admission-hero { grid-template-columns: 1fr; gap: 13px; }.admission-steps { grid-template-columns: 1fr; gap: 12px; }.admission-step + .admission-step { border-left: 0; border-top: 1px solid #e9eef3; padding: 12px 0 0; }.admission-summary { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .shortcuts-grid { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .favorite-page-button { width: 38px; padding: 0; justify-content: center; }.favorite-page-button > span:last-child { display: none; } }
@media (max-width: 480px) { .metrics { grid-template-columns: 1fr; }.page-heading h1 { font-size: 24px; }.toolbar { align-items: stretch; flex-direction: column; }.search-box { width: 100%; }.file-row { grid-template-columns: auto 35px 1fr auto; }.file-size { display: none; }.card-header { padding: 16px; }.activity-list, .file-list, .admission-list, .checklist-documents { padding-left: 16px; padding-right: 16px; }.table-footer { padding: 12px 15px; }.table-footer > span { display: none; }.checklist-group-header, .conditional-note { align-items: flex-start; flex-direction: column; }.checklist-document { grid-template-columns: 22px 1fr auto; }.checklist-document .status-pill { display: none; }.document-toggle { grid-column: 2 / -1; justify-self: start; }.admission-hero { padding: 16px; } }

/* Custom Checkbox */
.custom-checkbox { display: inline-flex; align-items: center; cursor: pointer; position: relative; width: 18px; height: 18px; margin-right: 12px; }
.custom-checkbox input { opacity: 0; position: absolute; }
.checkmark { position: absolute; inset: 0; border: 1px solid #cdd6e0; border-radius: 4px; background: #fff; transition: .2s; }
.custom-checkbox:hover .checkmark { border-color: #a0b2c6; }
.custom-checkbox input:checked ~ .checkmark { background: #2563eb; border-color: #2563eb; }
.custom-checkbox input:checked ~ .checkmark::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.file-row.selected { background: #f5f9ff; border-color: #cbe0ff; border-radius: 8px; }
.file-row.selected:hover td, .file-row.selected:hover { background: #eef5ff; }

/* List Header */
.list-header { display: flex; align-items: center; padding: 12px 0 12px 14px; border-bottom: 1px solid #edf0f3; font-size: 12px; font-weight: 600; color: #5c6c7d; }

/* Expire Tag */
.expire-tag { display: inline-block; background: #fff4e5; color: #b45309; border: 1px solid #fde6c6; padding: 2px 6px; border-radius: 4px; font-size: 9px; margin-left: 8px; vertical-align: middle; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.expire-tag.expired { background: #fdf2f2; color: #c81e1e; border-color: #fbd5d5; }

/* View Toggles */
.view-toggles { display: flex; gap: 4px; margin-left: 10px; background: #f1f4f8; padding: 4px; border-radius: 8px; }
.view-toggle { appearance: none; border: 0; background: transparent; padding: 6px 10px; font-size: 11px; font-weight: 600; color: #6a7989; border-radius: 6px; }
.view-toggle.active { background: #fff; color: #233547; box-shadow: 0 2px 4px rgba(10,25,40,.06); }
.view-toggle:not(.active):hover { color: #3b4d5e; }
.toolbar { justify-content: flex-start; }
.toolbar .search-box { flex: 1; }
.toolbar select { margin-left: auto; }

/* Dropdown */
.dropdown-wrapper { position: relative; }
.dropdown-menu { position: absolute; right: 0; top: 35px; width: 170px; background: #fff; border: 1px solid #e0e6ec; border-radius: 8px; box-shadow: 0 10px 25px rgba(12,30,50,.1); z-index: 50; display: flex; flex-direction: column; padding: 6px; }
.dropdown-menu button { appearance: none; border: 0; background: transparent; text-align: left; padding: 9px 12px; font-size: 11px; font-weight: 600; color: #435465; border-radius: 5px; }
.dropdown-menu button:hover { background: #f3f6f9; color: #1f3041; }
.dropdown-menu button.danger { color: #c81e1e; }
.dropdown-menu button.danger:hover { background: #fdf2f2; }

/* Folder View */
.folder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; padding: 20px; }
.folder-card { appearance: none; border: 1px solid #dce4ed; border-radius: 12px; background: #fff; padding: 18px 12px; text-align: center; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.folder-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(15,35,55,.06); border-color: #b7cde5; }
.folder-icon { font-size: 38px; margin-bottom: 12px; }
.folder-card strong { display: block; font-size: 12px; color: #28394a; font-weight: 700; word-break: break-word; overflow-wrap: anywhere; white-space: normal; margin-bottom: 5px; }
.folder-card span { font-size: 10px; color: #768798; }

/* Bulk Actions */
.document-content-card { position: relative; padding-bottom: 0; }
.bulk-actions-bar { position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%); background: #1c2e40; color: #fff; padding: 10px 14px 10px 20px; border-radius: 12px; display: flex; gap: 20px; align-items: center; box-shadow: 0 12px 30px rgba(10, 25, 40, .25); z-index: 40; animation: slideUp .3s cubic-bezier(.17,.89,.32,1.28); }
.bulk-actions-bar span { font-size: 12px; }
.bulk-buttons { display: flex; gap: 8px; }
.bulk-buttons .secondary-button { background: rgba(255,255,255,.1); border-color: transparent; color: #fff; min-height: 32px; padding: 0 12px; }
.bulk-buttons .secondary-button:hover { background: rgba(255,255,255,.2); }
@keyframes slideUp { from { bottom: -50px; opacity: 0; } to { bottom: 15px; opacity: 1; } }

/* Fixes */
.file-list { padding-top: 0; }
.file-row { padding-left: 14px; grid-template-columns: auto 38px 1fr auto auto auto; }
.doc-actions-top { display: flex; gap: 10px; }

/* Filter Scroll Area */
.filter-scroll-area { max-height: 380px; overflow-y: auto; padding-right: 5px; margin-bottom: 5px; }
.filter-scroll-area::-webkit-scrollbar { width: 4px; }
.filter-scroll-area::-webkit-scrollbar-track { background: transparent; }
.filter-scroll-area::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.filter-scroll-area .filter-link { font-size: 11px; padding: 6px 12px; margin-bottom: 2px; }

.activity-button { width: 100%; border: 0; background: transparent; text-align: left; cursor: pointer; font: inherit; }
.activity-button:hover { background: #f8fafc; }
.activity-button:focus-visible { outline: 2px solid #7aa5ef; outline-offset: 2px; border-radius: 7px; }

.login-screen { position: fixed; inset: 0; background: var(--canvas); display: flex; align-items: center; justify-content: center; z-index: 9999; }
.login-box { background: var(--white); padding: 40px; border-radius: 12px; width: 100%; max-width: 400px; box-shadow: 0 20px 40px rgba(0,0,0,0.4); }
.microsoft-login-button { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.microsoft-login-button:not(:disabled):hover { border-color: #2563eb; box-shadow: 0 8px 18px rgba(37,99,235,.14); transform: translateY(-1px); }
.microsoft-login-button:disabled { cursor: not-allowed; opacity: .62; }
.microsoft-mark { display: grid; grid-template-columns: repeat(2, 9px); grid-template-rows: repeat(2, 9px); gap: 2px; }
.microsoft-mark i:nth-child(1) { background: #f25022; }
.microsoft-mark i:nth-child(2) { background: #7fba00; }
.microsoft-mark i:nth-child(3) { background: #00a4ef; }
.microsoft-mark i:nth-child(4) { background: #ffb900; }
.microsoft-login-help { margin: 9px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.login-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.login-divider::before, .login-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* RBAC: as duas áreas podem ser visualizadas; somente o perfil responsável edita. */
body.role-Financeiro [data-rh-write],
body.role-Financeiro button[data-payroll-action],
body.role-Financeiro button[data-cost-control-action],
body.role-Financeiro button[data-admission-file-upload],
body.role-Financeiro button[data-admission-file-remove],
body.role-Financeiro button[data-admission-document],
body.role-Financeiro button[data-action="new-person"],
body.role-Financeiro button[data-action="edit-person"],
body.role-Financeiro button[data-action="delete-person"],
body.role-Financeiro button[data-action="upload-document"],
body.role-Financeiro button[data-action="import-zip"],
body.role-Financeiro button[data-action="request-doc"],
body.role-Financeiro button[data-action="request-signature"],
body.role-Financeiro button[data-action="rename-document"],
body.role-Financeiro button[data-action="move-document"],
body.role-Financeiro button[data-action="delete-document"],
body.role-Financeiro button[data-action="bulk-approve"],
body.role-Financeiro button[data-action="new-dismissal"],
body.role-Financeiro button[data-action="finish-admission"],
body.role-Financeiro button[data-action="checklist-toggle"],
body.role-Financeiro button[data-action="upload-requirement"],
body.role-Financeiro button[data-action^="add-"][data-action$="-dependent"],
body.role-Financeiro button[data-action^="remove-"][data-action$="-dependent"],
body.role-Financeiro #bulk-email-form,
body.role-RH [data-finance-write],
body.role-administrativo [data-rh-write],
body.role-administrativo [data-finance-write],
body.role-administrativo .primary-button:not([href]),
body.role-administrativo .row-action:not([href]),
body.role-RH [data-page="audit"],
body.role-RH [data-page="settings"],
body.role-Financeiro [data-page="audit"],
body.role-Financeiro [data-page="settings"],
body.role-Operacao [data-rh-write],
body.role-Operacao [data-finance-write],
body.role-Operacao [data-page="audit"],
body.role-Operacao [data-page="settings"] {
  display: none !important;
}

/* User Management UI */
.user-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 25px; }
.user-form-grid > div { display: flex; flex-direction: column; gap: 8px; }
.user-form-grid .full-width { grid-column: span 2; }
.user-form-grid label { font-size: 12px; font-weight: 700; color: #475569; letter-spacing: 0.3px; }
.user-form-grid input, .user-form-grid select { 
  width: 100%; height: 44px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 0 14px; 
  background: #f8fafc; color: #1e293b; font-size: 14px; transition: all 0.2s;
}
.user-form-grid input:focus, .user-form-grid select:focus {
  background: #fff; border-color: #3b82f6; box-shadow: 0 0 0 3px #dbeafe; outline: none;
}
.summary-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--white);
}
.summary-card span, .summary-card strong, .summary-card small { display: block; }
.summary-card span { color: var(--muted); font-size: 11px; }
.summary-card strong { margin-top: 7px; color: var(--ink); font: 800 19px "Manrope", sans-serif; }
.summary-card small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.user-form-actions { display: flex; justify-content: flex-end; padding-top: 15px; border-top: 1px solid #e2e8f0; }
.user-form-actions .primary-button { min-height: 46px; font-size: 14px; padding: 0 24px; }

.user-card {
  display: flex; align-items: center; gap: 16px; padding: 18px 20px; 
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; 
  box-shadow: 0 2px 4px rgba(0,0,0,0.02); transition: all 0.2s; margin-bottom: 12px;
}
.user-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(0,0,0,0.05); transform: translateY(-1px); }
.user-card-avatar {
  width: 48px; height: 48px; border-radius: 50%; background: #f1f5f9; 
  display: grid; place-items: center; color: #64748b; font-size: 18px; font-weight: bold;
}
.user-card-info { flex: 1; }
.user-card-info strong { display: block; font-size: 15px; color: #0f172a; margin-bottom: 4px; }
.user-card-info span { display: inline-block; font-size: 12px; color: #64748b; }
.user-card-role {
  padding: 5px 12px; border-radius: 99px; font-size: 11px; font-weight: 700; background: #e2e8f0; color: #475569; letter-spacing: 0.3px;
}
.role-badge-admin { background: #fef3c7; color: #b45309; }
.role-badge-RH { background: #dbeafe; color: #1d4ed8; }
.role-badge-Financeiro { background: #dcfce3; color: #15803d; }
.role-badge-Operacao { background: #ffedd5; color: #c2410c; }
.role-badge-administrativo { background: #f3e8ff; color: #7e22ce; }

.user-card-actions { display: flex; gap: 8px; margin-left: auto; }
.user-action-btn { background: transparent; border: 1px solid #cbd5e1; color: #475569; padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.user-action-btn:hover { background: #f8fafc; border-color: #94a3b8; color: #1e293b; }
.user-action-btn.delete { color: #dc2626; border-color: #fecaca; }
.user-action-btn.delete:hover { background: #fef2f2; border-color: #f87171; color: #b91c1c; }

.folder-breadcrumb { background: #f0f9ff; border-bottom: 1px solid #bae6fd; color: #0369a1; }
.back-row { background: #f1f5f9; }
.folder-row { background: var(--white); }

/* --- Tema Escuro --- */
[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #0f172a;
  --white: #1e293b;
  --ink: #f8fafc;
  --muted: #94a3b8;
  --line: #334155;
  --shadow: 0 12px 28px rgba(0, 0, 0, 0.6);
  --blue-soft: rgba(37, 99, 235, 0.2);
  --green-soft: rgba(21, 128, 61, 0.2);
  --amber-soft: rgba(180, 83, 9, 0.2);
  --red-soft: rgba(194, 65, 58, 0.2);
}

[data-theme="dark"] .topbar { background: rgba(30, 41, 59, 0.9); }
[data-theme="dark"] .date-chip, 
[data-theme="dark"] .icon-button, 
[data-theme="dark"] .secondary-button,
[data-theme="dark"] .user-card,
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] .document-card,
[data-theme="dark"] .content-card,
[data-theme="dark"] .summary-card,
[data-theme="dark"] .metric-card,
[data-theme="dark"] .card {
  background: var(--white);
  border-color: var(--line);
  color: var(--ink);
}

[data-theme="dark"] select option {
  background: var(--white);
  color: var(--ink);
}

[data-theme="dark"] .user-form-grid label {
  color: #cbd5e1;
}

[data-theme="dark"] .user-form-grid input,
[data-theme="dark"] .user-form-grid select {
  background: #0f172a;
  border-color: #475569;
  color: #f8fafc;
}

[data-theme="dark"] .user-form-grid input::placeholder {
  color: #94a3b8;
  opacity: 1;
}

[data-theme="dark"] .user-form-grid input:focus,
[data-theme="dark"] .user-form-grid select:focus {
  background: #111c2f;
  border-color: #60a5fa;
  color: #f8fafc;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.28);
}

[data-theme="dark"] .user-form-actions {
  border-color: var(--line);
}

[data-theme="dark"] .form-more-options,
[data-theme="dark"] .form-review-card {
  border-color: var(--line);
  background: var(--white);
}

[data-theme="dark"] .form-more-options summary {
  color: var(--ink);
  background: #172033;
}

[data-theme="dark"] .form-intro-note {
  border-color: rgba(96, 165, 250, .35);
  color: #bfdbfe;
  background: rgba(37, 99, 235, .14);
}

[data-theme="dark"] .data-table th { background: #0f172a; color: var(--muted); border-color: var(--line); }
[data-theme="dark"] .data-table td { border-color: var(--line); }
[data-theme="dark"] .folder-card { background: var(--white); border-color: var(--line); }
[data-theme="dark"] .folder-breadcrumb { background: var(--white); border-bottom-color: var(--line); color: var(--ink); }
[data-theme="dark"] .back-row { background: var(--card-bg); }
[data-theme="dark"] .folder-row { background: var(--white); }
[data-theme="dark"] .op-folder { background: var(--white) !important; border-color: var(--line) !important; }
[data-theme="dark"] .op-folder span[style*="font-weight:700"] { color: var(--ink) !important; }
[data-theme="dark"] .tip-card { background: rgba(36, 99, 219, 0.08); border-color: rgba(36, 99, 219, 0.2); }
[data-theme="dark"] .tip-card p { color: var(--muted); }
[data-theme="dark"] .page-heading p { color: var(--muted); }
[data-theme="dark"] .empty-state p { color: var(--muted); }
[data-theme="dark"] .dropdown-menu { background: var(--white); border-color: var(--line); }
[data-theme="dark"] .dropdown-menu button { color: var(--ink); }
[data-theme="dark"] .dropdown-menu button:hover { background: var(--canvas); }
[data-theme="dark"] .dropdown-divider { border-color: var(--line); }

[data-theme="dark"] strong { color: var(--ink) !important; }
[data-theme="dark"] .file-info span,
[data-theme="dark"] .person-cell span,
[data-theme="dark"] .offboarding-row span,
[data-theme="dark"] .admission-name span,
[data-theme="dark"] .checklist-copy span,
[data-theme="dark"] .summary-stat span,
[data-theme="dark"] .report-row span,
[data-theme="dark"] .user-card-info span,
[data-theme="dark"] .file-size,
[data-theme="dark"] .admission-date,
[data-theme="dark"] .brand small,
[data-theme="dark"] .progress-copy { color: var(--muted) !important; }

[data-theme="dark"] .data-table tr:hover td,
[data-theme="dark"] .file-row:hover,
[data-theme="dark"] .activity-button:hover,
[data-theme="dark"] .user-card:hover,
[data-theme="dark"] .folder-card:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* Financeiro */
.finance-loading { min-height: 260px; display: grid; place-items: center; color: var(--muted); font-size: 13px; }
.finance-analysis-loading { display: grid; max-width: 430px; gap: 8px; padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); text-align: center; box-shadow: var(--shadow); }
.finance-analysis-loading strong { color: var(--ink); font-size: 15px; }
.finance-analysis-loading span { line-height: 1.55; }
.finance-header-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.finance-source-warning { margin-bottom: 18px; padding: 12px 15px; border: 1px solid #fed7aa; border-radius: 9px; color: #9a3412; background: #fff7ed; font-size: 12px; }
.finance-source-warning strong, .finance-source-warning span { display: block; }
.finance-source-warning span { margin-top: 4px; line-height: 1.5; }
.finance-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.finance-metric { min-height: 126px; display: flex; align-items: flex-start; gap: 13px; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 5px 18px rgba(15, 35, 55, .04); }
.finance-metric-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; font-size: 12px; font-weight: 800; }
.finance-metric > div { min-width: 0; display: flex; flex-direction: column; }
.finance-metric small { color: var(--muted); font-size: 11px; font-weight: 600; }
.finance-metric strong { overflow: hidden; margin: 7px 0 3px; color: var(--ink); font: 800 22px "Manrope", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.finance-metric > div > span { color: var(--muted); font-size: 10px; }
.finance-metric.danger .finance-metric-icon { color: #c2413a; background: #fff0ee; }
.finance-metric.warning .finance-metric-icon { color: #b56708; background: #fff6df; }
.finance-metric.primary .finance-metric-icon { color: #2563d9; background: #eaf2ff; }
.finance-metric.success .finance-metric-icon { color: #187b4b; background: #e9f8ef; }
.finance-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); gap: 20px; }
.finance-sync-label { color: var(--muted); font-size: 10px; white-space: nowrap; }
.finance-recent-list, .finance-alert-list { padding: 0 20px 8px; }
.finance-recent-row, .finance-alert-row { width: 100%; display: flex; align-items: center; gap: 11px; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.finance-recent-row:last-child, .finance-alert-row:last-child { border-bottom: 0; }
.finance-recent-row:hover, .finance-alert-row:hover { background: rgba(37, 99, 235, .035); }
.finance-recent-row > span:nth-child(2), .finance-alert-row > span:nth-child(2) { min-width: 0; flex: 1; }
.finance-recent-row strong, .finance-alert-row strong { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.finance-recent-row small, .finance-alert-row small { display: block; overflow: hidden; margin-top: 4px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.finance-recent-row time { color: var(--muted); font-size: 9px; white-space: nowrap; }
.finance-alert-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #d97706; box-shadow: 0 0 0 4px #fff5dd; }
.finance-alert-dot.overdue { background: #dc2626; box-shadow: 0 0 0 4px #fee2e2; }
.finance-empty-state { min-height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; color: var(--muted); text-align: center; }
.finance-empty-state strong { margin-bottom: 5px; color: var(--ink); font-size: 12px; }
.finance-empty-state span { max-width: 390px; font-size: 10px; line-height: 1.45; }
.finance-folder-error { min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; padding: 28px; text-align: center; }
.finance-folder-error strong { color: var(--ink); font-size: 14px; }
.finance-folder-error span { max-width: 460px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.finance-folder-error .primary-button { margin-top: 4px; }
.finance-shortcuts-card { margin-top: 20px; }
.finance-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 20px 20px; }
.finance-shortcuts button { min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto; gap: 3px 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); text-align: left; cursor: pointer; transition: border-color .2s, transform .2s, box-shadow .2s; }
.finance-shortcuts button:hover { transform: translateY(-2px); border-color: #9db9e9; box-shadow: 0 8px 18px rgba(15, 35, 55, .06); }
.finance-shortcuts button > span { grid-row: 1 / span 2; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; color: #2563d9; background: #eaf2ff; font-weight: 800; }
.finance-shortcuts strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.finance-shortcuts small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.finance-summary-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.finance-summary-strip.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.finance-summary-strip > div { min-width: 0; padding: 17px 20px; border-right: 1px solid var(--line); }
.finance-summary-strip > div:last-child { border-right: 0; }
.finance-summary-strip small, .finance-summary-strip span { display: block; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.finance-summary-strip strong { display: block; overflow: hidden; margin: 5px 0 2px; color: var(--ink); font: 800 19px "Manrope", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.danger-text { color: #c2413a !important; }
.success-text { color: #187b4b !important; }
.finance-toolbar { display: flex; align-items: center; gap: 10px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.finance-search { min-width: 230px; flex: 1; display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.finance-search > span { color: var(--muted); }
.finance-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.finance-filter { min-height: 40px; padding: 0 34px 0 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); font-size: 11px; outline: 0; }
.finance-search:focus-within, .finance-filter:focus { border-color: #8cb0ef; box-shadow: 0 0 0 3px rgba(37, 99, 219, .08); }
.finance-table-wrap { overflow: auto; }
.finance-table { min-width: 880px; }
.finance-table th { position: sticky; top: 0; z-index: 1; background: var(--white); }
.finance-account-name strong { display: block; max-width: 330px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.finance-account-name span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.finance-money-cell { color: var(--ink); font-weight: 700; white-space: nowrap; }
.finance-status { display: inline-flex; align-items: center; justify-content: center; min-width: 68px; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.finance-status.pending { color: #9a6700; background: #fff5d6; }
.finance-status.overdue { color: #b42318; background: #feeceb; }
.finance-status.scheduled { color: #1d4ed8; background: #eaf2ff; }
.finance-status.paid { color: #18794e; background: #e8f7ee; }
.finance-status.cancelled { color: #64748b; background: #edf1f5; }
.finance-account-status { display: grid; justify-items: start; gap: 6px; min-width: 145px; }
.finance-payment-proof { display: block; max-width: 190px; overflow: hidden; padding: 0; border: 0; color: #18794e; background: transparent; font-size: 9px; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.finance-payment-proof:hover { color: #0f5d3b; text-decoration: underline; }
.finance-reconciliation-status { margin-bottom: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: var(--shadow); }
.finance-reconciliation-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.finance-reconciliation-heading > div { display: grid; gap: 5px; }
.finance-reconciliation-heading strong { color: var(--ink); font: 800 18px "Manrope", sans-serif; }
.finance-reconciliation-heading small { color: var(--muted); font-size: 11px; }
.finance-reconciliation-heading b { color: var(--blue); font: 800 24px "Manrope", sans-serif; }
.finance-job-status { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.finance-job-status i { width: 8px; height: 8px; border-radius: 50%; background: #94a3b8; }
.finance-reconciliation-status.running .finance-job-status i { background: #2563eb; box-shadow: 0 0 0 5px rgba(37, 99, 235, .1); animation: finance-pulse 1.4s infinite; }
.finance-reconciliation-status.complete .finance-job-status i { background: #16a34a; }
.finance-reconciliation-status.error .finance-job-status i { background: #dc2626; }
.finance-progress-track { height: 9px; margin-top: 16px; overflow: hidden; border-radius: 999px; background: #e8eef8; }
.finance-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #60a5fa); transition: width .35s ease; }
.finance-reconciliation-error { margin: 12px 0 0; color: #b91c1c; font-size: 12px; }
.finance-review-section { overflow: hidden; }
.finance-read-only-badge { padding: 6px 10px; border-radius: 999px; color: #18794e; background: #e9f8ef; font-size: 10px; font-weight: 800; }
.finance-review-list { display: grid; gap: 12px; padding: 16px; }
.finance-review-card { display: grid; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.finance-review-proof { display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.finance-review-file-type { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 10px; color: #2563eb; background: #eaf2ff; font-size: 10px; font-weight: 800; }
.finance-review-proof div { min-width: 0; }
.finance-review-proof strong, .finance-review-proof span { display: block; }
.finance-review-proof strong { overflow: hidden; color: var(--ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.finance-review-proof div span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.secondary-button.compact { min-height: 34px; padding: 0 12px; }
.finance-review-reason { margin: 0; padding: 10px 12px; border-radius: 8px; color: #805b16; background: #fff7e5; font-size: 11px; line-height: 1.45; }
.finance-review-select { display: grid; gap: 6px; }
.finance-review-select > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.finance-review-select select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--white); font-size: 12px; }
.finance-review-actions { display: flex; justify-content: flex-end; gap: 9px; }
@keyframes finance-pulse { 50% { opacity: .45; } }
.finance-table-footer { display: flex; justify-content: space-between; gap: 16px; padding: 13px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.finance-pagination { display: flex; align-items: center; justify-content: center; gap: 9px; }
.finance-pagination button { min-height: 28px; padding: 0 9px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: var(--white); font-size: 9px; font-weight: 700; cursor: pointer; }
.finance-pagination button:hover:not(:disabled) { border-color: #8cb0ef; color: #2563d9; }
.finance-pagination button:disabled { opacity: .45; cursor: default; }

[data-theme="dark"] .finance-source-warning { color: #fdba74; background: rgba(154, 52, 18, .18); border-color: rgba(251, 146, 60, .35); }
[data-theme="dark"] .finance-recent-row:hover, [data-theme="dark"] .finance-alert-row:hover { background: rgba(255, 255, 255, .035); }
[data-theme="dark"] .finance-alert-dot { box-shadow: 0 0 0 4px rgba(217, 119, 6, .18); }
[data-theme="dark"] .finance-alert-dot.overdue { box-shadow: 0 0 0 4px rgba(220, 38, 38, .18); }
[data-theme="dark"] .finance-metric.danger .finance-metric-icon { background: rgba(194, 65, 58, .18); }
[data-theme="dark"] .finance-metric.warning .finance-metric-icon { background: rgba(180, 83, 9, .18); }
[data-theme="dark"] .finance-metric.primary .finance-metric-icon, [data-theme="dark"] .finance-shortcuts button > span { background: rgba(37, 99, 219, .18); }
[data-theme="dark"] .finance-metric.success .finance-metric-icon { background: rgba(21, 128, 61, .18); }

@media (max-width: 1180px) {
  .finance-metrics, .finance-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .finance-summary-strip, .finance-summary-strip.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-summary-strip > div:nth-child(2) { border-right: 0; }
  .finance-summary-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .finance-toolbar { align-items: stretch; flex-direction: column; }
  .finance-search, .finance-filter { width: 100%; }
  .finance-header-actions { width: 100%; }
  .finance-header-actions button { flex: 1; }
}
@media (max-width: 520px) {
  .finance-metrics, .finance-shortcuts, .finance-summary-strip, .finance-summary-strip.compact { grid-template-columns: 1fr; }
  .finance-summary-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .finance-summary-strip > div:last-child { border-bottom: 0; }
  .finance-table-footer { align-items: flex-start; flex-direction: column; }
}

/* Experiência móvel do CRM */
.sidebar-backdrop { display: none; position: fixed; inset: 0; z-index: 55; border: 0; background: rgba(7, 24, 40, .58); backdrop-filter: blur(2px); }
.sidebar-backdrop.visible { display: block; }
body.mobile-menu-open { overflow: hidden; }
.table-wrap, .table-responsive, .finance-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.content-card, .card, .page-heading, .toolbar, .dashboard-grid > *, .documents-layout > * { min-width: 0; }

@media (max-width: 800px) {
  .sidebar { width: min(292px, 88vw); padding: 18px 12px 14px; z-index: 60; }
  .brand { padding: 4px 10px 18px; }
  .menu-label { margin-top: 14px; }
  .nav-item { min-height: 48px; font-size: 14px; }
  .sidebar-help { margin-bottom: 12px; }
  .profile { padding-top: 13px; }

  .main-content { width: 100%; margin-left: 0; overflow-x: hidden; }
  .topbar { height: auto; min-height: 112px; display: flex; flex-wrap: wrap; align-content: center; gap: 8px 10px; padding: 10px 14px; }
  .mobile-menu { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--white); font-size: 20px; }
  .breadcrumb { min-width: 0; flex: 1; margin: 0; }
  .breadcrumb span { margin-bottom: 2px; font-size: 9px; }
  .breadcrumb strong { display: block; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
  #global-search-container { order: 4; min-width: 100%; max-width: none !important; margin-left: 0 !important; }
  #global-search-container > div:first-child { min-height: 42px !important; }
  #global-search-input { font-size: 16px !important; }
  #global-search-results { max-height: min(52vh, 420px) !important; }
  .topbar-actions { flex: 0 0 auto; gap: 6px; }
  .topbar-actions > .date-chip, #theme-toggle { display: none !important; }
  #notification-btn { width: 40px; height: 40px; display: grid !important; place-items: center; padding: 0; border-radius: 9px; font-size: 0; }
  #notification-btn::before { content: "●"; color: #4d7bd7; font-size: 15px; }
  #notification-dropdown { position: fixed !important; top: 108px !important; right: 12px !important; left: 12px !important; width: auto !important; max-height: calc(100vh - 125px); margin-top: 0 !important; }
  .notification-list { max-height: calc(100vh - 310px); }
  .notification-center-header { padding: 14px; }
  .notification-center-header .text-button { max-width: 110px; line-height: 1.3; }
  .notification-filters { padding: 8px; }
  .notification-filters button { padding: 0 4px; font-size: 9px; }

  .page-content { width: 100%; padding: 22px 14px 36px; }
  .page-heading { align-items: stretch; flex-direction: column; gap: 15px; margin-bottom: 20px; }
  .page-heading h1 { font-size: 24px; letter-spacing: -.65px; overflow-wrap: anywhere; }
  .page-heading p { margin-top: 6px; font-size: 12px; line-height: 1.5; }
  .page-heading > button, .page-heading > a { width: 100%; }
  .page-heading > div:last-child:not(:first-child) { width: 100%; display: flex; flex-wrap: wrap; gap: 8px !important; }
  .page-heading > div:last-child:not(:first-child) > button,
  .page-heading > div:last-child:not(:first-child) > a { min-width: min(170px, 100%); flex: 1; justify-content: center; }

  .metrics, .finance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .metric-card, .finance-metric { min-height: 116px; padding: 15px; }
  .metric-number { font-size: 24px; }
  .finance-metric strong { font-size: 18px; }
  .dashboard-sync-status { align-items: flex-start; flex-direction: column; margin-top: -8px; }
  .dashboard-grid, .documents-layout, .admission-layout, .report-grid, .admission-process-layout, .finance-dashboard-grid { grid-template-columns: 1fr; gap: 16px; }
  .card-header { align-items: flex-start; flex-wrap: wrap; gap: 9px; padding: 16px; }
  .activity-list, .file-list, .admission-list, .checklist-documents, .finance-recent-list, .finance-alert-list { padding-right: 14px; padding-left: 14px; }
  .activity { grid-template-columns: 35px minmax(0, 1fr) auto; }
  .activity-copy strong, .activity-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .toolbar, .finance-toolbar { align-items: stretch; flex-direction: column; padding: 14px; }
  .toolbar .search-box, .search-box, .finance-search, .filter-select, .finance-filter, .toolbar select { width: 100%; max-width: none; margin-left: 0; }
  .toolbar input, .toolbar select, .finance-toolbar input, .finance-toolbar select, .modal input, .modal select, .modal textarea { font-size: 16px; }
  .view-toggles { width: 100%; justify-content: center; margin-left: 0; }
  .view-toggle { flex: 1; }

  .data-table { min-width: 660px; }
  .data-table th, .data-table td { padding-right: 12px; padding-left: 12px; }
  .table-footer, .finance-table-footer { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px 14px; }
  .finance-pagination { width: 100%; justify-content: space-between; }
  .finance-pagination button { min-height: 36px; }

  .document-filter { display: block; padding: 10px; overflow: hidden; }
  .document-filter h3 { margin-bottom: 9px; }
  .filter-scroll-area { max-height: none; display: flex; gap: 6px; overflow-x: auto; padding: 0 0 6px; }
  .filter-scroll-area .filter-link { width: auto; min-width: max-content; flex: 0 0 auto; padding: 9px 11px; border: 1px solid var(--line); }
  .storage-box { display: none; }
  .folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; }
  .folder-card { min-width: 0; padding: 15px 9px; }
  .folder-card strong { white-space: normal; overflow-wrap: anywhere; }
  .file-row { grid-template-columns: 35px minmax(0, 1fr) auto; gap: 9px; padding: 12px 0; }
  .file-size { display: none; }
  .file-info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .doc-actions-top { width: 100%; flex-wrap: wrap; }
  .doc-actions-top > * { flex: 1; justify-content: center; }

  .admission-hero { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
  .admission-steps { grid-template-columns: 1fr; gap: 11px; }
  .admission-step + .admission-step { padding: 11px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .checklist-group-header { align-items: flex-start; flex-direction: column; padding: 15px; }
  .checklist-group-header > div:last-child { width: 100%; justify-content: space-between; }
  .conditional-note { align-items: flex-start; flex-direction: column; padding: 12px 15px; }
  .checklist-document { grid-template-columns: 22px minmax(0, 1fr) auto; }
  .document-actions { grid-column: 2 / -1; justify-content: flex-start; flex-wrap: wrap; }
  .admission-summary { grid-template-columns: 1fr; }

  .finance-summary-strip, .finance-summary-strip.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 14px 14px; }
  .finance-shortcuts button { padding: 12px; }
  .finance-table { min-width: 820px; }
  .finance-sync-label { white-space: normal; }

  .user-form-grid { grid-template-columns: 1fr; gap: 14px; }
  .user-form-grid .full-width { grid-column: auto; }
  .user-card { align-items: flex-start; flex-wrap: wrap; padding: 15px; }
  .user-card-actions { width: 100%; margin-left: 64px; }
  .user-card-actions button { flex: 1; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full-width { grid-column: auto; }
  .form-review-card { align-items: stretch; flex-direction: column; }
  .form-review-card .secondary-button { width: 100%; }
  .form-primary-actions { align-items: stretch; flex-direction: column-reverse; }
  .form-primary-actions button { width: 100%; min-height: 44px; }

  .modal-backdrop { align-items: flex-end; padding: 10px; }
  .modal { width: 100%; max-height: calc(100vh - 20px); overflow-y: auto; padding: 22px 18px; border-radius: 14px 14px 8px 8px; }
  .modal form > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .modal-actions { align-items: stretch; flex-direction: column-reverse; }
  .modal-actions button { width: 100%; min-height: 44px; }
  .login-screen { padding: 14px; }
  .login-box { max-width: 420px; padding: 28px 20px; }
  .toast { top: 12px; right: auto; bottom: auto; left: 50%; width: calc(100% - 24px); max-width: 520px; transform: translate(-50%, -14px); text-align: center; }
  .toast.show { transform: translate(-50%, 0); }
  .dropdown-menu { max-width: calc(100vw - 28px); }
  .bulk-actions-bar { right: 12px; bottom: 12px; left: 12px; width: auto; transform: none; flex-wrap: wrap; }
  .bulk-buttons { width: 100%; }
  .bulk-buttons button { flex: 1; }

  .file-preview-backdrop { padding: 0; }
  .file-preview-modal { width: 100%; height: 100vh; max-height: none; border-radius: 0; }
  .file-preview-header { align-items: flex-start; padding: 12px; }
  .file-preview-header > div:first-child { min-width: 0; flex: 1; }
  .file-preview-header h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .file-preview-header > div:last-child { justify-content: flex-end; flex-wrap: wrap; gap: 6px !important; }
  #file-preview-back-btn, #file-preview-download-btn { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

.preview-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(16, 42, 67, 0.85);
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.4);
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
  user-select: none;
}
.preview-nav-arrow:hover:not(:disabled) {
  background: #1e40af;
  transform: translateY(-50%) scale(1.1);
  border-color: #ffffff;
}
.preview-nav-arrow.left { left: 24px; }
.preview-nav-arrow.right { right: 24px; }
.preview-nav-arrow:disabled {
  opacity: 0.2;
  cursor: not-allowed;
  transform: translateY(-50%);
}

@media (max-width: 520px) {
  .page-content { padding: 18px 10px 30px; }
  .page-heading h1 { font-size: 22px; }
  .metrics, .finance-metrics, .finance-shortcuts, .finance-summary-strip, .finance-summary-strip.compact { grid-template-columns: 1fr; }
  .metric-card, .finance-metric { min-height: 106px; }
  .finance-summary-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .finance-summary-strip > div:last-child { border-bottom: 0; }
  .folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .folder-icon { font-size: 30px; }
  .activity { grid-template-columns: 35px minmax(0, 1fr); }
  .activity time { display: none; }
  .card-header { padding: 14px; }
  .data-table { min-width: 610px; }
  .finance-table { min-width: 760px; }
  .admission-row { grid-template-columns: 35px minmax(0, 1fr) auto auto; }
  .checklist-document .status-pill { display: none; }
  .document-toggle { grid-column: 2 / -1; justify-self: start; }
  .page-heading > div:last-child:not(:first-child) { flex-direction: column; }
  .page-heading > div:last-child:not(:first-child) > * { width: 100%; }
  .finance-alert-row { align-items: flex-start; }
  .finance-alert-row .finance-status { min-width: 58px; }
  .finance-reconciliation-heading { align-items: flex-start; }
  .finance-reconciliation-heading strong { font-size: 15px; }
  .finance-review-proof { grid-template-columns: 40px minmax(0, 1fr); }
  .finance-review-proof > button { grid-column: 1 / -1; width: 100%; }
  .finance-review-actions { flex-direction: column-reverse; }
  .finance-review-actions button { width: 100%; }
  .user-card-actions { margin-left: 0; }
  .file-preview-header span { display: none; }
  #file-preview-back-btn, #file-preview-download-btn { max-width: 112px; padding: 0 8px !important; }
}
/* Operação da Frota */
.fleet-header-actions,
.fleet-row-actions,
.fleet-modal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.fleet-row-actions {
  flex-wrap: nowrap;
}

.fleet-danger-button {
  border: 0;
  background: transparent;
  color: #dc2626;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 7px;
}

.fleet-maintenance-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 9px;
  white-space: nowrap;
}

.fleet-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 20px;
  background: rgb(15 23 42 / 68%);
}

.fleet-modal-card {
  width: min(680px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  border-radius: 16px;
  background: var(--card, #fff);
  box-shadow: 0 24px 60px rgb(15 23 42 / 28%);
  color: var(--navy-deep);
  padding: 24px;
}

.fleet-history-card {
  width: min(980px, 100%);
}

.fleet-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border, #e2e8f0);
}

.fleet-modal-header h3,
.fleet-history-columns h4 {
  margin: 0;
}

.fleet-modal-header p {
  margin: 5px 0 0;
  color: var(--muted, #64748b);
  font-size: 13px;
}

.fleet-modal-close {
  border: 0;
  background: transparent;
  color: var(--muted, #64748b);
  cursor: pointer;
  font-size: 20px;
}

.fleet-maintenance-form {
  display: grid;
  gap: 15px;
  margin-top: 20px;
}

.fleet-maintenance-form label {
  display: grid;
  gap: 6px;
}

.fleet-maintenance-form label > span {
  color: var(--navy-deep);
  font-size: 12px;
  font-weight: 700;
}

.fleet-maintenance-form input,
.fleet-maintenance-form select,
.fleet-maintenance-form textarea {
  width: 100%;
  border: 1px solid var(--border, #cbd5e1);
  border-radius: 8px;
  background: var(--card, #fff);
  color: var(--navy-deep);
  font: inherit;
  padding: 10px 12px;
}

.fleet-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fleet-form-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fleet-modal-actions {
  justify-content: flex-end;
  margin-top: 8px;
}

.fleet-current-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.fleet-current-status > div {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--page-bg, #f8fafc);
  padding: 12px;
}

.fleet-current-status span,
.fleet-current-status strong {
  display: block;
}

.fleet-current-status span {
  color: var(--muted, #64748b);
  font-size: 11px;
  margin-bottom: 4px;
}

.fleet-history-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}

.fleet-history-columns h4 {
  margin-bottom: 12px;
}

.fleet-history-timeline,
.fleet-history-list {
  display: grid;
  gap: 10px;
}

.fleet-history-event {
  position: relative;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 9px;
  padding-bottom: 12px;
}

.fleet-history-event::before {
  position: absolute;
  top: 12px;
  bottom: -4px;
  left: 5px;
  width: 2px;
  background: var(--border, #e2e8f0);
  content: "";
}

.fleet-history-event:last-child::before {
  display: none;
}

.fleet-history-dot {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  margin-top: 3px;
  border: 3px solid #bfdbfe;
  border-radius: 50%;
  background: #2563eb;
}

.fleet-history-event strong,
.fleet-history-event p,
.fleet-history-event small {
  display: block;
  margin: 0;
}

.fleet-history-event p,
.fleet-history-event small,
.fleet-history-summary-row small,
.fleet-empty-message {
  color: var(--muted, #64748b);
  font-size: 12px;
}

.fleet-history-event p {
  margin: 3px 0;
}

.fleet-history-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 9px;
  padding: 10px;
}

.fleet-history-summary-row small {
  display: block;
  margin-top: 3px;
}

@media (max-width: 760px) {
  .fleet-header-actions {
    width: 100%;
  }

  .fleet-header-actions > button {
    flex: 1 1 180px;
  }

  .fleet-form-grid,
  .fleet-form-grid-three,
  .fleet-current-status,
  .fleet-history-columns {
    grid-template-columns: 1fr;
  }

  .fleet-modal-backdrop {
    align-items: flex-end;
    padding: 0;
  }

  .fleet-modal-card {
    width: 100%;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
    padding: 18px;
  }
}

/* UX: Painel e central de documentos */
.metric-card-action {
  width: 100%;
  border: 1px solid var(--line);
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.metric-card-action:hover {
  transform: translateY(-2px);
  border-color: #b9cbe0;
  box-shadow: 0 12px 28px rgba(15, 42, 67, .09);
}

.metric-card-action:focus-visible,
.dashboard-quick-action:focus-visible,
.folder-card:focus-visible,
.filter-link:focus-visible,
.view-toggle:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .22);
  outline-offset: 2px;
}

.profile-dashboard-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  padding: 16px 18px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.profile-dashboard-banner[data-profile-mode="edit"] {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, #f0fdf4, #ffffff);
}

.profile-dashboard-banner[data-profile-mode="admin"] {
  border-color: #fde68a;
  background: linear-gradient(135deg, #fffbeb, #ffffff);
}

.profile-dashboard-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 16px;
  font-weight: 900;
}

.profile-dashboard-banner[data-profile-mode="edit"] .profile-dashboard-icon {
  color: #15803d;
  background: #dcfce7;
}

.profile-dashboard-banner[data-profile-mode="admin"] .profile-dashboard-icon {
  color: #a16207;
  background: #fef3c7;
}

.profile-dashboard-copy {
  min-width: 0;
  flex: 1;
}

.profile-dashboard-copy small,
.profile-dashboard-copy strong,
.profile-dashboard-copy p {
  display: block;
}

.profile-dashboard-copy small {
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.profile-dashboard-copy strong {
  color: var(--ink);
  font-size: 15px;
}

.profile-dashboard-copy p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.profile-dashboard-mode {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.profile-dashboard-banner[data-profile-mode="edit"] .profile-dashboard-mode {
  color: #15803d;
  background: #dcfce7;
}

.profile-dashboard-banner[data-profile-mode="admin"] .profile-dashboard-mode {
  color: #a16207;
  background: #fef3c7;
}

.metrics.metrics-two-column,
.finance-metrics.finance-metrics-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fleet-profile-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.fleet-control-center {
  margin-bottom: 22px;
  padding: 22px;
  border: 1px solid #cbdcf5;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
  box-shadow: 0 12px 30px rgba(30, 64, 175, 0.08);
}

.fleet-control-heading,
.fleet-location-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fleet-control-heading h2 {
  margin: 3px 0 5px;
  color: var(--navy-deep);
  font-size: 21px;
}

.fleet-control-heading p,
.fleet-location-summary span {
  margin: 0;
  color: #64748b;
  font-size: 12px;
}

.fleet-control-eyebrow {
  color: #2563eb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fleet-control-total {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 700;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .06);
}

.fleet-status-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.fleet-status-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 54px;
  padding: 10px 13px;
  border: 1px solid #dbe4f0;
  border-left: 4px solid var(--fleet-filter-color);
  border-radius: 12px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.fleet-status-filter:hover,
.fleet-status-filter.active {
  border-color: var(--fleet-filter-color);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}

.fleet-status-filter.active {
  background: color-mix(in srgb, var(--fleet-filter-color) 8%, white);
}

.fleet-status-filter span { font-size: 12px; font-weight: 700; }
.fleet-status-filter strong { color: var(--fleet-filter-color); font-size: 20px; }

.fleet-location-summary {
  align-items: flex-start;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #dbe4f0;
}

.fleet-location-summary > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 130px;
}

.fleet-location-chips {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.fleet-location-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #cbdcf5;
  border-radius: 999px;
  background: #fff;
  color: #1e3a8a;
  cursor: pointer;
}

.fleet-location-chip span { color: #334155; font-size: 11px; }
.fleet-location-chip strong { color: #2563eb; font-size: 11px; }
.fleet-location-empty { padding: 7px 0; }

.fleet-history-import-event .fleet-history-dot {
  background: #2563eb;
  box-shadow: 0 0 0 4px #dbeafe;
}

.fleet-imported-freight-row {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.fleet-imported-freight-row small {
  display: block;
  margin-top: 3px;
}

.fleet-imported-freight-value {
  display: grid;
  justify-items: end;
  gap: 3px;
  flex: 0 0 auto;
}

.fleet-imported-freight-value span {
  padding: 3px 7px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.fleet-imported-freight-value strong {
  color: #1e3a8a;
  white-space: nowrap;
}

.diesel-control-page { max-width: 1500px; margin: 0 auto; padding-bottom: 32px; }
.diesel-setup-banner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #f2d39a;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffdf7, #fff7e6);
}
.diesel-setup-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #fef3c7; font-size: 23px; }
.diesel-setup-banner span { color: #b45309; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.diesel-setup-banner h2 { margin: 3px 0 5px; color: var(--navy-deep); font-size: 19px; }
.diesel-setup-banner p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.55; }
.diesel-setup-banner > strong { max-width: 280px; padding: 8px 11px; border-radius: 9px; background: #fff; color: #92400e; font-size: 11px; overflow-wrap: anywhere; }
.diesel-metrics-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.diesel-metrics-grid article { display: grid; gap: 5px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.diesel-metrics-grid span { color: #64748b; font-size: 11px; }
.diesel-metrics-grid strong { color: var(--navy-deep); font-size: 25px; }
.diesel-metrics-grid small { color: #94a3b8; font-size: 10px; }
.diesel-import-card { margin-bottom: 20px; }
.diesel-location-card { margin-bottom: 20px; }
.diesel-location-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; padding: 0 20px 20px; }
.diesel-location-grid article { display: grid; gap: 8px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.diesel-location-grid article > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.diesel-location-grid article span { font-size: 17px; }
.diesel-location-grid article strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.diesel-location-grid article b { color: var(--navy-deep); font-size: 20px; }
.diesel-location-grid article small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.diesel-status-pill { padding: 5px 9px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: 10px; font-weight: 800; }
.diesel-status-pill.ready { background: #dcfce7; color: #166534; }
.diesel-preview-card { margin-bottom: 20px; border-color: #86efac; }
.diesel-preview-summary { display: grid; grid-template-columns: 1.5fr repeat(5, minmax(0, 1fr)); gap: 10px; padding: 18px 20px; }
.diesel-preview-summary div { min-width: 0; padding: 12px; border-radius: 10px; background: var(--canvas); }
.diesel-preview-summary span, .diesel-preview-summary strong { display: block; }
.diesel-preview-summary span { margin-bottom: 5px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.diesel-preview-summary strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.diesel-preview-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 0 20px 20px; }
.diesel-import-list { display: grid; padding: 0 20px 16px; }
.diesel-import-list article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.diesel-import-list article:last-child { border-bottom: 0; }
.diesel-import-list strong, .diesel-import-list span { display: block; }
.diesel-import-list strong { color: var(--ink); font-size: 12px; }
.diesel-import-list span, .diesel-import-list small { color: var(--muted); font-size: 10px; }
.diesel-import-body { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; padding: 20px; }
.diesel-file-drop { display: grid; justify-items: center; gap: 8px; padding: 30px 20px; border: 1px dashed #9ab9ed; border-radius: 14px; background: #f8fbff; text-align: center; }
.diesel-file-drop > span { color: var(--blue); font-size: 28px; }
.diesel-file-drop strong { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.diesel-file-drop p { margin: 0 0 4px; color: var(--muted); font-size: 10px; }
.diesel-next-steps { padding: 18px; border-radius: 14px; background: var(--canvas); }
.diesel-next-steps > strong { color: var(--ink); font-size: 12px; }
.diesel-next-steps ol { margin: 12px 0 0; padding-left: 20px; color: #64748b; font-size: 11px; line-height: 1.75; }
.diesel-vehicle-card { margin-bottom: 20px; }
.diesel-vehicle-heading { gap: 18px; }
.diesel-vehicle-search { display: flex; align-items: center; gap: 8px; width: min(260px, 100%); padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--canvas); color: var(--muted); }
.diesel-vehicle-search input { width: 100%; min-height: 36px; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 11px; }
.diesel-vehicle-search input:disabled { cursor: not-allowed; opacity: .72; }
.diesel-table-scroll { overflow-x: auto; border-bottom: 1px solid var(--line); }
.diesel-vehicle-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.diesel-vehicle-table th { padding: 12px 15px; background: var(--canvas); color: #64748b; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.diesel-vehicle-table td { padding: 12px 15px; border-top: 1px solid var(--line); color: #475569; font-size: 11px; vertical-align: middle; }
.diesel-vehicle-table td strong { color: var(--ink); }
.diesel-vehicle-table td small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.diesel-vehicle-empty { padding: 34px 20px; }
.diesel-empty-state { display: grid; justify-items: center; gap: 7px; padding: 44px 20px; color: var(--muted); text-align: center; }
.diesel-empty-state span { font-size: 28px; filter: grayscale(1); opacity: .55; }
.diesel-empty-state strong { color: var(--ink); font-size: 13px; }
.diesel-empty-state p { margin: 0; font-size: 11px; }
@media(max-width:900px){
  .diesel-setup-banner { grid-template-columns: auto 1fr; }
  .diesel-setup-banner > strong { grid-column: 1 / -1; max-width: none; }
  .diesel-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diesel-import-body { grid-template-columns: 1fr; }
  .diesel-preview-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diesel-vehicle-heading { align-items: stretch; flex-direction: column; }
  .diesel-vehicle-search { width: 100%; }
}
@media(max-width:520px){
  .diesel-setup-banner { grid-template-columns: 1fr; }
  .diesel-setup-icon { width: 42px; height: 42px; }
  .diesel-metrics-grid { grid-template-columns: 1fr; }
  .diesel-preview-summary { grid-template-columns: 1fr; }
  .diesel-import-list article { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (max-width: 900px) {
  .fleet-status-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fleet-control-heading,
  .fleet-location-summary { align-items: stretch; flex-direction: column; }
  .fleet-location-chips { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .fleet-control-center { padding: 16px; border-radius: 14px; }
  .fleet-status-filter-grid { grid-template-columns: 1fr; }
  .fleet-control-total { align-self: flex-start; }
}

.fleet-profile-metric {
  padding: 16px;
  border-left: 4px solid;
}

.fleet-profile-metric small,
.fleet-profile-metric strong,
.fleet-profile-metric span {
  display: block;
}

.fleet-profile-metric small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.fleet-profile-metric strong {
  margin-top: 4px;
  font-size: 24px;
}

.fleet-profile-metric span {
  color: #94a3b8;
  font-size: 11px;
}

.dashboard-quick-section {
  margin: 0 0 24px;
}

.dashboard-quick-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 11px;
}

.dashboard-quick-heading h2 {
  margin: 0;
  font: 800 15px "Manrope", sans-serif;
}

.dashboard-quick-heading p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.dashboard-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-quick-action {
  min-width: 0;
  min-height: 76px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 13px;
  color: var(--ink);
  background: var(--white);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-quick-action:hover {
  transform: translateY(-2px);
  border-color: #b9cbe0;
  box-shadow: 0 10px 24px rgba(15, 42, 67, .08);
}

.dashboard-quick-action > span:nth-child(2) {
  min-width: 0;
}

.dashboard-quick-action strong,
.dashboard-quick-action small {
  display: block;
}

.dashboard-quick-action strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dashboard-quick-action small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.dashboard-quick-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 800;
}

.dashboard-quick-icon.blue { color: #225fd4; background: var(--blue-soft); }
.dashboard-quick-icon.amber { color: var(--amber); background: var(--amber-soft); }
.dashboard-quick-icon.green { color: var(--green); background: var(--green-soft); }
.dashboard-quick-arrow { color: #7f8c99; font-size: 16px; }

.document-filter-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 4px 8px 13px;
}

.document-filter-header h3 {
  margin: 0;
}

.document-filter-header p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.document-filter-close {
  display: none;
}

.document-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: var(--navy, #102a43);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  flex: 0 0 auto;
  align-self: flex-end;
  box-shadow: 0 2px 6px rgba(16, 42, 67, 0.15);
}

.document-filter-toggle:hover {
  background: #183452;
  border-color: rgba(255, 255, 255, 0.3);
}

.document-filter-toggle.active {
  background: var(--blue, #2563eb);
  border-color: #3b82f6;
  color: #ffffff;
}

.document-filter-toggle .filter-toggle-icon {
  font-size: 10px;
  color: #ffffff;
  line-height: 1;
}

.document-toolbar {
  align-items: stretch;
  flex-direction: column;
  gap: 10px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--line);
}

.document-toolbar-main {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.document-search-field {
  min-width: 260px;
  max-width: 680px;
  flex: 1;
}

.document-search-field label {
  display: block;
  margin: 0 0 6px 2px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.document-search-box {
  width: 100%;
}

.document-toolbar .view-toggles {
  margin-left: auto;
}

.document-results-summary {
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 11px;
}

.document-results-summary strong {
  color: var(--ink);
}

.document-name-cell {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.document-name-copy {
  min-width: 0;
}

.document-name-copy strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}

.document-name-copy small {
  display: none;
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.documents-table {
  min-width: 1020px;
}

.documents-table .doc-col-actions {
  width: 210px;
  text-align: right;
}

.document-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.document-row-action {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  color: var(--ink);
  background: var(--white);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.document-row-action.view {
  border-color: #bfd2f5;
  color: #245fca;
  background: var(--blue-soft);
}

.document-row-action.move:hover,
.document-row-action.view:hover {
  border-color: #7fa7ea;
  color: #174ca9;
  background: #e1ebff;
}

.document-action-short {
  display: none;
}

.document-more-button {
  width: 35px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--white);
  cursor: pointer;
}

.folder-card .folder-card-name {
  min-height: 34px;
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 5px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.folder-card-count {
  display: block;
  color: var(--muted);
  font-size: 10px;
}

.folder-card-action {
  display: block;
  margin-top: 9px;
  color: #2865d5 !important;
  font-size: 10px !important;
  font-weight: 700;
}

.document-empty-state {
  max-width: 430px;
  margin: 0 auto;
  padding: 44px 20px;
  color: var(--muted);
  text-align: center;
}

.document-empty-state > span {
  display: block;
  margin-bottom: 9px;
  font-size: 30px;
}

.document-empty-state strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.document-empty-state p {
  margin: 7px 0 15px;
  font-size: 11px;
  line-height: 1.5;
}

.document-empty-grid {
  grid-column: 1 / -1;
}

[data-theme="dark"] .metric-card-action,
[data-theme="dark"] .dashboard-quick-action {
  color: var(--ink);
  background: var(--white);
}

[data-theme="dark"] .profile-dashboard-banner,
[data-theme="dark"] .profile-dashboard-banner[data-profile-mode="edit"],
[data-theme="dark"] .profile-dashboard-banner[data-profile-mode="admin"] {
  background: linear-gradient(135deg, rgba(30, 64, 175, .18), var(--white));
}

[data-theme="dark"] .profile-dashboard-banner[data-profile-mode="edit"] {
  background: linear-gradient(135deg, rgba(21, 128, 61, .18), var(--white));
}

[data-theme="dark"] .profile-dashboard-banner[data-profile-mode="admin"] {
  background: linear-gradient(135deg, rgba(161, 98, 7, .18), var(--white));
}

[data-theme="dark"] .filter-link {
  color: var(--muted);
}

[data-theme="dark"] .filter-link:hover,
[data-theme="dark"] .filter-link.active {
  color: #bfdbfe;
  background: rgba(37, 99, 235, .22);
}

[data-theme="dark"] .view-toggles {
  background: #0f172a;
}

[data-theme="dark"] .view-toggle.active {
  color: var(--ink);
  background: #334155;
}

[data-theme="dark"] .document-row-action.view {
  border-color: rgba(96, 165, 250, .45);
  color: #bfdbfe;
}

[data-theme="dark"] .document-row-action.view:hover,
[data-theme="dark"] .document-row-action.move:hover {
  color: #dbeafe;
  background: rgba(37, 99, 235, .28);
}

@media (max-width: 1450px) {
  .documents-table {
    min-width: 0;
    table-layout: fixed;
  }

  .documents-table th:nth-child(3),
  .documents-table td:nth-child(3),
  .documents-table th:nth-child(5),
  .documents-table td:nth-child(5),
  .documents-table th:nth-child(6),
  .documents-table td:nth-child(6),
  .documents-table th:nth-child(7),
  .documents-table td:nth-child(7) {
    display: none;
  }

  .documents-table .doc-col-select {
    width: 46px !important;
  }

  .documents-table .doc-col-name {
    width: auto !important;
  }

  .documents-table .doc-col-category {
    width: 110px !important;
  }

  .documents-table .doc-col-actions {
    width: 205px !important;
  }
}

@media (max-width: 1120px) {
  .dashboard-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-filter {
    display: none;
  }

  .document-filter.mobile-open {
    display: block;
  }

  .document-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .document-filter-toggle.active {
    border-color: #8db1ee;
    color: #225fd4;
    background: var(--blue-soft);
  }

  .document-filter-close {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: var(--white);
    font-size: 20px;
    cursor: pointer;
  }

  .document-filter.mobile-open .filter-scroll-area {
    max-height: 340px;
    display: grid;
    gap: 4px;
    overflow: auto;
    padding: 0 3px 4px;
  }

  .document-filter.mobile-open .filter-link {
    width: 100%;
    min-width: 0;
    border: 0;
  }
}

@media (max-width: 800px) {
  .document-toolbar {
    padding: 14px;
  }

  .document-toolbar-main {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .document-search-box {
    max-width: none;
  }

  .document-search-field {
    min-width: 100%;
    max-width: none;
  }

  .document-filter-toggle {
    flex: 1;
  }

  .document-toolbar .view-toggles {
    width: auto;
    flex: 1.4;
    margin-left: 0;
  }

  .document-results-summary {
    align-items: flex-start;
  }

  .documents-table {
    min-width: 0;
    table-layout: fixed;
  }

  .documents-table th:nth-child(3),
  .documents-table td:nth-child(3),
  .documents-table th:nth-child(4),
  .documents-table td:nth-child(4),
  .documents-table th:nth-child(5),
  .documents-table td:nth-child(5),
  .documents-table th:nth-child(6),
  .documents-table td:nth-child(6),
  .documents-table th:nth-child(7),
  .documents-table td:nth-child(7) {
    display: none;
  }

  .documents-table .doc-col-select {
    width: 42px !important;
    padding-right: 5px;
    padding-left: 8px;
  }

  .documents-table .doc-col-name {
    width: auto !important;
  }

  .documents-table .doc-col-actions {
    width: 126px !important;
    padding-right: 8px;
    padding-left: 5px;
  }

  .document-row-actions {
    gap: 4px;
  }

  .document-row-action {
    min-width: 36px;
    min-height: 34px;
    gap: 3px;
    padding: 0 6px;
  }

  .document-action-long {
    display: none;
  }

  .document-action-short {
    display: inline;
  }

  .document-more-button {
    width: 31px;
  }

  .document-name-cell {
    gap: 9px;
  }

  .document-name-cell .file-icon {
    flex: 0 0 auto;
  }

  .document-name-copy small {
    display: block;
  }

  .folder-breadcrumb {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 10px;
  }

  .folder-breadcrumb > button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .profile-dashboard-banner {
    align-items: flex-start;
    padding: 14px;
  }

  .profile-dashboard-mode {
    display: none;
  }

  .metrics.metrics-two-column,
  .finance-metrics.finance-metrics-compact,
  .fleet-profile-metrics {
    grid-template-columns: 1fr;
  }

  .dashboard-quick-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-quick-action {
    min-height: 70px;
  }

  .document-results-summary {
    flex-direction: column;
    gap: 4px;
  }
}

/* Padrões visuais compartilhados entre RH, Financeiro e Frota */
.primary-button,
.secondary-button,
.success-button,
.danger-button {
  appearance: none;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.primary-button {
  border-color: var(--action-primary);
  color: #fff;
  background: var(--action-primary);
  box-shadow: 0 5px 12px rgba(37, 99, 235, .18);
}

.primary-button:hover:not(:disabled) {
  border-color: var(--action-primary-hover);
  background: var(--action-primary-hover);
  box-shadow: 0 7px 16px rgba(37, 99, 235, .22);
}

.secondary-button {
  border-color: var(--line);
  color: var(--ink);
  background: var(--white);
  box-shadow: none;
}

.secondary-button:hover:not(:disabled) {
  border-color: #a9bdd1;
  color: var(--action-primary-hover);
  background: color-mix(in srgb, var(--blue-soft) 55%, var(--white));
}

.success-button {
  border-color: var(--action-success);
  color: #fff;
  background: var(--action-success);
  box-shadow: 0 5px 12px rgba(21, 128, 61, .16);
}

.success-button:hover:not(:disabled) {
  border-color: var(--action-success-hover);
  background: var(--action-success-hover);
}

.danger-button,
.fleet-danger-button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--action-danger) 35%, var(--line));
  border-radius: 8px;
  padding: 0 11px;
  color: var(--action-danger);
  background: var(--red-soft);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.danger-button:hover:not(:disabled),
.fleet-danger-button:hover:not(:disabled) {
  border-color: var(--action-danger-hover);
  color: #fff;
  background: var(--action-danger-hover);
}

.primary-button.compact,
.secondary-button.compact,
.success-button.compact,
.danger-button.compact {
  min-height: 34px;
  padding: 0 10px;
  font-size: 11px;
}

.action-detail-button {
  margin-top: 4px;
}

.row-action {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  color: var(--action-primary-hover);
  background: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.row-action:hover:not(:disabled) {
  border-color: #8fb0e8;
  background: var(--blue-soft);
}

.content-card:has(.file-action-more) {
  overflow: visible;
}

.file-list-row {
  position: relative;
  flex-wrap: nowrap;
  gap: 12px;
  padding: 14px 0;
  overflow: visible;
}

.file-list-row > .file-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 0;
}

.file-list-copy {
  min-width: 0;
  flex: 1 1 320px;
}

.file-list-copy strong,
.file-list-copy span {
  display: block;
}

.file-list-copy strong {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-list-copy span {
  margin-top: 4px;
  color: var(--muted);
}

.file-action-group {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.file-action-primary,
.file-action-more > summary {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--blue);
  background: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.file-action-primary {
  min-width: 88px;
  padding: 0 13px;
}

.file-action-primary:hover,
.file-action-more > summary:hover,
.file-action-more[open] > summary {
  border-color: #8fb0e8;
  background: var(--blue-soft);
}

.file-action-more {
  position: relative;
}

.file-action-more > summary {
  width: 38px;
  list-style: none;
  letter-spacing: 1px;
}

.file-action-more > summary::-webkit-details-marker {
  display: none;
}

.file-action-popover {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 90;
  width: 210px;
  display: grid;
  gap: 3px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--white);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
}

.file-action-popover a,
.file-action-popover button {
  min-height: 36px;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 11px;
  border: 0;
  border-radius: 7px;
  color: var(--ink);
  background: transparent;
  font-size: 11px;
  font-weight: 650;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.file-action-popover a:hover,
.file-action-popover button:hover {
  color: var(--blue);
  background: var(--blue-soft);
}

.file-action-popover .danger {
  color: var(--action-danger);
}

.file-action-popover .danger:hover {
  color: var(--action-danger);
  background: var(--red-soft);
}

.finance-file-actions-column {
  width: 150px;
  text-align: right !important;
}

.finance-folder-row:hover td,
.finance-file-row:hover td {
  background: var(--canvas);
}

.active-filter-summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 10px 0 14px;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted);
  background: var(--canvas);
}

.active-filter-summary:not(.has-filters) {
  background: transparent;
}

.active-filter-result {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 2px;
}

.active-filter-result strong {
  color: var(--ink);
  font-size: 11px;
}

.active-filter-result small {
  color: var(--muted);
  font-size: 9px;
}

.active-filter-chips {
  min-width: 0;
  display: flex;
  flex: 1;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.active-filter-chips > span {
  max-width: 260px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid #bfd2f5;
  border-radius: 999px;
  overflow: hidden;
  color: #245fca;
  background: var(--blue-soft);
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-filter-chips > span small {
  color: #6885b6;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.active-filter-summary > .text-button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 8px;
}

[data-theme="dark"] .file-action-primary,
[data-theme="dark"] .file-action-more > summary,
[data-theme="dark"] .file-action-popover {
  border-color: var(--line);
  background: var(--white);
}

[data-theme="dark"] .file-action-primary:hover,
[data-theme="dark"] .file-action-more > summary:hover,
[data-theme="dark"] .file-action-more[open] > summary {
  background: rgba(37, 99, 235, .2);
}

[data-theme="dark"] .active-filter-chips > span {
  border-color: rgba(96, 165, 250, .4);
  color: #bfdbfe;
  background: rgba(37, 99, 235, .2);
}

[data-theme="dark"] .active-filter-chips > span small {
  color: #93c5fd;
}

.row-action.success {
  border-color: color-mix(in srgb, var(--action-success) 32%, var(--line));
  color: var(--action-success);
  background: var(--green-soft);
}

.row-action.danger {
  border-color: color-mix(in srgb, var(--action-danger) 32%, var(--line));
  color: var(--action-danger);
  background: var(--red-soft);
}

.document-view,
.document-toggle,
.document-remove,
.user-action-btn,
.report-row button {
  appearance: none;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 10px;
  color: var(--action-primary-hover);
  background: var(--white);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.document-view:hover:not(:disabled),
.document-toggle:hover:not(:disabled),
.user-action-btn:hover:not(:disabled),
.report-row button:hover:not(:disabled) {
  border-color: #8fb0e8;
  color: var(--action-primary-hover);
  background: var(--blue-soft);
}

.document-remove,
.user-action-btn.delete {
  border-color: color-mix(in srgb, var(--action-danger) 32%, var(--line));
  color: var(--action-danger);
  background: var(--red-soft);
}

.document-remove:hover:not(:disabled),
.user-action-btn.delete:hover:not(:disabled) {
  border-color: var(--action-danger-hover);
  color: #fff;
  background: var(--action-danger-hover);
}

.danger-text-button {
  margin-left: 10px;
  color: var(--action-danger);
  font-size: 10px;
}

.danger-text-button:hover:not(:disabled) {
  color: var(--action-danger-hover);
  background: var(--red-soft);
}

.icon-action {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0;
  color: var(--muted);
  background: var(--white);
  font-size: 18px;
}

.danger-button.icon-action.compact {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
}

.camera-overlay-button {
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  background: rgba(15, 23, 42, .78);
}

.camera-overlay-button:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, .48);
  color: #fff;
  background: rgba(15, 23, 42, .92);
}

.primary-button:active:not(:disabled),
.secondary-button:active:not(:disabled),
.success-button:active:not(:disabled),
.danger-button:active:not(:disabled),
.fleet-danger-button:active:not(:disabled),
.row-action:active:not(:disabled),
.document-view:active:not(:disabled),
.document-toggle:active:not(:disabled),
.document-remove:active:not(:disabled),
.user-action-btn:active:not(:disabled),
.report-row button:active:not(:disabled) {
  transform: translateY(1px);
}

:where(
  .primary-button,
  .secondary-button,
  .success-button,
  .danger-button,
  .fleet-danger-button,
  .row-action,
  .text-button,
  .icon-action,
  .nav-item,
  .file-menu,
  .more-button,
  .document-row-action,
  .document-more-button,
  .document-view,
  .document-toggle,
  .document-remove,
  .user-action-btn,
  .report-row button
):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

:where(
  .primary-button,
  .secondary-button,
  .success-button,
  .danger-button,
  .fleet-danger-button,
  .row-action,
  .text-button,
  .document-row-action,
  .document-view,
  .document-toggle,
  .document-remove,
  .user-action-btn,
  .report-row button
):disabled {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

[data-theme="dark"] .secondary-button,
[data-theme="dark"] .row-action,
[data-theme="dark"] .document-view,
[data-theme="dark"] .document-toggle,
[data-theme="dark"] .user-action-btn,
[data-theme="dark"] .report-row button,
[data-theme="dark"] .icon-action {
  border-color: var(--line);
  color: var(--ink);
  background: var(--white);
}

[data-theme="dark"] .secondary-button:hover:not(:disabled),
[data-theme="dark"] .row-action:hover:not(:disabled) {
  border-color: #6485aa;
  color: #bfdbfe;
  background: rgba(37, 99, 235, .18);
}

/* Ajuda guiada para novos usuários */
.sidebar-help {
  width: calc(100% - 8px);
  border: 1px solid rgba(141, 179, 216, .22);
  font: inherit;
  text-align: left;
}

.guided-help-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 11px;
  color: var(--muted);
  background: var(--white);
  font-size: 11px;
  cursor: pointer;
}

.guided-help-button span {
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 50%;
  color: var(--action-primary);
  background: var(--blue-soft);
  font-weight: 800;
}

.guided-help-button strong {
  color: inherit;
  font-size: 11px;
}

.guided-help-button:hover {
  border-color: #9db5cf;
  color: var(--action-primary-hover);
  background: color-mix(in srgb, var(--blue-soft) 55%, var(--white));
}

.guided-help-button:focus-visible,
.sidebar-help:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.guided-help-modal {
  width: min(620px, 100%);
  max-width: 620px;
  overflow: hidden;
  padding: 0;
}

.guided-help-modal .modal-close {
  z-index: 1;
}

.guided-help-header {
  padding: 26px 28px 18px;
  border-bottom: 1px solid var(--line);
}

.guided-help-badge {
  display: inline-flex;
  margin-bottom: 10px;
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--action-primary-hover);
  background: var(--blue-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .65px;
}

.guided-help-header h2 {
  margin: 0;
  color: var(--ink);
  font: 800 22px "Manrope", sans-serif;
}

.guided-help-header p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.guided-help-progress {
  display: flex;
  gap: 6px;
  padding: 16px 28px 0;
}

.guided-help-progress span {
  height: 5px;
  flex: 1;
  border-radius: 999px;
  background: var(--line);
  transition: background .2s ease;
}

.guided-help-progress span.done {
  background: #93b4ee;
}

.guided-help-progress span.active {
  background: var(--action-primary);
}

.guided-help-content {
  min-height: 245px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  padding: 24px 28px 28px;
}

.guided-help-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 16px;
  color: var(--action-primary-hover);
  background: var(--blue-soft);
  font-size: 27px;
}

.guided-help-content small {
  display: block;
  color: var(--action-primary);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .55px;
}

.guided-help-content h3 {
  margin: 7px 0 8px;
  color: var(--ink);
  font: 800 18px "Manrope", sans-serif;
}

.guided-help-content p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.guided-help-content ul {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.guided-help-content li {
  position: relative;
  padding-left: 20px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.45;
}

.guided-help-content li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: var(--action-success);
  font-weight: 800;
}

.guided-help-actions {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 28px;
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--canvas) 65%, var(--white));
}

.guided-help-actions > div {
  display: flex;
  gap: 9px;
}

.guided-help-actions .text-button {
  color: var(--muted);
}

[data-theme="dark"] .guided-help-button,
[data-theme="dark"] .guided-help-modal {
  border-color: var(--line);
  color: var(--ink);
  background: var(--white);
}

[data-theme="dark"] .guided-help-actions {
  background: rgba(15, 23, 42, .45);
}

/* Navegação e tabelas otimizadas para toque */
.sidebar-mobile-bar {
  display: none;
}

button,
a.primary-button,
a.secondary-button {
  touch-action: manipulation;
}

@media (max-width: 800px) {
  .sidebar-mobile-bar {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    margin: -6px 0 8px;
    padding: 0 8px 8px 10px;
    border-bottom: 1px solid rgba(200, 220, 240, .16);
  }

  .sidebar-mobile-bar strong {
    color: #f4f8fc;
    font-size: 13px;
  }

  #sidebar-mobile-close {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(200, 220, 240, .22);
    border-radius: 10px;
    color: #f4f8fc;
    background: rgba(255, 255, 255, .07);
    font-size: 26px;
    line-height: 1;
  }

  #sidebar-mobile-close:focus-visible,
  .mobile-menu:focus-visible {
    outline: 3px solid rgba(147, 197, 253, .7);
    outline-offset: 2px;
  }

  .sidebar .brand {
    flex: 0 0 auto;
    padding-bottom: 12px !important;
  }

  .sidebar .menu-label {
    position: sticky;
    top: 0;
    z-index: 1;
    margin-right: 0;
    margin-left: 0;
    padding: 8px 12px 6px;
    background: var(--navy);
  }

  .sidebar .nav-item {
    min-height: 50px;
    padding: 0 14px;
    touch-action: manipulation;
  }

  #module-switcher-menu {
    position: fixed !important;
    top: 72px !important;
    right: auto !important;
    left: 12px !important;
    width: min(268px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 90px);
    overflow-y: auto !important;
  }

  .primary-button,
  .secondary-button,
  .success-button,
  .danger-button,
  .date-chip,
  .filter-select,
  .finance-filter,
  .document-toggle,
  .compact-button {
    min-height: 44px;
  }

  .row-action,
  .document-row-action,
  .fleet-danger-button {
    min-height: 40px;
    padding: 8px 10px;
  }

  .file-menu,
  .more-button,
  .icon-action,
  .document-more-button,
  .modal-close,
  .fleet-modal-close {
    min-width: 44px;
    min-height: 44px;
  }

  .fleet-header-actions,
  .finance-header-actions {
    align-items: stretch;
  }

  .fleet-header-actions > button,
  .finance-header-actions > button {
    flex: 1 1 180px;
    justify-content: center;
  }

  .fleet-row-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .fleet-row-actions button {
    min-height: 40px;
  }

  .guided-help-button {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
  }

  .guided-help-button strong {
    display: none;
  }

  .guided-help-modal {
    width: 100%;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    padding: 0;
    border-radius: 14px 14px 8px 8px;
  }

  .guided-help-header {
    padding: 22px 20px 15px;
  }

  .guided-help-progress {
    padding: 14px 20px 0;
  }

  .guided-help-content {
    min-height: 0;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    padding: 20px;
  }

  .guided-help-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 22px;
  }

  .guided-help-actions {
    align-items: stretch;
    padding: 12px 20px;
  }

  .guided-help-actions > div {
    flex: 1;
  }

  .guided-help-actions > div button {
    flex: 1;
  }
}

@media (max-width: 620px) {
  .table-wrap:has(.mobile-card-table),
  .finance-table-wrap:has(.mobile-card-table) {
    overflow: visible;
  }

  .mobile-card-table {
    display: block;
    width: 100%;
    min-width: 0 !important;
    border-collapse: separate;
  }

  .mobile-card-table thead {
    display: none;
  }

  .mobile-card-table tbody {
    display: grid;
    gap: 12px;
    padding: 12px;
  }

  .mobile-card-table tr {
    display: block;
    overflow: hidden;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--white);
    box-shadow: 0 3px 10px rgba(15, 42, 67, .05);
  }

  .mobile-card-table td {
    display: flex !important;
    width: 100% !important;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 13px !important;
    border: 0;
    border-top: 1px solid var(--line);
    text-align: right;
  }

  .mobile-card-table td::before {
    content: attr(data-label);
    flex: 0 0 38%;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .35px;
    text-align: left;
    text-transform: uppercase;
  }

  .mobile-card-table td:first-child {
    display: block !important;
    min-height: 0;
    padding: 14px 13px !important;
    border-top: 0;
    background: color-mix(in srgb, var(--blue-soft) 42%, var(--white));
    text-align: left;
  }

  .mobile-card-table td:first-child::before,
  .mobile-card-table td[colspan]::before {
    display: none;
  }

  .mobile-card-table td[colspan] {
    display: block !important;
    padding: 20px 14px !important;
    text-align: center;
  }

  .mobile-card-table td > * {
    max-width: 62%;
  }

  .mobile-card-table td:first-child > *,
  .mobile-card-table td[colspan] > *,
  .mobile-card-table td[data-label="Ações"] > * {
    max-width: 100%;
  }

  .mobile-card-table td[data-label="Ações"] > div {
    width: 100%;
    justify-content: flex-end !important;
  }

  .mobile-card-table .finance-account-status {
    align-items: flex-end;
  }

  .people-table .person-cell {
    align-items: center;
  }

  .people-table td[data-label="Documentos"] > div {
    width: min(190px, 62%);
  }

  .people-table td[data-label="Ações"] .row-action {
    flex: 1;
    border: 1px solid #d8e2ee;
    border-radius: 8px;
  }

  .fleet-status-table td[data-label="Ações"],
  .fleet-maintenance-table td[data-label="Ações"],
  .fleet-freight-table td[data-label="Ações"] {
    align-items: stretch;
    flex-direction: column;
  }

  .fleet-row-actions {
    width: 100%;
  }

  .fleet-row-actions button {
    flex: 1 1 120px;
  }

  .finance-table-footer,
  .table-footer {
    border-top: 0;
  }
}

[data-theme="dark"] .mobile-card-table tr {
  background: var(--white);
}

[data-theme="dark"] .mobile-card-table td:first-child {
  background: rgba(37, 99, 235, .12);
}

@media (max-width: 520px) {
  .guided-help-content {
    grid-template-columns: 1fr;
  }

  .guided-help-icon {
    width: 42px;
    height: 42px;
  }

  .guided-help-actions {
    flex-direction: column-reverse;
  }

  .guided-help-actions > .text-button {
    align-self: center;
  }
}

/* UX: navegação, permissões, fila OCR e acessibilidade */
.sr-only {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  margin: -1px !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 50%;
  z-index: 10000;
  padding: 10px 16px;
  border-radius: 9px;
  color: #fff;
  background: #0f2a43;
  font-weight: 800;
  transform: translate(-50%, -150%);
  transition: transform .18s ease;
}

.skip-link:focus {
  transform: translate(-50%, 0);
}

.topbar-back-button,
.quick-access-button {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--white);
  font-weight: 700;
}

.topbar-back-button[hidden] {
  display: none;
}

.access-mode-chip {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  color: #1d4ed8;
  background: #eff6ff;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.access-mode-chip[data-mode="edit"] {
  border-color: #bbf7d0;
  color: #15803d;
  background: #f0fdf4;
}

.access-mode-chip[data-mode="admin"] {
  border-color: #fde68a;
  color: #a16207;
  background: #fffbeb;
}

.connection-status-chip {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  color: #15803d;
  background: #f0fdf4;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.connection-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, .12);
}

.connection-status-chip[data-status="checking"],
.connection-status-chip[data-status="reconnecting"] {
  border-color: #fde68a;
  color: #a16207;
  background: #fffbeb;
}

.connection-status-chip[data-status="reconnecting"] .connection-status-dot,
.connection-status-chip[data-status="checking"] .connection-status-dot {
  animation: connection-status-pulse 1.15s ease-in-out infinite;
}

.connection-status-chip[data-status="offline"] {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fef2f2;
}

@keyframes connection-status-pulse {
  50% { opacity: .35; transform: scale(.72); }
}

[data-theme="dark"] .connection-status-chip {
  border-color: #166534;
  color: #86efac;
  background: rgba(20, 83, 45, .28);
}

[data-theme="dark"] .connection-status-chip[data-status="checking"],
[data-theme="dark"] .connection-status-chip[data-status="reconnecting"] {
  border-color: #854d0e;
  color: #fde047;
  background: rgba(113, 63, 18, .28);
}

[data-theme="dark"] .connection-status-chip[data-status="offline"] {
  border-color: #991b1b;
  color: #fca5a5;
  background: rgba(127, 29, 29, .28);
}

.toast {
  position: fixed;
  overflow: hidden;
  display: flex;
  max-width: min(640px, calc(100vw - 28px));
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  border: 1px solid transparent;
  text-align: left;
}

.toast-icon {
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  color: #1e3a5f;
  background: rgba(255, 255, 255, .78);
  font-size: 15px;
  font-weight: 900;
}

.toast.progress .toast-icon {
  animation: ui-loading-spin .8s linear infinite;
}

.toast-copy {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 2px;
}

.toast-copy strong,
.toast-copy span {
  display: block;
}

.toast-copy strong {
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.toast-copy span {
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.toast.error {
  border-color: #fecaca;
  color: #991b1b;
  background: #fff1f2;
}

.toast.warning {
  border-color: #fde68a;
  color: #92400e;
  background: #fffbeb;
}

.toast.success {
  border-color: #bbf7d0;
  color: #166534;
  background: #f0fdf4;
}

.toast.info,
.toast.progress {
  border-color: #bfdbfe;
  color: #1e3a8a;
  background: #eff6ff;
}

[data-theme="dark"] .toast.error {
  border-color: rgba(248, 113, 113, .45);
  color: #fecaca;
  background: #451a1f;
}

[data-theme="dark"] .toast.warning {
  border-color: rgba(251, 191, 36, .45);
  color: #fde68a;
  background: #422006;
}

[data-theme="dark"] .toast.success {
  border-color: rgba(74, 222, 128, .4);
  color: #bbf7d0;
  background: #052e1b;
}

[data-theme="dark"] .toast.info,
[data-theme="dark"] .toast.progress {
  border-color: rgba(96, 165, 250, .42);
  color: #bfdbfe;
  background: #172554;
}

[data-theme="dark"] .toast-icon {
  color: inherit;
  background: rgba(255, 255, 255, .1);
}

.toast.show {
  pointer-events: auto;
}

.toast-progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  opacity: .35;
  background: currentColor;
  transform-origin: left;
}

.toast.show .toast-progress {
  animation: toast-progress-countdown var(--toast-duration, 4500ms) linear forwards;
}

@keyframes toast-progress-countdown {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

#toast-action {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: inherit;
  background: transparent;
  font-weight: 800;
}

#toast-action[hidden] {
  display: none;
}

:where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(37, 99, 235, .42);
  outline-offset: 2px;
}

#app:focus {
  outline: none;
}

.module-option:focus-visible {
  outline: 3px solid rgba(96, 165, 250, .72);
  outline-offset: -4px;
  background: rgba(255, 255, 255, .1) !important;
}

.notification-shell {
  position: relative;
  display: flex;
  align-items: center;
}

.notification-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.notification-trigger .notification-trigger-icon {
  margin: 0;
  color: #2563eb;
  font-size: 10px;
}

.notification-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 19px;
  height: 19px;
  display: inline-grid;
  place-items: center;
  margin: 0 !important;
  padding: 0 4px;
  border: 2px solid var(--white);
  border-radius: 999px;
  color: #ffffff !important;
  background: #ef4444;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}

.notification-badge[hidden],
.notification-center[hidden] {
  display: none !important;
}

.notification-center {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100;
  width: min(430px, calc(100vw - 24px));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
}

.notification-center-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
}

.notification-center-header strong,
.notification-center-header small {
  display: block;
}

.notification-center-header strong {
  color: var(--ink);
  font-size: 14px;
}

.notification-center-header small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.notification-center-header .text-button {
  flex: 0 0 auto;
  font-size: 10px;
}

.notification-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
}

.notification-filters button {
  min-width: 0;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 7px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.notification-filters button span {
  min-width: 18px;
  margin: 0;
  padding: 2px 5px;
  border-radius: 999px;
  color: inherit;
  background: rgba(148, 163, 184, .16);
  font-size: 9px;
}

.notification-filters button.active {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.notification-list {
  max-height: 430px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.notification-activity {
  position: relative;
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 15px 13px 19px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background .2s ease;
}

.notification-activity.unread {
  background: rgba(239, 246, 255, .72);
}

.notification-activity.read {
  opacity: .74;
}

.notification-activity:hover,
.notification-activity:focus-visible {
  background: var(--canvas);
}

.notification-priority {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  margin: 0;
  background: #93c5fd;
}

.notification-priority[data-priority="critical"] {
  background: #ef4444;
}

.notification-priority[data-priority="warning"] {
  background: #f59e0b;
}

.notification-item-icon {
  display: inline-grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  margin: 0;
  border-radius: 9px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 10px;
  font-weight: 900;
}

.notification-item-copy {
  min-width: 0;
  flex: 1;
  margin: 0;
}

.notification-item-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 3px;
}

.notification-item-meta em,
.notification-item-meta time {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
}

.notification-item-meta em {
  color: #2563eb;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.notification-item-copy strong,
.notification-item-copy small {
  display: block;
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notification-item-copy strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.notification-item-copy small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.notification-empty {
  min-height: 145px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  padding: 24px;
  color: var(--muted);
  text-align: center;
}

.notification-empty span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  margin: 0;
  border-radius: 999px;
  color: #15803d;
  background: #dcfce7;
  font-size: 16px;
}

.notification-empty strong {
  color: var(--ink);
  font-size: 13px;
}

.notification-empty small {
  font-size: 10px;
}

.notification-center-footer {
  display: flex;
  justify-content: center;
  padding: 9px 12px;
  border-top: 1px solid var(--line);
  background: var(--canvas);
}

.notification-center-footer .text-button {
  font-size: 10px;
}

[data-theme="dark"] .notification-filters button.active {
  border-color: #3b82f6;
  color: #bfdbfe;
  background: rgba(37, 99, 235, .2);
}

[data-theme="dark"] .notification-activity.unread {
  background: rgba(30, 64, 175, .16);
}

[data-theme="dark"] .notification-badge {
  border-color: var(--white);
}

.field-validation-message {
  display: block;
  margin-top: 6px;
  color: #b91c1c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #ef4444 !important;
  background: #fff7f7 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .1) !important;
}

[data-theme="dark"] .field-validation-message {
  color: #fca5a5;
}

[data-theme="dark"] input[aria-invalid="true"],
[data-theme="dark"] select[aria-invalid="true"],
[data-theme="dark"] textarea[aria-invalid="true"] {
  border-color: #f87171 !important;
  background: rgba(127, 29, 29, .18) !important;
}

[data-theme="dark"] .topbar-back-button,
[data-theme="dark"] .quick-access-button {
  color: var(--ink);
  background: var(--white);
}

[data-theme="dark"] .access-mode-chip {
  border-color: rgba(96, 165, 250, .42);
  color: #bfdbfe;
  background: rgba(37, 99, 235, .16);
}

.ocr-queue-card {
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 4px 16px rgba(15, 42, 67, .05);
}

.ocr-queue-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 17px;
  border-bottom: 1px solid var(--line);
}

.ocr-queue-header h2,
.ocr-queue-header h3 {
  margin: 0 0 3px;
  color: var(--ink);
  font-size: 15px;
}

.ocr-queue-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.ocr-queue-actions,
.ocr-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ocr-queue-list {
  display: grid;
  max-height: 252px;
  overflow-y: auto;
}

.ocr-queue-progress {
  height: 4px;
  overflow: hidden;
  background: color-mix(in srgb, var(--line) 75%, transparent);
}

.ocr-queue-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--action-primary);
  transition: width .2s ease;
}

.ocr-queue-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 11px 17px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  text-align: left;
}

.ocr-queue-item:last-child {
  border-bottom: 0;
}

.ocr-queue-item:hover,
.ocr-queue-item.active {
  background: color-mix(in srgb, var(--blue-soft) 55%, var(--white));
}

.ocr-queue-item.active {
  box-shadow: inset 3px 0 var(--action-primary);
}

.ocr-queue-item-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  color: var(--action-primary);
  background: var(--blue-soft);
  font-size: 11px;
  font-weight: 900;
}

.ocr-queue-item-copy {
  min-width: 0;
}

.ocr-queue-item-copy strong,
.ocr-queue-item-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ocr-queue-item-copy strong {
  font-size: 12px;
}

.ocr-queue-item-copy small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.ocr-queue-status {
  padding: 5px 8px;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.ocr-queue-status[data-status="review"] {
  color: #92400e;
  background: #fef3c7;
}

.ocr-queue-status[data-status="saved"] {
  color: #166534;
  background: #dcfce7;
}

.ocr-queue-status[data-status="error"] {
  color: #991b1b;
  background: #fee2e2;
}

.ocr-review-grid {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(340px, 1.18fr);
  gap: 18px;
  align-items: start;
}

.ocr-review-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.ocr-review-heading h3 {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.ocr-confidence-badge {
  flex: 0 0 auto;
  padding: 5px 10px;
  border: 1px solid;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.ocr-evidence-panel {
  display: grid;
  gap: 14px;
}

.ocr-document-preview {
  overflow: hidden;
  min-height: 280px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f8fafc;
}

.ocr-document-preview img,
.ocr-document-preview iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  object-fit: contain;
  background: #f8fafc;
}

.ocr-preview-fallback {
  display: grid;
  min-height: 280px;
  place-items: center;
  padding: 28px;
  color: var(--muted);
  text-align: center;
}

.ocr-evidence-card {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}

.ocr-evidence-card h4 {
  margin: 0 0 9px;
  color: var(--ink);
  font-size: 12px;
}

.ocr-evidence-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.ocr-evidence-card mark {
  padding: 1px 3px;
  border-radius: 3px;
  color: #713f12;
  background: #fef08a;
}

.ocr-alternatives {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.ocr-alternatives span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: 10px;
  font-weight: 700;
}

.ocr-dropzone.is-dragging {
  border-color: var(--action-primary);
  background: color-mix(in srgb, var(--blue-soft) 65%, var(--white));
  transform: translateY(-1px);
}

.ocr-result-card {
  display: grid;
  gap: 14px;
  justify-items: center;
  padding: 34px 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  text-align: center;
}

.ocr-result-card h3,
.ocr-result-card p {
  margin: 0;
}

.ocr-result-card p {
  color: var(--muted);
}

@media (max-width: 1180px) {
  .ocr-review-grid {
    grid-template-columns: 1fr;
  }

  .ocr-evidence-panel {
    grid-template-columns: minmax(260px, .9fr) minmax(300px, 1.1fr);
  }
}

@media (max-width: 800px) {
  .access-mode-chip {
    max-width: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .quick-access-button span,
  .topbar-back-button span {
    display: none;
  }

  .quick-access-button,
  .topbar-back-button {
    min-width: 44px;
    padding: 0;
  }

  .ocr-queue-header {
    align-items: stretch;
    flex-direction: column;
  }

  .ocr-queue-actions > button,
  .ocr-result-actions > button {
    min-height: 44px;
    flex: 1;
  }

  .ocr-evidence-panel {
    grid-template-columns: 1fr;
  }

  .ocr-review-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .ocr-confidence-badge {
    align-self: flex-start;
  }

  .ocr-document-preview img,
  .ocr-document-preview iframe {
    height: 340px;
  }
}

@media (max-width: 560px) {
  .access-mode-chip {
    max-width: 92px;
    min-height: 34px;
    padding: 0 9px;
    font-size: 10px;
  }

  .ocr-queue-item {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 11px 13px;
  }

  .ocr-queue-status {
    grid-column: 2;
    justify-self: start;
  }

  .ocr-document-preview img,
  .ocr-document-preview iframe {
    height: 280px;
  }

  .toast {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Estados de carregamento compartilhados */
.global-request-status {
  position: fixed;
  top: 0;
  right: 0;
  left: 264px;
  z-index: 10040;
  height: 3px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease;
}

.global-request-status.visible {
  opacity: 1;
  visibility: visible;
}

.global-request-progress {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: rgba(37, 99, 235, .16);
}

.global-request-progress::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38%;
  border-radius: 999px;
  background: linear-gradient(90deg, #60a5fa, #2563eb, #60a5fa);
  animation: global-request-progress 1.15s ease-in-out infinite;
}

.global-request-label {
  position: absolute;
  top: 84px;
  right: 18px;
  padding: 7px 11px;
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 999px;
  color: #1d4ed8;
  background: rgba(239, 246, 255, .96);
  box-shadow: 0 8px 24px rgba(30, 64, 175, .12);
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.ui-loading-state {
  display: flex;
  min-height: 150px;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 28px 20px;
  color: var(--muted);
  text-align: left;
}

.ui-loading-state.compact {
  min-height: 82px;
  justify-content: flex-start;
  padding: 18px 12px;
}

.ui-loading-spinner,
.finance-loading::before {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 3px solid #dbeafe;
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: ui-loading-spin .75s linear infinite;
}

.ui-loading-copy strong,
.ui-loading-copy small {
  display: block;
}

.ui-loading-copy strong {
  color: var(--ink);
  font-size: 13px;
}

.ui-loading-copy small {
  max-width: 420px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.ui-error-state {
  display: grid;
  min-height: 150px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 26px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  color: var(--muted);
  background: #fffafa;
  text-align: left;
}

.ui-error-state.compact {
  min-height: 0;
  padding: 16px;
}

.ui-error-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 10px;
  color: #b91c1c;
  background: #fee2e2;
  font-size: 18px;
  font-weight: 800;
}

.ui-error-copy strong,
.ui-error-copy small {
  display: block;
}

.ui-error-copy strong {
  color: var(--ink);
  font-size: 13px;
}

.ui-error-copy small {
  max-width: 620px;
  margin-top: 5px;
  color: #7f1d1d;
  font-size: 11px;
  line-height: 1.5;
}

.ui-error-state .primary-button,
.ui-error-state .secondary-button {
  white-space: nowrap;
}

.ui-empty-state {
  display: grid;
  min-height: 180px;
  align-content: center;
  justify-items: center;
  gap: 10px;
  padding: 28px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  color: var(--muted);
  background: var(--canvas);
  text-align: center;
}

.ui-empty-state.compact {
  min-height: 0;
  padding: 20px;
}

.ui-empty-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 20px;
  font-weight: 800;
}

.ui-empty-state.success .ui-empty-icon {
  color: #166534;
  background: #dcfce7;
}

.ui-empty-copy strong,
.ui-empty-copy small {
  display: block;
}

.ui-empty-copy strong {
  color: var(--ink);
  font-size: 14px;
}

.ui-empty-copy small {
  max-width: 520px;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.ui-empty-state button {
  margin-top: 5px;
}

[data-theme="dark"] .ui-empty-state {
  border-color: #475569;
}

[data-theme="dark"] .ui-empty-icon {
  color: #bfdbfe;
  background: rgba(37, 99, 235, .22);
}

[data-theme="dark"] .ui-empty-state.success .ui-empty-icon {
  color: #bbf7d0;
  background: rgba(22, 101, 52, .28);
}

.confirmation-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10070;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  background: rgba(8, 23, 38, .62);
  backdrop-filter: blur(4px);
  transition: opacity .18s ease;
}

.confirmation-backdrop.visible {
  opacity: 1;
}

.confirmation-dialog {
  width: min(470px, 100%);
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 28px 80px rgba(3, 18, 32, .34);
  transform: translateY(10px) scale(.985);
  transition: transform .18s ease;
}

.confirmation-backdrop.visible .confirmation-dialog {
  transform: translateY(0) scale(1);
}

.confirmation-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 13px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 21px;
  font-weight: 800;
}

.confirmation-dialog.warning .confirmation-icon {
  color: #92400e;
  background: #fef3c7;
}

.confirmation-dialog.danger .confirmation-icon {
  color: #b91c1c;
  background: #fee2e2;
}

.confirmation-copy {
  display: grid;
  gap: 8px;
}

.confirmation-eyebrow {
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.confirmation-dialog.warning .confirmation-eyebrow {
  color: #b45309;
}

.confirmation-dialog.danger .confirmation-eyebrow {
  color: #dc2626;
}

.confirmation-copy h2 {
  margin: 0;
  color: var(--ink);
  font: 800 21px/1.25 "Manrope", sans-serif;
}

.confirmation-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.confirmation-copy small {
  display: block;
  margin-top: 4px;
  padding: 11px 12px;
  border-radius: 9px;
  color: #475569;
  background: var(--canvas);
  font-size: 12px;
  line-height: 1.5;
}

.confirmation-summary {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: 6px 0 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--line);
}

.confirmation-summary > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 12px;
  background: var(--white);
}

.confirmation-summary dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.confirmation-summary dd {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
}

.confirmation-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}

.confirmation-actions button {
  min-width: 118px;
}

.form-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  background: rgba(8, 23, 38, .64);
  backdrop-filter: blur(4px);
  transition: opacity .18s ease;
}

.form-dialog-backdrop.visible {
  opacity: 1;
}

.form-dialog {
  width: min(560px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 28px 80px rgba(3, 18, 32, .36);
  transform: translateY(10px) scale(.985);
  transition: transform .18s ease;
}

.form-dialog-backdrop.visible .form-dialog {
  transform: translateY(0) scale(1);
}

.form-dialog > header {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 22px;
}

.form-dialog-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 12px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 20px;
  font-weight: 800;
}

.form-dialog h2 {
  margin: 1px 0 0;
  color: var(--ink);
  font: 800 20px/1.25 "Manrope", sans-serif;
}

.form-dialog header p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.form-dialog-fields {
  display: grid;
  gap: 14px;
}

.form-dialog-field {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.form-dialog-field input,
.form-dialog-field textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  color: var(--ink);
  background: var(--white);
  font: 500 13px "Manrope", sans-serif;
  box-sizing: border-box;
}

.form-dialog-field textarea {
  min-height: 94px;
  resize: vertical;
}

.form-dialog-field input:focus,
.form-dialog-field textarea:focus {
  border-color: #7da5eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.form-dialog-field input[aria-invalid="true"],
.form-dialog-field textarea[aria-invalid="true"] {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .1);
}

.form-dialog-field small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
}

.form-dialog-error {
  margin: 14px 0 0;
  padding: 10px 11px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #b91c1c;
  background: #fef2f2;
  font-size: 11px;
  font-weight: 700;
}

.form-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.form-dialog footer button {
  min-width: 120px;
}

[data-theme="dark"] .form-dialog-icon {
  color: #bfdbfe;
  background: rgba(37, 99, 235, .24);
}

[data-theme="dark"] .form-dialog-error {
  border-color: rgba(248, 113, 113, .35);
  color: #fecaca;
  background: rgba(127, 29, 29, .25);
}

.upload-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 2px 0 15px;
}

.upload-stepper span {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted);
  background: var(--canvas);
  font-size: 11px;
  font-weight: 700;
}

.upload-stepper span b {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 999px;
  color: var(--muted);
  background: var(--white);
  font-size: 10px;
}

.upload-stepper span.active {
  border-color: #93c5fd;
  color: #1d4ed8;
  background: #eff6ff;
}

.upload-stepper span.active b {
  color: #ffffff;
  background: #2563eb;
}

input[type="file"]:not([hidden]) {
  width: 100%;
  min-height: 48px;
  padding: 6px;
  border: 1px dashed #93c5fd;
  border-radius: 10px;
  color: var(--muted);
  background: var(--canvas);
  font: 600 12px "Manrope", sans-serif;
}

input[type="file"]:not([hidden])::file-selector-button {
  min-height: 34px;
  margin-right: 10px;
  padding: 0 13px;
  border: 0;
  border-radius: 8px;
  color: #ffffff;
  background: #2563eb;
  font: 800 12px "Manrope", sans-serif;
  cursor: pointer;
}

.file-input-summary {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.file-input-summary[data-state="ready"] {
  color: #15803d;
  font-weight: 700;
}

[data-theme="dark"] .file-input-summary[data-state="ready"] {
  color: #86efac;
}

#inbox-dropzone.dragging,
#fin-ocr-dropzone.dragging {
  border-color: #10b981 !important;
  background: rgba(16, 185, 129, .08) !important;
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, .12);
}

[data-theme="dark"] .confirmation-icon {
  color: #bfdbfe;
  background: rgba(37, 99, 235, .22);
}

[data-theme="dark"] .confirmation-dialog.warning .confirmation-icon {
  color: #fde68a;
  background: rgba(180, 83, 9, .24);
}

[data-theme="dark"] .confirmation-dialog.danger .confirmation-icon {
  color: #fecaca;
  background: rgba(220, 38, 38, .22);
}

[data-theme="dark"] .confirmation-copy small {
  color: #cbd5e1;
}

[data-theme="dark"] .upload-stepper span.active {
  border-color: #3b82f6;
  color: #bfdbfe;
  background: rgba(37, 99, 235, .2);
}

[data-theme="dark"] input[type="file"]:not([hidden]) {
  border-color: #3b82f6;
}

.finance-loading {
  align-content: center;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.finance-loading::before {
  content: "";
}

@keyframes global-request-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(290%); }
}

@keyframes ui-loading-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 800px) {
  .global-request-status {
    left: 0;
  }

  .global-request-label {
    top: 72px;
    right: 10px;
  }

  .ui-loading-state {
    min-height: 120px;
    padding: 24px 16px;
  }

  .ui-error-state,
  .ui-error-state.compact {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 18px 16px;
  }

  .ui-error-state .primary-button,
  .ui-error-state .secondary-button {
    width: 100%;
    grid-column: 1 / -1;
    justify-content: center;
  }

  .ui-empty-state {
    min-height: 150px;
    padding: 24px 16px;
  }

  .ui-empty-state button {
    width: 100%;
  }

  .confirmation-backdrop {
    align-items: end;
    padding: 10px;
  }

  .confirmation-dialog {
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    padding: 22px 18px 18px;
    border-radius: 16px 16px 11px 11px;
  }

  .confirmation-summary > div {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .upload-stepper {
    grid-template-columns: 1fr;
  }

  .upload-stepper span {
    min-height: 34px;
  }

  .confirmation-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .confirmation-actions button {
    width: 100%;
  }

  .confirmation-actions [data-confirmation-accept] {
    order: -1;
  }

  .form-dialog-backdrop {
    align-items: end;
    padding: 10px;
  }

  .form-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    padding: 22px 18px 18px;
    border-radius: 16px 16px 11px 11px;
  }

  .form-dialog > header {
    margin-bottom: 18px;
  }

  .form-dialog footer {
    display: grid;
    grid-template-columns: 1fr;
  }

  .form-dialog footer button {
    width: 100%;
    min-height: 44px;
  }

  .form-dialog footer .primary-button {
    order: -1;
  }

  .file-list-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px 12px;
  }

  .file-action-group {
    grid-column: 1 / -1;
    width: 100%;
  }

  .file-action-primary {
    flex: 1;
    min-height: 42px;
  }

  .file-action-more > summary {
    width: 44px;
    min-height: 42px;
  }

  .file-action-popover {
    width: min(250px, calc(100vw - 48px));
  }

  .finance-file-actions-column {
    width: 130px;
  }

  .active-filter-summary {
    align-items: stretch;
    flex-direction: column;
    margin-top: 10px;
    padding: 11px;
  }

  .active-filter-result {
    flex-direction: row;
    justify-content: space-between;
  }

  .active-filter-chips {
    width: 100%;
    padding-bottom: 3px;
  }

  .active-filter-summary > .text-button {
    width: 100%;
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
  }
}

/* Presets de Período Rápidos */
.fleet-preset-filters {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding: 10px 14px;
  background: var(--surface-2, #f8fafc);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 10px;
}

.preset-btn {
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 6px;
  background: var(--surface-1, #ffffff);
  border: 1px solid var(--border-color, #cbd5e1);
  color: var(--ink, #334155);
  cursor: pointer;
  transition: all 0.15s ease;
}

.preset-btn:hover {
  background: var(--primary-light, #eff6ff);
  color: var(--primary, #2563eb);
  border-color: var(--primary, #2563eb);
}

.preset-btn.active {
  background: var(--primary, #2563eb) !important;
  color: #ffffff !important;
  border-color: var(--primary, #2563eb) !important;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3);
}

/* Modo Compacto EXCLUSIVO para Celular (< 768px) */
.mobile-dense-toggle {
  display: none;
}

@media (max-width: 768px) {
  .mobile-dense-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 8px;
    background: var(--primary-light, #eff6ff);
    border: 1px solid var(--primary, #2563eb);
    color: var(--primary, #2563eb);
    cursor: pointer;
    margin-bottom: 12px;
    transition: all 0.15s ease;
  }

  .mobile-dense-toggle:active {
    transform: scale(0.97);
  }

  body.mobile-dense-view table th,
  body.mobile-dense-view table td {
    padding: 5px 6px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  body.mobile-dense-view .content-card {
    padding: 10px 12px !important;
  }

  body.mobile-dense-view .badge {
    padding: 2px 6px !important;
    font-size: 10px !important;
  }
}

/* Scanner & Digitalizador RH Responsivo */
.rh-scanner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

.scanner-auto-clean-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface-2, #f0fdf4);
  border: 1px solid #10b981;
  padding: 10px 14px;
  border-radius: 8px;
  margin-bottom: 16px;
  color: var(--ink, #065f46);
}

@media (max-width: 768px) {
  .rh-scanner-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Pessoas: filtros, paginação, sincronização e perfil rápido */
.people-header-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.people-sync-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 12px 16px; border: 1px solid #cfe3d6; border-radius: 10px; background: var(--green-soft); }
.people-sync-bar > div { display: grid; grid-template-columns: auto auto; align-items: center; column-gap: 8px; row-gap: 2px; }
.people-sync-bar strong { font-size: 12px; }
.people-sync-bar small { grid-column: 2; color: var(--muted); font-size: 10px; }
.people-sync-bar.error { border-color: #f1c7c2; background: var(--red-soft); }
.people-sync-dot { width: 9px; height: 9px; border-radius: 50%; background: #22a35a; box-shadow: 0 0 0 4px rgba(34, 163, 90, .12); }
.people-sync-bar.error .people-sync-dot { background: var(--red); box-shadow: 0 0 0 4px rgba(194, 65, 58, .12); }
.people-toolbar { gap: 14px; }
.people-filter-chips { display: flex; gap: 8px; padding: 12px 20px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.people-filter-chip { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 32px; padding: 0 10px; color: var(--muted); background: var(--white); border: 1px solid var(--line); border-radius: 999px; font-size: 11px; font-weight: 700; }
.people-filter-chip strong { display: grid; min-width: 21px; height: 21px; padding: 0 5px; place-items: center; border-radius: 999px; color: var(--muted); background: var(--canvas); font-size: 9px; }
.people-filter-chip:hover { border-color: #9bb8ea; color: var(--blue); }
.people-filter-chip.active { color: #fff; background: var(--blue); border-color: var(--blue); }
.people-filter-chip.active strong { color: var(--blue); background: #fff; }
.people-bulk-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 20px; padding: 10px 12px; border: 1px solid #bed3f8; border-radius: 9px; background: var(--blue-soft); }
.people-bulk-bar > strong { color: #1e4fa8; font-size: 11px; }
.people-bulk-bar > div { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.people-bulk-bar button { min-height: 32px; padding: 0 10px; font-size: 10px; }
.people-select-cell { width: 48px !important; padding-left: 20px !important; padding-right: 8px !important; }
.people-checkbox { width: 16px; height: 16px; accent-color: var(--blue); cursor: pointer; }
.people-row-selected td { background: rgba(37, 99, 235, .055); }
.people-progress { display: flex; align-items: center; gap: 8px; min-width: 120px; }
.people-progress > div { flex: 1; height: 6px; overflow: hidden; border-radius: 999px; background: #e8edf2; }
.people-progress > div > span { display: block; height: 100%; border-radius: inherit; }
.people-progress small { width: 29px; color: var(--muted); font-size: 10px; }
.people-row-actions { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.people-row-actions .dropdown-menu { right: 0; top: 100%; }
.people-table-footer { align-items: center; gap: 15px; }
.people-pagination-controls { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.people-pagination-controls > label { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.people-pagination-controls .filter-select { height: 30px; }
.people-page-indicator { min-width: 90px; text-align: center; font-weight: 700; }
.page-number:disabled { opacity: .4; cursor: default; }

.people-skeleton { display: block; overflow: hidden; position: relative; border-radius: 6px; background: #e9eef4; }
.people-skeleton::after { position: absolute; inset: 0; content: ""; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: people-skeleton-shimmer 1.35s infinite; }
.people-skeleton-check { width: 16px; height: 16px; }
.people-skeleton-avatar { width: 36px; height: 36px; border-radius: 50%; }
.people-skeleton-name { width: 145px; height: 12px; margin-bottom: 7px; }
.people-skeleton-short { width: 72px; height: 9px; }
.people-skeleton-medium { width: 110px; height: 11px; }
.people-skeleton-pill { width: 66px; height: 24px; border-radius: 999px; }
.people-skeleton-progress { width: 125px; height: 7px; }
@keyframes people-skeleton-shimmer { 100% { transform: translateX(100%); } }

.people-drawer-backdrop { position: fixed; inset: 0; z-index: 109; background: rgba(12, 34, 56, .38); backdrop-filter: blur(1px); }
.people-drawer { position: fixed; z-index: 110; inset: 0 0 0 auto; width: min(440px, 92vw); display: flex; flex-direction: column; color: var(--ink); background: var(--white); border-left: 1px solid var(--line); box-shadow: -18px 0 50px rgba(12, 34, 56, .18); animation: people-drawer-in .2s ease-out; }
.people-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px; border-bottom: 1px solid var(--line); }
.people-drawer h2 { margin: 0; font: 800 17px/1.25 "Manrope", sans-serif; }
.people-drawer-close { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; color: var(--muted); background: var(--canvas); border: 1px solid var(--line); border-radius: 8px; font-size: 23px; line-height: 1; }
.people-drawer-body { flex: 1; overflow-y: auto; padding: 22px; }
.people-drawer-status { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; }
.people-drawer-progress { height: 7px; margin: 10px 0 22px; overflow: hidden; border-radius: 999px; background: var(--line); }
.people-drawer-progress > span { display: block; height: 100%; background: var(--green); }
.people-drawer dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.people-drawer dl > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--canvas); }
.people-drawer dt { color: var(--muted); font-size: 10px; }
.people-drawer dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--ink); font-size: 12px; font-weight: 700; }
.people-drawer-callout { display: grid; gap: 8px; margin-top: 18px; padding: 16px; border: 1px solid #c9dcfb; border-radius: 10px; background: var(--blue-soft); }
.people-drawer-callout strong { font-size: 12px; }
.people-drawer-callout span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.people-drawer-callout button { justify-self: start; margin-top: 4px; }
.people-drawer > footer { display: flex; gap: 10px; justify-content: flex-end; padding: 16px 22px; border-top: 1px solid var(--line); background: var(--white); }
@keyframes people-drawer-in { from { transform: translateX(24px); opacity: 0; } }

[data-theme="dark"] .people-sync-bar { border-color: rgba(34, 197, 94, .28); background: rgba(21, 128, 61, .14); }
[data-theme="dark"] .people-sync-bar.error { border-color: rgba(248, 113, 113, .3); background: rgba(194, 65, 58, .15); }
[data-theme="dark"] .people-filter-chip,
[data-theme="dark"] .people-drawer,
[data-theme="dark"] .people-drawer > footer { background: var(--white); }
[data-theme="dark"] .people-bulk-bar,
[data-theme="dark"] .people-drawer-callout { background: rgba(37, 99, 235, .12); border-color: rgba(96, 165, 250, .3); }
[data-theme="dark"] .people-drawer dl > div { background: var(--canvas); }
[data-theme="dark"] .people-skeleton { background: #2b3a4f; }
[data-theme="dark"] .people-skeleton::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent); }

@media (max-width: 768px) {
  .people-header-actions { width: 100%; }
  .people-header-actions button { flex: 1; min-width: 135px; }
  .people-sync-bar { align-items: stretch; flex-direction: column; }
  .people-sync-bar button { width: 100%; }
  .people-toolbar { align-items: stretch; flex-direction: column; }
  .people-toolbar .search-box { max-width: none; }
  .people-filter-chips { padding-inline: 14px; }
  .people-bulk-bar { align-items: stretch; flex-direction: column; margin-inline: 12px; }
  .people-bulk-bar > div { display: grid; grid-template-columns: 1fr 1fr; }
  .people-bulk-bar .text-button { grid-column: 1 / -1; }
  .people-table thead { display: none; }
  .people-table .people-select-cell { position: absolute; top: 12px; right: 12px; width: auto !important; padding: 0 !important; }
  .people-table tbody tr { position: relative; padding-right: 42px; }
  .people-table td[data-label="Selecionar"]::before { display: none; }
  .people-table td[data-label="Ações"] { padding-top: 10px !important; }
  .people-table .people-row-actions { justify-content: stretch; }
  .people-table .people-row-actions .row-action { flex: 1; min-height: 38px; text-align: center; border: 1px solid var(--line); border-radius: 7px; }
  .people-progress { min-width: 0; }
  .people-table-footer { align-items: stretch; flex-direction: column; }
  .people-pagination-controls { align-items: stretch; flex-direction: column; gap: 10px; }
  .people-pagination-controls > label { justify-content: space-between; }
  .people-pagination-controls .pagination { justify-content: space-between; }
  .people-pagination-controls .page-number { width: 40px; height: 38px; }
  .people-drawer { width: 100%; }
  .people-drawer > header, .people-drawer-body, .people-drawer > footer { padding-inline: 16px; }
  .people-drawer dl { grid-template-columns: 1fr; }
  .people-drawer > footer button { flex: 1; }
}

/* Pesquisa de documentos organizada pelas pastas reais do OneDrive */
.document-search-folder-results { min-height: 220px; }
.document-search-results-header { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 13px 20px; color: var(--ink); background: var(--canvas); border-bottom: 1px solid var(--line); font-size: 12px; }
.document-search-results-header > span { min-width: 0; overflow-wrap: anywhere; }
.document-search-results-header > small { color: var(--muted); white-space: nowrap; }
.document-search-folder-grid { padding: 20px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.document-search-folder-card { display: flex; min-height: 190px; flex-direction: column; align-items: center; justify-content: center; }
.document-search-folder-icon { display: block; margin-bottom: 9px; font-size: 30px !important; }
.document-search-folder-card > small { display: -webkit-box; min-height: 30px; margin: 2px 0 9px; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.document-search-folder-card .folder-card-count { display: inline-flex; align-items: center; min-height: 23px; padding: 3px 8px; color: #1d4ed8; background: var(--blue-soft); border-radius: 999px; font-size: 9px; font-weight: 700; }
.document-search-folder-card .folder-card-action { margin-top: 11px; }
.folder-status-badge { display: inline-flex; align-items: center; min-height: 22px; margin-bottom: 8px; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .02em; }
.folder-status-badge.active { color: #166534; background: #dcfce7; }
.folder-status-badge.dismissed { color: #991b1b; background: #fee2e2; }
.folder-status-badge.temporary { color: #9a3412; background: #ffedd5; }
.folder-status-badge.admission { color: #1d4ed8; background: #dbeafe; }
.document-search-history { display: flex; align-items: center; gap: 7px; padding: 0 20px 10px; overflow-x: auto; color: var(--muted); scrollbar-width: thin; }
.document-search-history > span { flex: 0 0 auto; font-size: 10px; font-weight: 700; }
.document-search-history button { flex: 0 0 auto; max-width: 220px; min-height: 28px; padding: 4px 9px; overflow: hidden; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--white); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.document-search-history button:hover, .document-search-history button:focus-visible { border-color: #7aa5ee; background: var(--blue-soft); outline: none; }
.document-search-history .clear-history { color: var(--muted); background: transparent; }
.document-sync-status { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--muted); font-size: 9px; white-space: nowrap; }
.document-sync-status i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .12); }
.document-sync-status.syncing i { background: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); animation: document-sync-pulse 1s ease-in-out infinite; }
@keyframes document-sync-pulse { 50% { opacity: .35; transform: scale(.75); } }
.document-search-limit { padding: 11px 20px; color: var(--muted); background: var(--canvas); border-top: 1px solid var(--line); text-align: center; font-size: 10px; }
.document-search-return { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 20px; background: var(--blue-soft); border-bottom: 1px solid #cbdcf8; }
.document-search-return span { color: var(--muted); font-size: 10px; }
[data-theme="dark"] .document-search-results-header,
[data-theme="dark"] .document-search-limit { background: var(--canvas); }
[data-theme="dark"] .document-search-return { background: rgba(37, 99, 235, .12); border-color: rgba(96, 165, 250, .28); }
[data-theme="dark"] .folder-status-badge.active { color: #86efac; background: rgba(22, 101, 52, .32); }
[data-theme="dark"] .folder-status-badge.dismissed { color: #fca5a5; background: rgba(153, 27, 27, .3); }
[data-theme="dark"] .folder-status-badge.temporary { color: #fdba74; background: rgba(154, 52, 18, .3); }
[data-theme="dark"] .folder-status-badge.admission { color: #93c5fd; background: rgba(29, 78, 216, .28); }

@media (max-width: 768px) {
  .document-search-results-header { grid-template-columns: 1fr auto; padding-inline: 14px; }
  .document-search-results-header > small { grid-column: 1; }
  .document-search-results-header > button { grid-column: 2; grid-row: 1 / span 2; }
  .document-search-folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
  .document-search-folder-card { min-height: 175px; padding: 13px 8px; }
  .document-search-return { align-items: stretch; flex-direction: column; padding-inline: 14px; }
  .document-search-return button { width: 100%; }
  .document-search-history { padding-inline: 14px; }
  .document-results-summary { align-items: flex-start; gap: 8px; flex-wrap: wrap; }
  .document-sync-status { width: 100%; margin-left: 0; order: 3; }
}

@media (max-width: 430px) {
  .document-search-folder-grid { grid-template-columns: 1fr; }
  .document-search-folder-card { min-height: 160px; }
}

/* Document workflow: queue, saved filters, pending center and history */
.upload-queue-panel { position: fixed; z-index: 180; top: 82px; right: 20px; width: min(410px, calc(100vw - 32px)); overflow: hidden; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: var(--white); box-shadow: 0 20px 45px rgba(15, 23, 42, .22); }
.upload-queue-panel[hidden] { display: none; }
.upload-queue-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 58px; padding: 8px 10px 8px 13px; border-bottom: 1px solid var(--line); }
.upload-queue-header > button { display: flex; align-items: center; min-width: 0; flex: 1; gap: 10px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.upload-queue-header > button > span:first-child { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: #1d4ed8; background: #dbeafe; font-size: 17px; font-weight: 800; }
.upload-queue-header strong, .upload-queue-header small { display: block; }
.upload-queue-header strong { font-size: 12px; }
.upload-queue-header small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.upload-queue-header > div { display: flex; align-items: center; gap: 4px; }
.upload-queue-collapse { width: 30px; height: 30px; border: 0; border-radius: 7px; color: var(--muted); background: var(--canvas); cursor: pointer; }
.upload-queue-panel.collapsed .upload-queue-header { border-bottom: 0; }
.upload-queue-list { display: grid; max-height: 360px; overflow: auto; }
.upload-queue-item { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.upload-queue-item:last-child { border-bottom: 0; }
.upload-queue-copy { min-width: 0; }
.upload-queue-copy strong, .upload-queue-copy small, .upload-queue-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upload-queue-copy strong { font-size: 11px; }
.upload-queue-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.upload-queue-copy em { margin-top: 4px; color: var(--muted); font-size: 9px; font-style: normal; }
.upload-queue-item.error .upload-queue-copy em { color: #b91c1c; }
.upload-queue-item.success .upload-queue-copy em { color: #15803d; }
.upload-queue-progress { height: 4px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: var(--gray-200); }
.upload-queue-progress span { display: block; height: 100%; border-radius: inherit; background: #2563eb; transition: width .25s ease; }
.upload-queue-item.success .upload-queue-progress span { background: #22c55e; }
.upload-queue-item.error .upload-queue-progress span { background: #ef4444; }
.upload-queue-actions { display: grid; justify-items: end; gap: 4px; }
.upload-queue-actions button { min-height: 26px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: var(--white); font-size: 9px; cursor: pointer; }

.document-saved-filters { display: flex; align-items: center; gap: 7px; padding: 0 20px 10px; overflow-x: auto; color: var(--muted); scrollbar-width: thin; }
.document-saved-filters > span:first-child { flex: 0 0 auto; font-size: 10px; font-weight: 700; }
.saved-filter-chip { display: inline-flex; flex: 0 0 auto; overflow: hidden; border: 1px solid #bfdbfe; border-radius: 999px; background: #eff6ff; }
.saved-filter-chip button { min-height: 28px; padding: 4px 9px; border: 0; color: #1d4ed8; background: transparent; font-size: 9px; cursor: pointer; }
.saved-filter-chip button:first-child { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saved-filter-chip button:last-child { padding-left: 5px; color: #64748b; }
.saved-filter-chip button:hover, .saved-filter-chip button:focus-visible { background: #dbeafe; outline: none; }

.document-density-compact .data-table th { height: 32px; font-size: 9px; }
.document-density-compact .data-table td { padding-top: 7px; padding-bottom: 7px; font-size: 10px; }
.document-density-compact .document-name-cell .file-icon { width: 29px; height: 31px; }
.document-density-compact .document-name-copy strong { font-size: 10px; }
.document-density-compact .document-name-copy small { font-size: 8px; }
.document-density-compact .document-search-folder-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 9px; }
.document-density-compact .folder-card { min-height: 130px; padding: 11px 8px; }

.document-pending-center { margin: 0 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: 0 4px 12px rgba(20,45,70,.025); }
.document-pending-summary { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto auto; align-items: center; gap: 11px; width: 100%; min-height: 62px; padding: 10px 16px; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.document-pending-summary:hover { background: var(--canvas); }
.document-pending-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #15803d; background: #dcfce7; font-weight: 800; }
.document-pending-summary strong, .document-pending-summary small { display: block; }
.document-pending-summary strong { font-size: 13px; }
.document-pending-summary small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.document-pending-count { display: grid; min-width: 28px; height: 28px; padding: 0 7px; place-items: center; border-radius: 99px; color: #15803d; background: #dcfce7; font-size: 10px; font-weight: 800; }
.document-pending-count.has-items { color: #9a3412; background: #ffedd5; }
.document-pending-body { padding: 0 16px 16px; border-top: 1px solid var(--line); }
.document-pending-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding-top: 14px; }
.document-pending-metrics button { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--canvas); text-align: left; cursor: pointer; }
.document-pending-metrics button:hover { border-color: #93c5fd; background: #eff6ff; }
.document-pending-metrics strong, .document-pending-metrics span, .document-pending-metrics small { display: block; }
.document-pending-metrics strong { font: 800 20px "Manrope", sans-serif; }
.document-pending-metrics span { margin-top: 3px; font-size: 10px; font-weight: 800; }
.document-pending-metrics small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.document-duplicate-list { margin-top: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.document-duplicate-list > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: var(--canvas); }
.document-duplicate-list header strong, .document-duplicate-list header small { display: block; }
.document-duplicate-list header strong { font-size: 11px; }
.document-duplicate-list header small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.document-duplicate-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 10px 13px; border: 0; border-top: 1px solid var(--line); color: var(--ink); background: var(--white); text-align: left; cursor: pointer; }
.document-duplicate-row:hover { background: #f8fbff; }
.document-duplicate-row strong, .document-duplicate-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-duplicate-row strong { font-size: 10px; }
.document-duplicate-row small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.document-duplicate-row b { color: #2563eb; font-size: 9px; }

.document-history-modal { width: min(670px, 100%); max-height: calc(100vh - 40px); overflow: auto; }
.document-history-modal > p span { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.document-history-timeline { display: grid; margin-top: 18px; }
.document-history-timeline article { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; padding-bottom: 17px; }
.document-history-timeline article::before { position: absolute; top: 13px; bottom: 0; left: 5px; width: 2px; background: var(--line); content: ""; }
.document-history-timeline article:last-child::before { display: none; }
.document-history-timeline article > span { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 2px; border: 3px solid #dbeafe; border-radius: 50%; background: #2563eb; }
.document-history-timeline strong, .document-history-timeline small { display: block; }
.document-history-timeline strong { font-size: 11px; }
.document-history-timeline small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.document-history-timeline p { margin: 6px 0 0; color: #475569; font-size: 10px; overflow-wrap: anywhere; }
.document-context-menu { position: fixed; z-index: 210; display: grid; width: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); box-shadow: 0 18px 45px rgba(15,23,42,.25); }
.document-context-menu header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; border-bottom: 1px solid var(--line); background: var(--canvas); }
.document-context-menu header strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.document-context-menu header button { width: 25px; height: 25px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; cursor: pointer; }
.document-context-menu > button { min-height: 35px; padding: 7px 12px; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: left; font-size: 10px; cursor: pointer; }
.document-context-menu > button:last-child { border-bottom: 0; }
.document-context-menu > button:hover, .document-context-menu > button:focus-visible { background: #eff6ff; outline: none; }
.document-context-menu > button.danger { color: #b91c1c; }

[data-theme="dark"] .saved-filter-chip { border-color: rgba(96,165,250,.35); background: rgba(37,99,235,.15); }
[data-theme="dark"] .saved-filter-chip button { color: #93c5fd; }
[data-theme="dark"] .document-pending-icon { color: #86efac; background: rgba(22,101,52,.3); }
[data-theme="dark"] .document-pending-count { color: #86efac; background: rgba(22,101,52,.3); }
[data-theme="dark"] .document-pending-count.has-items { color: #fdba74; background: rgba(154,52,18,.3); }
[data-theme="dark"] .document-pending-metrics button:hover, [data-theme="dark"] .document-duplicate-row:hover { background: rgba(37,99,235,.12); }

@media (max-width: 760px) {
  .upload-queue-panel { top: 70px; right: 12px; left: 12px; width: auto; }
  .document-saved-filters { padding-inline: 14px; }
  .document-pending-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-pending-center { margin-bottom: 12px; }
  .document-history-modal { min-height: min(580px, calc(100vh - 20px)); }
}

@media (max-width: 430px) {
  .document-pending-metrics { grid-template-columns: 1fr; }
  .document-pending-summary { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .document-pending-summary > span:last-child { display: none; }
  .document-duplicate-row { grid-template-columns: 34px minmax(0, 1fr); }
  .document-duplicate-row b { grid-column: 2; }
}

/* ===== Estoque de EPI e Uniforme: linhas com colunas alinhadas ===== */
.inventory-row {
  display: grid;
  /* A ultima coluna precisa caber os quatro botoes: 40+92+94+60 e tres vaos de
     8px. Com folga menor eles transbordavam por cima da coluna Valor Total. */
  grid-template-columns: minmax(0, 1fr) 68px 84px 92px 100px 310px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.inventory-row:last-child { border-bottom: 0; }

.inventory-row-name strong { display: block; font-size: 15px; line-height: 1.3; }
.inventory-row-name span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }

.inventory-row-metric { text-align: right; }
.inventory-row-metric span { display: block; color: var(--muted); font-size: 12px; }
.inventory-row-metric strong { display: block; margin-top: 2px; font-size: 15px; }
.inventory-row-metric.is-highlight strong { font-size: 18px; }
.inventory-row-metric.is-alert strong { color: var(--red); }
.inventory-row-metric.is-money strong { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.inventory-row-actions { display: flex; justify-content: flex-end; gap: 8px; min-width: 0; }
.inventory-row-actions button { flex: none; min-height: 34px; padding: 0; font-size: 13px; }
.inventory-row-actions .inventory-edit { width: 40px; }
.inventory-row-actions .inventory-assign { width: 92px; }
.inventory-row-actions .inventory-history { width: 94px; }
.inventory-row-actions .inventory-delete { width: 60px; }

[data-theme="dark"] .inventory-row { border-bottom-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .inventory-row-name span,
[data-theme="dark"] .inventory-row-metric span { color: var(--muted); }

.inventory-page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.inventory-history-content { max-height: 60vh; overflow-y: auto; margin-top: 16px; }
.inventory-report-modal { width: min(1120px, calc(100vw - 40px)); max-width: 1120px !important; max-height: calc(100vh - 40px); overflow: hidden; padding: 0; background: var(--white); color: var(--ink); }
.inventory-report-modal .modal-close { z-index: 2; top: 17px; right: 20px; }
.inventory-report-modal .modal-title { margin: 0; padding: 24px 64px 18px 30px; border-bottom: 1px solid var(--line); font-size: 22px; }
.inventory-report-content { max-height: calc(100vh - 108px); overflow-y: auto; margin: 0; padding: 20px 30px 28px; }
.inventory-report-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.inventory-report-intro > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.inventory-report-intro > div > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); font-size: 18px; }
.inventory-report-intro strong, .inventory-report-intro small { display: block; }
.inventory-report-intro strong { font-size: 14px; }
.inventory-report-intro small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.inventory-report-export { flex: none; }
.inventory-report-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(135px, .45fr)) auto; gap: 10px; align-items: end; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.inventory-report-field { display: flex; flex-direction: column; gap: 5px; }
.inventory-report-field label { color: var(--muted); font-size: 12px; font-weight: 700; }
.inventory-report-field input,
.inventory-report-field select { min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); }
.inventory-report-clear { align-self: center; min-height: 40px; white-space: nowrap; }
.inventory-report-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.inventory-report-summary > div { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.inventory-report-summary > div > div { min-width: 0; }
.inventory-report-summary > div > div > span { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.inventory-report-summary strong { display: block; margin-top: 3px; font-size: 22px; }
.inventory-report-summary-icon { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 10px; font-size: 17px; }
.inventory-report-summary-icon.blue { color: #2563eb; background: #eaf2ff; }
.inventory-report-summary-icon.violet { color: #7c3aed; background: #f1eafe; }
.inventory-report-summary-icon.amber { color: #b66b0a; background: #fff4d9; }
.inventory-report-summary-icon.green { color: #168351; background: #e7f7ee; }
.inventory-report-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.inventory-report-result-head strong { font-size: 15px; }
.inventory-report-result-head span { color: var(--muted); font-size: 12px; }
.inventory-report-table-wrap { max-height: 48vh; overflow-x: hidden; overflow-y: auto; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.inventory-report-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.inventory-report-table th:nth-child(1) { width: 15%; }
.inventory-report-table th:nth-child(2) { width: 24%; }
.inventory-report-table th:nth-child(3) { width: 18%; }
.inventory-report-table th:nth-child(4) { width: 8%; }
.inventory-report-table th:nth-child(5) { width: 18%; }
.inventory-report-table th:nth-child(6) { width: 17%; }
.inventory-report-table th { position: sticky; top: 0; z-index: 1; padding: 11px 12px; background: var(--canvas); color: var(--muted); text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.inventory-report-table td { padding: 13px 12px; border-top: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; line-height: 1.35; }
.inventory-report-table tbody tr:hover { background: var(--canvas); }
.inventory-report-table td small { display: block; margin-top: 3px; color: var(--muted); }
.inventory-report-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.inventory-report-status.active { background: var(--amber-soft); color: var(--amber); }
.inventory-report-status.returned { background: var(--green-soft); color: var(--green); }
.inventory-report-status.lost { background: var(--red-soft); color: var(--red); }
.inventory-report-empty { padding: 28px; color: var(--muted); text-align: center; }
[data-theme="dark"] .inventory-report-field input,
[data-theme="dark"] .inventory-report-field select { background: var(--white); }

.dismissal-sync-banner,
.dismissal-folder-banner { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding: 14px 16px; border: 1px solid #bfdbfe; border-radius: 11px; background: var(--blue-soft); }
.dismissal-sync-banner > .dismissal-sync-icon,
.dismissal-folder-banner > div > span { color: var(--blue); font-size: 22px; }
.dismissal-sync-banner > div:not(.dismissal-person-copy),
.dismissal-folder-banner > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dismissal-sync-banner > div > strong,
.dismissal-folder-banner strong { display: block; font-size: 13px; }
.dismissal-sync-banner > div > small,
.dismissal-folder-banner small,
.dismissal-folder-banner p { display: block; margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.dismissal-sync-banner > div { flex: 1; display: block !important; }
.dismissal-readonly-badge,
.dismissal-total-badge { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.dismissal-readonly-badge { padding: 6px 10px; color: #2459b8; background: rgba(255, 255, 255, .72); }
.dismissal-total-badge { padding: 6px 10px; color: var(--blue); background: var(--blue-soft); }
.dismissal-folder-banner > small { flex: none; text-align: right; }
.dismissal-onedrive-info { color: var(--blue) !important; font-weight: 700; }
.dismissal-process-list { padding: 4px 20px 14px; }
.dismissal-process-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 15px 22px; min-width: 0; padding: 20px 0; border-bottom: 1px solid var(--line); }
.dismissal-process-row:last-child { border-bottom: 0; }
.dismissal-person { display: flex; align-items: center; gap: 13px; min-width: 0; }
.dismissal-person .avatar { width: 42px; height: 42px; }
.dismissal-person-copy { min-width: 0; }
.dismissal-person-copy > strong { display: block; overflow: hidden; color: var(--ink); font-size: 13px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.dismissal-source-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; margin-top: 7px; color: var(--muted); font-size: 10px; }
.dismissal-source-meta > span:not(.dismissal-source-badge)::before { content: "•"; margin-right: 8px; color: #a3b1c2; }
.dismissal-source-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 7px; border-radius: 999px; color: #225fc7; background: var(--blue-soft); font-weight: 800; }
.dismissal-progress { grid-column: 1; min-width: 0; }
.dismissal-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dismissal-progress-head span { color: var(--muted); font-size: 10px; font-weight: 700; }
.dismissal-progress-head strong { color: var(--ink); font-size: 12px; }
.dismissal-progress .progress-bar { height: 7px; margin: 7px 0 6px; }
.dismissal-progress small { display: block; color: var(--muted); font-size: 10px; }
.dismissal-row-status { display: flex; grid-column: 2; grid-row: 2; justify-content: flex-end; }
.dismissal-process-row > .secondary-button { grid-column: 2; grid-row: 1; min-width: 124px; white-space: nowrap; }
[data-theme="dark"] .dismissal-readonly-badge { color: #bfdbfe; background: rgba(15, 23, 42, .55); }

@media (max-width: 900px) {
  .dismissal-sync-banner,
  .dismissal-folder-banner { align-items: flex-start; flex-direction: column; }
  .dismissal-readonly-badge { margin-left: 36px; }
  .dismissal-folder-banner > small { text-align: left; }
  .dismissal-process-row { gap: 15px 18px; }
  .inventory-page-actions { width: 100%; justify-content: stretch; }
  .inventory-page-actions button { flex: 1 1 150px; }
  .inventory-report-modal { width: min(760px, calc(100vw - 20px)); max-height: calc(100vh - 20px); }
  .inventory-report-modal .modal-title { padding: 20px 58px 16px 20px; }
  .inventory-report-content { max-height: calc(100vh - 82px); padding: 18px 20px 24px; }
  .inventory-report-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
  .inventory-report-search,
  .inventory-report-clear { grid-column: 1 / -1; }
  .inventory-report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-report-table thead { display: none; }
  .inventory-report-table,
  .inventory-report-table tbody { display: block; width: 100%; }
  .inventory-report-table-wrap { max-height: none; overflow: visible; border: 0; border-radius: 0; }
  .inventory-report-table tr { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 16px; margin-bottom: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
  .inventory-report-table td { display: block; width: auto; min-width: 0; padding: 0; border: 0; }
  .inventory-report-table td::before { display: block; content: attr(data-label); margin-bottom: 4px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .inventory-report-table .inventory-report-item,
  .inventory-report-table .inventory-report-person,
  .inventory-report-table .inventory-report-owner,
  .inventory-report-table .inventory-report-state { grid-column: 1 / -1; }
  .inventory-report-table .inventory-report-item strong { font-size: 14px; }
  .inventory-report-table td[colspan] { display: block; }
  .inventory-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .inventory-row-name { grid-column: 1 / -1; }
  .inventory-row-metric { text-align: left; }
  .inventory-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 430px) {
  .dismissal-process-list { padding: 4px 14px 12px; }
  .dismissal-process-row { grid-template-columns: 1fr; padding: 18px 0; }
  .dismissal-person,
  .dismissal-progress,
  .dismissal-row-status,
  .dismissal-process-row > .secondary-button { grid-column: 1; grid-row: auto; }
  .dismissal-row-status { justify-content: flex-start; }
  .dismissal-person-copy > strong { white-space: normal; }
  .dismissal-readonly-badge { margin-left: 0; }
  .inventory-report-intro { align-items: stretch; flex-direction: column; }
  .inventory-report-export { width: 100%; }
  .inventory-report-toolbar { grid-template-columns: 1fr; }
  .inventory-report-search,
  .inventory-report-clear { grid-column: auto; }
  .inventory-report-summary { gap: 8px; }
  .inventory-report-summary > div { gap: 8px; padding: 11px; }
  .inventory-report-summary-icon { flex-basis: 32px; width: 32px; height: 32px; }
  .inventory-report-summary strong { font-size: 19px; }
  .inventory-report-summary > div > div > span { white-space: normal; }
  .inventory-row-actions .inventory-assign,
  .inventory-row-actions .inventory-history,
  .inventory-row-actions .inventory-delete { width: auto; flex: 1; padding: 0 10px; }
}

/* ===== Estoque: painel de reposicao necessaria ===== */
.stock-alert {
  margin-bottom: 24px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  border-radius: 12px;
  background: var(--white);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.stock-alert-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.stock-alert-icon {
  flex: none;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--red-soft);
  font-size: 18px;
}

.stock-alert-title { flex: 1 1 auto; min-width: 0; }
.stock-alert-title strong { display: block; font-size: 14px; color: var(--ink); }
.stock-alert-title span { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }

.stock-alert-counts { flex: none; display: flex; flex-wrap: wrap; gap: 8px; }
.stock-count {
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2px;
  white-space: nowrap;
}
.stock-count.is-critical { color: var(--red); background: var(--red-soft); }
.stock-count.is-low { color: var(--amber); background: var(--amber-soft); }

.stock-alert-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 14px 18px;
  max-height: 216px;
  overflow-y: auto;
  list-style: none;
}

.stock-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--canvas);
}

.stock-chip-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  color: var(--ink);
}

.stock-chip-qty {
  flex: none;
  min-width: 26px;
  border-radius: 6px;
  padding: 2px 7px;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.stock-chip.is-critical { border-color: color-mix(in srgb, var(--red) 30%, var(--line)); }
.stock-chip.is-critical .stock-chip-qty { color: var(--red); background: var(--red-soft); }
.stock-chip.is-low .stock-chip-qty { color: var(--amber); background: var(--amber-soft); }

[data-theme="dark"] .stock-alert { border-color: rgba(255, 255, 255, .08); border-left-color: var(--red); }
[data-theme="dark"] .stock-alert-head { border-bottom-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .stock-chip { border-color: rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03); }
[data-theme="dark"] .stock-alert-icon,
[data-theme="dark"] .stock-count.is-critical,
[data-theme="dark"] .stock-chip.is-critical .stock-chip-qty { background: rgba(194, 65, 58, .18); }
[data-theme="dark"] .stock-count.is-low,
[data-theme="dark"] .stock-chip.is-low .stock-chip-qty { background: rgba(180, 83, 9, .2); }
[data-theme="dark"] .stock-count.is-critical { color: #fca5a5; }
[data-theme="dark"] .stock-count.is-low { color: #fcd34d; }
[data-theme="dark"] .stock-chip.is-critical .stock-chip-qty { color: #fca5a5; }
[data-theme="dark"] .stock-chip.is-low .stock-chip-qty { color: #fcd34d; }

@media (max-width: 700px) {
  .stock-alert-head { flex-wrap: wrap; }
  .stock-alert-counts { width: 100%; }
  .stock-alert-list { grid-template-columns: 1fr; max-height: 260px; }
}

/* ===== Visualizador de PDF (desenhado pela aplicacao, sem plugin do navegador) ===== */
.pdf-preview {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: #f1f5f9;
}

.pdf-preview-page {
  width: 100%;
  max-width: 900px;
  /* Num container flex em coluna os itens encolhem por padrao. Sem isto as paginas
     eram espremidas ate caber na altura da janela (12 paginas somavam 1253px em vez
     de ~15000px), os canvas transbordavam e se sobrepunham, e so uma pagina aparecia. */
  flex: 0 0 auto;
  /* Reserva altura antes de desenhar: sem isso as paginas nasceriam com altura zero,
     todas entrariam na area visivel ao mesmo tempo e seriam desenhadas de uma vez. */
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: var(--white);
  box-shadow: 0 4px 14px rgba(15, 42, 67, .12);
  color: var(--muted);
  font-size: 12px;
}

.pdf-preview-page.is-rendered { min-height: 0; }

.pdf-preview-canvas {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.pdf-preview-status {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 13px;
  background: var(--white);
}

[data-theme="dark"] .pdf-preview { background: #0f1720; }
[data-theme="dark"] .pdf-preview-page { background: #1a2430; }
[data-theme="dark"] .pdf-preview-status { background: transparent; }

/* ===== Registro da matinal ===== */
.matinal-lista-pessoas {
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--white);
}

.matinal-pessoa {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  font-size: 13px;
}

.matinal-pessoa:last-child { border-bottom: 0; }
.matinal-pessoa:hover { background: var(--blue-soft); }
.matinal-pessoa.is-ausente { background: var(--red-soft); }
.matinal-pessoa.is-ausente .matinal-pessoa-nome { color: var(--red); font-weight: 700; }
.matinal-pessoa input { margin: 0; cursor: pointer; }

.matinal-pessoa-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.matinal-pessoa-cargo { color: var(--muted); font-size: 11px; white-space: nowrap; }
.matinal-lista-vazia { padding: 18px 12px; text-align: center; color: var(--muted); font-size: 12px; }

.matinal-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.matinal-tag {
  border-radius: 999px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
}
.matinal-tag.is-tema { color: var(--blue); background: var(--blue-soft); }
.matinal-tag.is-faltas { color: var(--red); background: var(--red-soft); }
.matinal-tag.is-ok { color: var(--green); background: var(--green-soft); }

[data-theme="dark"] .matinal-lista-pessoas { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
[data-theme="dark"] .matinal-pessoa { border-bottom-color: rgba(255,255,255,.06); }
[data-theme="dark"] .matinal-pessoa:hover { background: rgba(37,99,235,.14); }
[data-theme="dark"] .matinal-pessoa.is-ausente { background: rgba(194,65,58,.16); }
[data-theme="dark"] .matinal-tag.is-tema { background: rgba(37,99,235,.18); }
[data-theme="dark"] .matinal-tag.is-faltas { background: rgba(194,65,58,.18); }
[data-theme="dark"] .matinal-tag.is-ok { background: rgba(21,128,61,.2); }

/* ===== Periodo de experiencia ===== */
.experiencia-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px 130px 220px 48px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.experiencia-row:last-child { border-bottom: 0; }

.experiencia-nome strong { display: block; font-size: 15px; line-height: 1.3; }
.experiencia-nome span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }

.experiencia-periodo { text-align: right; }
.experiencia-periodo span { display: block; color: var(--muted); font-size: 12px; }
.experiencia-periodo strong { display: block; margin-top: 2px; font-size: 14px; font-variant-numeric: tabular-nums; }

.experiencia-status { text-align: right; }
.experiencia-status small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }

.experiencia-tag {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.experiencia-tag.is-critico { color: var(--red); background: var(--red-soft); }
.experiencia-tag.is-alerta { color: var(--amber); background: var(--amber-soft); }
.experiencia-tag.is-ok { color: var(--green); background: var(--green-soft); }
.experiencia-tag.is-neutro { color: var(--muted); background: var(--canvas); }

.experiencia-acoes { display: flex; justify-content: flex-end; }
.experiencia-acoes button { min-height: 34px; width: 40px; padding: 0; }

[data-theme="dark"] .experiencia-row { border-bottom-color: rgba(255,255,255,.08); }
[data-theme="dark"] .experiencia-tag.is-critico { background: rgba(194,65,58,.18); color: #fca5a5; }
[data-theme="dark"] .experiencia-tag.is-alerta { background: rgba(180,83,9,.2); color: #fcd34d; }
[data-theme="dark"] .experiencia-tag.is-ok { background: rgba(21,128,61,.2); color: #86efac; }
[data-theme="dark"] .experiencia-tag.is-neutro { background: rgba(255,255,255,.06); }

@media (max-width: 900px) {
  .experiencia-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experiencia-nome { grid-column: 1 / -1; }
  .experiencia-periodo, .experiencia-status { text-align: left; }
  .experiencia-acoes { grid-column: 1 / -1; justify-content: flex-start; }
}

/* ===== Controle de Multas ===== */
.fines-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.fines-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.fines-metric-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.fines-metric-card .metric-label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.fines-metric-card .metric-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
  margin-top: 6px;
  font-variant-numeric: tabular-nums;
}
.fines-metric-card .metric-sub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 4px;
}

.fines-rankings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}
.fines-ranking-box {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.fines-ranking-box h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fines-ranking-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 260px;
  overflow-y: auto;
}
.fines-ranking-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: var(--canvas);
  border-radius: 8px;
  font-size: 13px;
}
.fines-ranking-pos {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #cbd5e1;
  color: #1e293b;
  font-weight: 700;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  flex-shrink: 0;
}
.fines-ranking-pos.pos-1 { background: #fef08a; color: #854d0e; }
.fines-ranking-pos.pos-2 { background: #e2e8f0; color: #334155; }
.fines-ranking-pos.pos-3 { background: #fed7aa; color: #9a3412; }
.fines-ranking-info {
  flex: 1;
  min-width: 0;
}
.fines-ranking-info strong {
  display: block;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fines-ranking-val {
  text-align: right;
  font-weight: 700;
  color: var(--ink);
  white-space: nowrap;
}

.fine-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}
.fine-badge.resp-funcionario { background: #fee2e2; color: #991b1b; }
.fine-badge.resp-brf { background: #e0e7ff; color: #3730a3; }
.fine-badge.resp-empresa { background: #fef3c7; color: #92400e; }
.fine-badge.status-ok { background: #dcfce7; color: #166534; }
.fine-badge.status-pendente { background: #ffedd5; color: #9a3412; }

.fine-resp-fields {
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  margin-top: 14px;
}

[data-theme="dark"] .fines-metric-card,
[data-theme="dark"] .fines-ranking-box {
  background: var(--surface);
  border-color: rgba(255,255,255,.1);
}
[data-theme="dark"] .fines-ranking-item,
[data-theme="dark"] .fine-resp-fields {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}

.fines-intro-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid #bfd6ff;border-radius:12px;background:linear-gradient(120deg,#f4f8ff,#fff);box-shadow:0 7px 20px rgba(28,66,112,.04)}.fines-intro-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#e6efff;color:#2864ca;font:800 18px "Manrope",sans-serif}.fines-intro-card strong{display:block;font-size:13px}.fines-intro-card p{margin:4px 0 0;color:#607286;font-size:10px;line-height:1.5}.fines-intro-card>.fine-badge{justify-self:end;padding:6px 10px;border-radius:999px}
.fines-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.fines-metric-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:108px;padding:17px;overflow:hidden;border-color:#dce5ef;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 5px 15px rgba(21,49,79,.04)}.fines-metric-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2f6edf}.fines-metric-card.red::before{background:#d84a4a}.fines-metric-card.amber::before{background:#dc8b1e}.fines-metric-card.green::before{background:#29a267}.fines-metric-card>div{min-width:0}.fines-metric-card .metric-label,.fines-metric-card .metric-value,.fines-metric-card .metric-sub{display:block}.fines-metric-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:#e9f1ff;color:#2864ca;font:800 11px "Manrope",sans-serif}.fines-metric-card.red .fines-metric-icon{background:#ffebea;color:#bd3a3a}.fines-metric-card.amber .fines-metric-icon{background:#fff1d8;color:#a96609}.fines-metric-card.green .fines-metric-icon{background:#e5f7ed;color:#188151}.fines-metric-card .metric-label{font-size:9px;line-height:1.35}.fines-metric-card .metric-value{margin-top:3px;font:800 22px "Manrope",sans-serif;letter-spacing:-.04em}.fines-metric-card .metric-sub{margin-top:3px;font-size:9px;line-height:1.35}.fines-metric-card .metric-sub.attention{color:#b36c0e;font-weight:700}
.fines-rankings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.fines-ranking-box{padding:0;overflow:hidden;border-color:#dce5ef;box-shadow:0 7px 20px rgba(21,49,79,.04)}.fines-ranking-heading{display:flex;gap:11px;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff)}.fines-ranking-heading>span{display:grid;width:30px;height:30px;place-items:center;flex:0 0 auto;border-radius:9px;background:#e9f1ff;color:#2864ca;font-size:9px;font-weight:800}.fines-ranking-heading h3{margin:0;font-size:12px}.fines-ranking-heading small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.fines-ranking-list{gap:0;max-height:270px;padding:6px 12px 12px}.fines-ranking-item{min-height:52px;padding:9px 6px;border-bottom:1px solid #edf1f5;border-radius:0;background:transparent}.fines-ranking-item:last-child{border-bottom:0}.fines-ranking-item:hover{background:#f7faff}.fines-ranking-info strong{font-size:10px}.fines-ranking-info span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.fines-ranking-val{font-size:10px}.fines-ranking-pos{width:25px;height:25px;font-size:9px}.fines-ranking-empty{padding:34px 14px;color:var(--muted);font-size:10px;text-align:center}
.fines-records-card{margin-bottom:22px;overflow:hidden;border-color:#dbe5f0;box-shadow:0 10px 30px rgba(20,46,78,.055)}.fines-records-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff)}.fines-records-heading strong,.fines-records-heading span{display:block}.fines-records-heading strong{font-size:14px}.fines-records-heading span{margin-top:3px;color:var(--muted);font-size:9px}.fines-records-heading>b{padding:5px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:9px;white-space:nowrap}.fines-filter-panel{display:grid;grid-template-columns:minmax(280px,1fr) minmax(190px,.48fr) minmax(220px,.6fr);gap:12px;padding:16px 22px;border-bottom:1px solid var(--line);background:#fbfdff}.fines-filter-panel label{display:grid;gap:6px;color:#53677b;font-size:10px;font-weight:700}.fines-filter-panel .modal-input{width:100%;min-height:41px;padding:0 12px;border:1px solid #d4deea;border-radius:9px;background:var(--white);color:var(--ink);font:600 11px "DM Sans",sans-serif;outline:0}.fines-filter-panel input.modal-input{font-weight:500}.fines-filter-panel .modal-input:hover{border-color:#afc3df}.fines-filter-panel .modal-input:focus{border-color:#4d82e6;box-shadow:0 0 0 3px rgba(47,110,223,.12)}.fines-table-wrap{overflow-x:auto}.fines-table{min-width:1180px}.fines-table th{height:45px;padding-inline:17px;background:#f7f9fc;color:#718196;font-size:9px}.fines-table td{padding:15px 17px;color:#405267;vertical-align:middle;line-height:1.45}.fines-table tbody tr:nth-child(even) td{background:#fbfcfe}.fines-table tbody tr:hover td{background:#f2f7ff}.fine-driver-cell{display:flex;gap:10px;align-items:center;min-width:210px}.fine-driver-cell>span{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border-radius:50%;background:#e2edff;color:#2864ca;font-size:9px;font-weight:800}.fine-driver-cell strong,.fine-driver-cell small{display:block}.fine-driver-cell strong{color:var(--ink);font-size:10px}.fine-driver-cell small{margin-top:2px;color:var(--muted);font-size:9px}.fine-plate{display:inline-flex;padding:5px 8px;border:1px solid #dce4ed;border-radius:7px;background:#f7f9fc;color:#405267;font:800 10px monospace;letter-spacing:.03em}.fine-reason-title{display:block;color:var(--ink);font-size:11px}.fine-date-line{display:block;margin-top:4px;color:var(--muted);font-size:9px}.fine-amount{color:var(--ink);font:800 12px "Manrope",sans-serif;white-space:nowrap}.fine-badge{min-height:25px;padding:4px 9px;border-radius:999px;font-size:9px;line-height:1.35}.fine-actions-cell{text-align:right}.fine-row-actions{display:inline-flex;gap:6px;align-items:center}.fine-row-actions .secondary-button{min-height:32px;height:32px;padding:0 10px;border-radius:7px;font-size:9px}.fine-row-actions .fine-icon-button{width:32px;padding:0}.fine-row-actions .fine-icon-button.danger{color:var(--red)}.fines-empty-state{display:flex;min-height:240px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fines-empty-state>span{display:grid;width:42px;height:42px;place-items:center;margin-bottom:10px;border-radius:12px;background:#e5f7ed;color:#188151;font-size:17px;font-weight:800}.fines-empty-state strong{font-size:13px}.fines-empty-state small{max-width:400px;margin-top:5px;color:var(--muted);font-size:10px}.fines-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line);background:#fbfcfe;color:var(--muted);font-size:10px}
[data-theme="dark"] .fines-intro-card,[data-theme="dark"] .fines-ranking-heading,[data-theme="dark"] .fines-records-heading,[data-theme="dark"] .fines-filter-panel,[data-theme="dark"] .fines-table-footer{background:#18263b;border-color:var(--line)}[data-theme="dark"] .fines-metric-card{background:#152238;border-color:var(--line)}[data-theme="dark"] .fines-filter-panel .modal-input{background:#152238;border-color:var(--line);color:var(--ink)}[data-theme="dark"] .fines-ranking-item:hover,[data-theme="dark"] .fines-table tbody tr:hover td{background:#1d304c}[data-theme="dark"] .fines-table th,[data-theme="dark"] .fines-table tbody tr:nth-child(even) td{background:#18263b}[data-theme="dark"] .fine-plate{border-color:var(--line);background:#18263b;color:var(--ink)}
@media(max-width:1150px){.fines-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fines-rankings-grid{grid-template-columns:1fr}.fines-ranking-list{max-height:230px}.fines-filter-panel{grid-template-columns:1fr 1fr}.fines-search-field{grid-column:1/-1}}
@media(max-width:760px){.fines-intro-card{grid-template-columns:42px minmax(0,1fr)}.fines-intro-card>.fine-badge{grid-column:2;justify-self:start}.fines-metrics{grid-template-columns:1fr}.fines-filter-panel{grid-template-columns:1fr;padding:15px 17px}.fines-search-field{grid-column:auto}.fines-records-heading{align-items:flex-start;padding:16px 17px}.fines-table-footer{align-items:flex-start;flex-direction:column;padding-inline:17px}}
@media(max-width:500px){.fines-intro-card{grid-template-columns:1fr;padding:16px}.fines-intro-card>.fine-badge{grid-column:1}.fines-metric-card{min-height:94px}.fines-ranking-heading{padding:14px}.fines-records-heading{flex-direction:column}.fines-records-heading>b{align-self:flex-start}}

/* Modal Card & Form Fixes */
.modal-card {
  position: relative;
  width: min(680px, 95vw);
  max-height: 90vh;
  overflow-y: auto;
  background: #ffffff;
  color: #0f172a;
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
  padding: 24px 28px;
  border: 1px solid #e2e8f0;
  z-index: 10000;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
}
.modal-header h2 {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.form-group label {
  font-size: 12px;
  font-weight: 600;
  color: #334155;
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-size: 13px;
  outline: none;
  box-sizing: border-box;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #0284c7;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

[data-theme="dark"] .modal-card {
  background: #1e293b;
  color: #f8fafc;
  border-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] .modal-header {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] .modal-header h2 {
  color: #f8fafc;
}
[data-theme="dark"] .form-group label {
  color: #cbd5e1;
}
[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea {
  background: #0f172a;
  color: #f8fafc;
  border-color: rgba(255, 255, 255, 0.15);
}

/* Mobile UX Enhancements for small screens */
@media (max-width: 620px) {
  .mobile-card-table td input,
  .mobile-card-table td select {
    max-width: 62%;
    min-height: 36px;
    font-size: 13px !important;
    padding: 6px 10px !important;
    border-radius: 6px;
  }

  .connection-status-chip {
    min-width: 36px;
    min-height: 34px;
    justify-content: center;
    padding: 0 9px;
  }

  .connection-status-chip span:last-child {
    display: none;
  }

  .finance-toolbar {
    flex-direction: column;
    align-items: stretch !important;
  }

  .finance-search {
    width: 100% !important;
    max-width: 100% !important;
  }

  .finance-header-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
  }

  .finance-header-actions button {
    width: 100%;
    justify-content: center;
  }

  .page-header-row {
    flex-direction: column;
    align-items: flex-start !important;
  }
}
.meeting-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px}.meeting-history,.meeting-editor{padding:20px}.meeting-list-item{display:flex;width:100%;flex-direction:column;gap:4px;padding:14px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;color:inherit;cursor:pointer}.meeting-list-item:hover{background:var(--canvas)}.meeting-list-item span,.muted{color:var(--muted);font-size:13px}.meeting-editor label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:600}.meeting-editor input,.meeting-editor textarea,.meeting-editor select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.meeting-transcript-title,.meeting-actions,.meeting-result-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.button-row{display:flex;gap:8px;flex-wrap:wrap}.meeting-analysis{margin-top:20px;border-top:1px solid var(--border);padding-top:18px}.meeting-section{display:grid;gap:9px;margin-top:16px}.meeting-task{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) 150px 150px;gap:8px}@media(max-width:900px){.meeting-layout{grid-template-columns:1fr}.meeting-history{max-height:260px;overflow:auto}.meeting-task{grid-template-columns:1fr}.meeting-actions,.meeting-transcript-title{align-items:flex-start;flex-direction:column}}
.meeting-page{max-width:1380px;margin:0 auto;padding-bottom:32px}.meeting-page>.page-heading{margin-bottom:24px}.meeting-layout{grid-template-columns:300px minmax(0,1fr);align-items:start}.meeting-page .panel{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.meeting-history{padding:0;overflow:hidden;position:sticky;top:96px}.meeting-history .panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}.meeting-history .panel-header strong{font-size:15px}.meeting-history .panel-header span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:700}.meeting-history #meeting-list{max-height:620px;overflow:auto;padding:6px}.meeting-list-item{border:0;border-radius:9px;margin:2px 0;padding:13px 14px}.meeting-list-item:hover{background:var(--blue-soft)}.meeting-list-item strong{font-size:13px;color:var(--ink)}.meeting-list-item span{margin-top:2px}.meeting-history>.muted,.meeting-history #meeting-list>p{padding:18px;margin:0}.meeting-editor{padding:24px}.meeting-editor>.form-grid{gap:16px 18px}.meeting-editor label{color:var(--ink);font-size:12px}.meeting-editor input,.meeting-editor textarea,.meeting-editor select{display:block;min-height:42px;border:1px solid #d7e0e9!important;background:#fff!important;color:var(--ink)!important;outline:none;transition:border-color .18s,box-shadow .18s}.meeting-editor textarea{resize:vertical;line-height:1.55;min-height:120px}.meeting-editor #meeting-transcript{min-height:230px;font-family:"DM Sans",Arial,sans-serif}.meeting-editor input::placeholder,.meeting-editor textarea::placeholder{color:#99a5b2}.meeting-editor input:focus,.meeting-editor textarea:focus,.meeting-editor select:focus{border-color:#78a4f5!important;box-shadow:0 0 0 3px var(--focus-ring)}.meeting-transcript-title{margin:22px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.meeting-transcript-title strong{font-size:14px}.meeting-actions{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}.meeting-actions #meeting-feedback{max-width:55%;line-height:1.45}.meeting-result-header{margin:0 0 16px}.meeting-result-header h2{margin:0;font-size:19px}.meeting-section{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.meeting-task{align-items:center}.meeting-task input,.meeting-task select{margin:0}.meeting-editor .secondary-button,.meeting-editor .primary-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.meeting-editor [data-meeting-stop]{color:var(--red)}@media(max-width:1100px){.meeting-layout{grid-template-columns:250px minmax(0,1fr)}.meeting-task{grid-template-columns:1fr 1fr}.meeting-task>*:nth-child(n+3){min-width:0}}@media(max-width:760px){.meeting-page{padding:0 2px 24px}.meeting-layout{grid-template-columns:1fr}.meeting-history{position:static}.meeting-history #meeting-list{max-height:220px}.meeting-editor{padding:18px}.meeting-editor>.form-grid{grid-template-columns:1fr}.meeting-actions,.meeting-transcript-title{align-items:stretch;flex-direction:column}.meeting-actions #meeting-feedback{max-width:none}.meeting-actions .button-row,.meeting-transcript-title .button-row{display:grid;grid-template-columns:1fr 1fr}.meeting-actions button,.meeting-transcript-title button{width:100%}.meeting-task{grid-template-columns:1fr}}
.minutes-dashboard{min-height:calc(100vh - 150px)}.minutes-loading,.minutes-error,.minutes-synthesis{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.minutes-dashboard-shell{max-width:1450px;margin:0 auto}.minutes-dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.minutes-dashboard-header h1{font-size:28px;margin:3px 0 6px}.minutes-dashboard-header p{margin:0;color:var(--muted)}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.minutes-start-button{min-height:44px;padding-inline:20px}.minutes-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.minutes-summary-grid article{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.minutes-summary-grid span{display:block;color:var(--muted);font-size:12px}.minutes-summary-grid strong{display:block;margin-top:6px;font:800 25px/1 "Manrope",sans-serif}.minutes-table-card{background:var(--white);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.minutes-table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.minutes-table-toolbar span{font-size:12px;color:var(--muted)}.minutes-table-scroll{overflow:auto}.minutes-table{width:100%;border-collapse:collapse;min-width:760px}.minutes-table th{padding:12px 18px;background:#f8fafc;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:left}.minutes-table td{padding:15px 18px;border-top:1px solid var(--line);font-size:12px;vertical-align:middle}.minutes-main-row td:first-child{display:flex;align-items:center;gap:10px;min-width:260px}.minutes-main-row td:first-child strong,.minutes-main-row td:first-child small{display:block}.minutes-main-row td:first-child small{color:var(--muted);margin-top:3px}.minutes-expand{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--blue);font-weight:800}.minutes-action-button{display:inline-flex;align-items:center;padding:8px 11px;border-radius:7px;background:var(--green-soft);color:var(--green);font-weight:700;text-decoration:none;white-space:nowrap}.minutes-empty{padding:55px 20px;text-align:center}.minutes-empty>span{font-size:35px}.minutes-empty strong{display:block;font-size:16px;margin:10px 0 3px}.minutes-empty p{color:var(--muted);margin:0 0 16px}.minutes-detail-row>td{padding:0!important;background:var(--canvas)}.minutes-insights{display:grid;grid-template-columns:320px minmax(0,1fr);gap:0;border-top:2px solid var(--blue)}.minutes-insights-sidebar{padding:22px;background:#f8fafc;border-right:1px solid var(--line)}.minutes-insights h3,.minutes-insights h4{margin-top:0}.minutes-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.minutes-kpis article{padding:14px;background:var(--white);border:1px solid var(--line);border-radius:9px;text-align:center}.minutes-kpis span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.minutes-kpis strong{display:block;color:var(--blue);font-size:25px;margin-top:5px}.minutes-kpis .pain strong{color:var(--red)}.minutes-progress{margin:20px 0}.minutes-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.progress-track{height:7px;border-radius:99px;background:#dfe7ef;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);border-radius:99px}.minutes-pains{display:grid;gap:8px}.minutes-pains article{padding:10px 11px;border:1px solid #f7c8c3;border-left:3px solid var(--red);border-radius:7px;background:var(--white)}.minutes-pains strong{font-size:11px;color:var(--red)}.minutes-pains p{margin:3px 0 0;color:var(--muted);font-size:11px}.minutes-insights-main{padding:24px}.minutes-detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.minutes-detail-heading h3{margin:3px 0 0;font-size:20px}.minutes-insights-main section{margin-top:22px}.minutes-insights-main section h4{font-size:13px;margin-bottom:8px}.minutes-insights-main section p,.minutes-insights-main li{color:var(--muted);line-height:1.6}.minutes-task-table{border:1px solid var(--line);border-radius:9px;overflow:hidden}.minutes-task-head,.minutes-task-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(130px,1fr) 110px 145px;align-items:center}.minutes-task-head{background:#f8fafc;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.minutes-task-head span,.minutes-task-row>span,.minutes-task-row>select{padding:10px 12px}.minutes-task-row{border-top:1px solid var(--line);font-size:11px}.minutes-task-row select{margin:6px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink)}
.minutes-live-room{height:calc(100vh - 122px);min-height:600px;display:grid;grid-template-columns:minmax(0,1fr) 380px;background:#090d16;margin:-24px -32px -32px;overflow:hidden}.minutes-stage{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.minutes-video-wrap{position:relative;width:min(100%,1050px);aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#111827;box-shadow:0 25px 70px rgba(0,0,0,.35)}.minutes-video-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.minutes-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#27364a,#111827);color:#fff}.minutes-camera-placeholder[hidden]{display:none}.minutes-camera-placeholder div{width:105px;height:105px;border-radius:50%;display:grid;place-items:center;background:#334155;font-size:34px;font-weight:800}.minutes-video-name{position:absolute;left:16px;bottom:14px;padding:7px 10px;border-radius:7px;background:rgba(0,0,0,.55);color:#fff;font-size:12px}.minutes-video-name span{color:#43d17a}.minutes-live-badge{position:absolute;right:16px;top:14px;padding:7px 10px;border-radius:99px;background:rgba(0,0,0,.55);color:#fff;font-size:11px}.minutes-live-badge i,.listening i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef4444;margin-right:5px;animation:meetingPulse 1.4s infinite}.minutes-control-bar{display:flex;align-items:center;gap:10px;margin-top:22px;padding:10px 14px;border:1px solid #263243;border-radius:14px;background:#151c28}.minutes-control-bar button{min-width:82px;border:0;background:transparent;color:#f8fafc;padding:8px 10px;border-radius:9px}.minutes-control-bar button:hover,.minutes-control-bar button.off{background:#293445}.minutes-control-bar span,.minutes-control-bar small{display:block}.minutes-control-bar span{font-size:19px}.minutes-control-bar small{font-size:10px;margin-top:4px}.minutes-control-bar .danger{min-width:145px;background:#dc2626}.minutes-control-bar .danger:hover{background:#b91c1c}.minutes-ai-panel{display:flex;flex-direction:column;background:#111827;border-left:1px solid #263243;color:#e5edf7;min-width:0}.minutes-ai-panel>header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #263243}.minutes-ai-panel>header>div{display:flex;align-items:center;gap:10px}.minutes-ai-panel header strong,.minutes-ai-panel header small{display:block}.minutes-ai-panel header small{color:#8290a2;font-size:10px;margin-top:2px}.ai-orb{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.listening{font-size:10px;color:#f87171}.minutes-live-meta{display:grid;gap:12px;padding:18px;border-bottom:1px solid #263243}.minutes-live-meta label{font-size:10px;color:#94a3b8}.minutes-live-meta input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #334155;border-radius:7px;background:#1e293b;color:#fff}.minutes-transcript-header{display:flex;justify-content:space-between;padding:18px 18px 8px;font-size:12px}.minutes-transcript-header span{font-variant-numeric:tabular-nums;color:#60a5fa}.minutes-live-transcript{flex:1;margin:0 18px 12px;padding:16px;border:1px solid #334155;border-radius:9px;resize:none;background:#0f172a;color:#e2e8f0;line-height:1.65;outline:none}.minutes-live-transcript:focus{border-color:#3b82f6}.minutes-privacy{padding:0 18px 18px;margin:0;color:#64748b;font-size:10px}.minutes-synthesis{color:var(--ink)}.minutes-synthesis h2{font-size:26px;margin:8px 0 0}.minutes-synthesis p,.minutes-synthesis small{color:var(--muted)}.minutes-ai-animation{position:relative;width:90px;height:70px}.minutes-ai-animation span{position:absolute;width:38px;height:38px;border-radius:50%;background:rgba(37,99,235,.25);animation:meetingOrbit 1.6s infinite ease-in-out}.minutes-ai-animation span:nth-child(2){left:27px;animation-delay:.2s;background:rgba(124,58,237,.25)}.minutes-ai-animation span:nth-child(3){left:52px;animation-delay:.4s;background:rgba(16,185,129,.25)}@keyframes meetingPulse{50%{opacity:.35;transform:scale(.8)}}@keyframes meetingOrbit{50%{transform:translateY(25px) scale(.65)}}
.minutes-header-actions{display:flex;gap:10px;flex-wrap:wrap}.minutes-origin{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:700}.minutes-origin.done{background:var(--green-soft);color:var(--green)}.minutes-zoom-filters{flex-wrap:wrap;gap:12px}.minutes-zoom-filters>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.minutes-zoom-filters label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.minutes-zoom-filters input{padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);font-size:12px}.minutes-zoom-note{margin:14px 2px 0;color:var(--muted);font-size:11px}.minutes-jobs{display:grid;gap:10px;margin-bottom:18px}.minutes-job{padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;background:var(--white);box-shadow:var(--shadow)}.minutes-job.done{border-left-color:var(--green)}.minutes-job.failed{border-left-color:var(--red)}.minutes-job-head{display:flex;align-items:center;gap:9px}.minutes-job-head strong{font-size:13px}.minutes-job-head em{margin-left:auto;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}.minutes-job.done .minutes-job-head em{color:var(--green)}.minutes-job.failed .minutes-job-head em{color:var(--red)}.minutes-job p{margin:6px 0 0;color:var(--muted);font-size:11px}.minutes-job .loading-spinner{width:15px;height:15px}.minutes-recording-panel{padding:26px 22px;display:grid;gap:18px;justify-items:center}.minutes-recording-dot{display:flex;align-items:center;gap:10px;font:800 30px/1 "Manrope",sans-serif;font-variant-numeric:tabular-nums}.minutes-recording-dot i{width:13px;height:13px;border-radius:50%;background:var(--red);animation:meetingPulse 1.4s infinite}.minutes-live-meta.light{width:min(100%,460px);border:0;padding:0}.minutes-live-meta.light label{color:var(--muted)}.minutes-live-meta.light input{border:1px solid var(--line);background:var(--white);color:var(--ink)}.minutes-recording-panel .minutes-privacy{padding:0;text-align:center}
@media(max-width:1100px){.minutes-insights{grid-template-columns:1fr}.minutes-insights-sidebar{border-right:0;border-bottom:1px solid var(--line)}.minutes-live-room{grid-template-columns:minmax(0,1fr) 330px}.minutes-task-head,.minutes-task-row{grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) 100px 135px}}@media(max-width:800px){.minutes-dashboard-header{align-items:stretch;flex-direction:column}.minutes-summary-grid{grid-template-columns:1fr}.minutes-live-room{height:auto;min-height:calc(100vh - 90px);grid-template-columns:1fr;margin:-18px -16px -24px;overflow:auto}.minutes-stage{padding:16px}.minutes-video-wrap{aspect-ratio:4/3}.minutes-ai-panel{min-height:500px;border-left:0;border-top:1px solid #263243}.minutes-control-bar{position:sticky;bottom:10px;z-index:4}.minutes-control-bar button{min-width:65px}.minutes-control-bar .danger{min-width:125px}.minutes-insights-main{padding:16px}.minutes-task-table{overflow:auto}.minutes-task-head,.minutes-task-row{min-width:650px}}

/* Admissão por etapas aplicáveis ao cargo e ficha única do colaborador */
.admission-exam-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:7px;background:#eaf2ff}.admission-exam-note strong{font-size:10px}.admission-exam-note small{color:#255fc5;font-size:9px;font-weight:750;text-align:right}
.admission-stage-modal{width:min(680px,100%);max-height:calc(100vh - 36px);overflow:auto}.admission-stage-modal textarea{width:100%;min-height:96px;resize:vertical;border:1px solid #dce3ea;border-radius:7px;padding:10px;color:var(--ink);background:var(--white);font:inherit}.admission-stage-special{padding:13px;border:1px solid #dbe7f7;border-radius:9px;background:#f7faff}.admission-stage-special[hidden]{display:none!important}.admission-assessments{display:grid;gap:12px}.admission-assessments-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.admission-assessments-heading strong,.admission-assessments-heading small{display:block}.admission-assessments-heading strong{font-size:12px}.admission-assessments-heading small{margin-top:3px;color:var(--muted);font-size:9px}.admission-assessments-heading>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#dfeaff;color:#255fc5;font-size:9px;font-weight:800}.admission-assessment-list{display:grid;gap:7px}.admission-assessment-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.admission-assessment-status{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff1d8;color:#a15b09;font-size:11px;font-weight:900}.admission-assessment-item.uploaded .admission-assessment-status{background:#def4e7;color:#18834b}.admission-assessment-item>div:nth-child(2){min-width:0}.admission-assessment-item strong,.admission-assessment-item small{display:block}.admission-assessment-item strong{font-size:10px}.admission-assessment-item small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.admission-assessment-actions{display:flex;align-items:center;gap:5px}.admission-assessment-actions .text-button{font-size:9px}.admission-assessment-empty{padding:16px;border:1px dashed #c9d8eb;border-radius:8px;text-align:center}.admission-assessment-empty strong,.admission-assessment-empty small{display:block}.admission-assessment-empty strong{font-size:11px}.admission-assessment-empty small{margin-top:4px;color:var(--muted);font-size:9px}.admission-stage-sla-note{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--canvas)}.admission-stage-sla-note>span{width:10px;height:10px;border-radius:50%}.admission-stage-sla-note>div{min-width:0}.admission-stage-sla-note strong,.admission-stage-sla-note small{display:block}.admission-stage-sla-note strong{font-size:11px}.admission-stage-sla-note small{margin-top:3px;color:var(--muted);font-size:10px}.admission-stage-sla-note .sla-on-time{background:#22a663}.admission-stage-sla-note .sla-attention{background:#e5a637}.admission-stage-sla-note .sla-late{background:#dc4545}.admission-stage-sla-note .sla-done{background:#3474e3}
.admission-workflow-card{margin-bottom:20px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow)}.admission-workflow-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}.admission-workflow-card>header>div{min-width:0}.admission-workflow-card>header h2{margin:7px 0 3px;font:750 16px "Manrope",sans-serif}.admission-workflow-card>header p{margin:0;color:var(--muted);font-size:11px}.admission-workflow-card>header>strong{color:var(--blue);font:800 24px "Manrope",sans-serif}.admission-workflow-list{display:grid}.admission-workflow-stage{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}.admission-workflow-stage:last-child{border-bottom:0}.admission-workflow-stage.current{background:#f5f9ff;box-shadow:inset 3px 0 #3474e3}.admission-workflow-stage.status-blocked{background:#fffaf0}.admission-stage-number{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#edf1f5;color:#68798a;font-size:10px;font-weight:800}.status-completed .admission-stage-number{background:#def4e7;color:#18834b}.current .admission-stage-number{background:#dceaff;color:#2462d0}.admission-stage-copy>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admission-stage-copy strong{font-size:12px}.admission-stage-copy p{margin:4px 0 7px;color:var(--muted);font-size:10px;line-height:1.45}.admission-stage-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2f6;color:#657587;font-size:9px;font-weight:750}.admission-stage-status.completed{background:#e7f7ed;color:#157b45}.admission-stage-status.in_progress{background:#e7f0ff;color:#255fc5}.admission-stage-status.blocked{background:#fff1d8;color:#a15b09}.admission-stage-meta{display:flex;gap:12px;flex-wrap:wrap;color:#68798a;font-size:9px}.admission-stage-meta b{color:var(--ink)}.admission-stage-meta .sla-on-time{color:#15803d}.admission-stage-meta .sla-attention{color:#a45f08}.admission-stage-meta .sla-late{color:#c43f3f}.admission-stage-detail,.admission-stage-note{display:block;margin-top:7px;padding:6px 8px;border-radius:6px;color:#41566c;background:#f0f4f8;font-size:9px;line-height:1.4}.admission-stage-note{white-space:pre-wrap;background:#fff8e8}.compact-button{min-height:32px!important;padding:0 10px!important;font-size:10px!important}.admission-document-stage-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:15px 17px;border:1px solid #dbe7f7;border-radius:10px;background:#f7faff}.admission-document-stage-heading>span{padding:5px 8px;border-radius:999px;color:#255fc5;background:#dfeaff;font-size:9px;font-weight:800}.admission-document-stage-heading>div{flex:1}.admission-document-stage-heading h2{margin:0;font-size:14px}.admission-document-stage-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.admission-document-stage-heading>strong{color:var(--blue);font-size:17px}
.admission-sla-card{display:grid;gap:0}.admission-sla-metric{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}.admission-sla-metric span{color:var(--muted);font-size:10px}.admission-sla-metric strong{font-size:12px}.admission-sla-metric small{grid-column:1/-1;color:#516476;font-size:9px}.admission-sla-status{display:flex;align-items:center;gap:9px;margin-top:13px;padding:10px;border-radius:8px;background:var(--canvas)}.admission-sla-status>i{width:10px;height:10px;border-radius:50%;background:#22a663}.admission-sla-status.sla-attention>i{background:#e5a637}.admission-sla-status.sla-late>i{background:#dc4545}.admission-sla-status strong,.admission-sla-status span{display:block}.admission-sla-status strong{font-size:11px}.admission-sla-status span{margin-top:2px;color:var(--muted);font-size:9px}.admission-bottleneck{margin-top:10px;padding:10px;border:1px solid #f7c8c3;border-left:3px solid #dc4545;border-radius:7px;background:#fff7f6}.admission-bottleneck strong{color:#b73434;font-size:10px}.admission-bottleneck p{margin:4px 0 0;color:#815858;font-size:9px;line-height:1.45}.admission-sla-legend{display:flex;gap:5px;margin-top:11px}.admission-sla-legend span{flex:1;padding:5px 4px;border-radius:5px;text-align:center;font-size:8px;font-weight:750}.admission-sla-legend .sla-on-time{color:#157b45;background:#e7f7ed}.admission-sla-legend .sla-attention{color:#9a5c0b;background:#fff3da}.admission-sla-legend .sla-late{color:#b73434;background:#ffebea}.admission-total-tone{margin-top:8px;color:var(--muted);font-size:9px;text-align:center}
.profile-identity-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:22px;align-items:center;margin-bottom:16px;padding:20px;border:1px solid #dbe7f7;border-radius:12px;background:linear-gradient(115deg,#f4f8ff,#fff)}.profile-identity-card .avatar{width:48px;height:48px;font-size:14px}.profile-identity-card .person-cell strong{font-size:15px}.profile-identity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-identity-metrics>div{min-width:0;padding:10px 12px;border-left:1px solid #dce5ee}.profile-identity-metrics span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.profile-identity-metrics strong{display:block;margin-top:5px;overflow-wrap:anywhere;font-size:11px}.profile-tabs{display:flex;gap:6px;margin-bottom:16px;padding:6px;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--white);scrollbar-width:thin}.profile-tab{flex:0 0 auto;min-height:34px;padding:0 12px;border:0;border-radius:7px;color:#627385;background:transparent;font-size:10px;font-weight:700}.profile-tab:hover{background:var(--canvas)}.profile-tab.active{color:#fff;background:var(--blue);box-shadow:0 4px 9px rgba(37,99,235,.2)}.profile-section{min-height:280px}.profile-data-grid,.profile-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px 20px 20px}.profile-data-grid>div,.profile-highlight-grid>div{min-width:0;padding:15px;border-bottom:1px solid var(--line)}.profile-data-grid span,.profile-highlight-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.profile-data-grid strong,.profile-highlight-grid strong{display:block;margin-top:6px;overflow-wrap:anywhere;font-size:11px}.profile-file-list{padding:7px 20px 16px}.profile-file-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.profile-file-row:last-child{border-bottom:0}.profile-file-row>div{min-width:0}.profile-file-row strong,.profile-file-row small{display:block}.profile-file-row strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.profile-file-row small{margin-top:4px;color:var(--muted);font-size:9px}.profile-item-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:8px;color:#177a4b;background:#e7f7ed}.profile-empty{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;padding:30px;color:var(--muted);text-align:center}.profile-empty>span{font-size:30px;color:#9bb4d7}.profile-empty strong{margin-top:8px;color:var(--ink);font-size:13px}.profile-empty small{max-width:430px;margin-top:5px;font-size:10px;line-height:1.5}
[data-theme="dark"] .admission-workflow-card>header,[data-theme="dark"] .admission-workflow-stage.current,[data-theme="dark"] .admission-document-stage-heading,[data-theme="dark"] .admission-stage-special,[data-theme="dark"] .profile-identity-card{background:#18263b}[data-theme="dark"] .admission-stage-modal textarea{border-color:var(--line);background:#152238}[data-theme="dark"] .admission-stage-note,[data-theme="dark"] .admission-bottleneck{background:#2c2023}[data-theme="dark"] .profile-tab.active{background:var(--blue)}
#edit-data-modal-backdrop .modal{max-height:calc(100vh - 36px);overflow:auto}#edit-data-form .modal-actions{position:sticky;bottom:-28px;z-index:2;margin:0 -28px -28px;padding:14px 28px;border-top:1px solid var(--line);background:var(--white)}.edit-person-group{margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.edit-person-group legend{padding:0 6px;margin-left:-6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.edit-person-group .form-grid{margin:0}.edit-person-group select{width:100%;height:39px;border:1px solid #dce3ea;border-radius:7px;padding:0 10px;background:var(--white);color:var(--ink);font-size:12px}
.profile-data-editable{position:relative;cursor:pointer;transition:background .15s ease}.profile-data-editable:hover,.profile-data-editable:focus-visible{background:#f2f7ff;outline:0}.profile-data-editable em{position:absolute;top:12px;right:12px;color:var(--blue);font-size:10px;font-style:normal;opacity:0}.profile-data-editable:hover em,.profile-data-editable:focus-visible em{opacity:1}[data-theme="dark"] .profile-data-editable:hover,[data-theme="dark"] .profile-data-editable:focus-visible{background:#18263b}
.admission-request-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.admission-fdi-card{min-height:0;margin-bottom:16px}.admission-fdi-card-body{display:grid;gap:12px;padding:0 20px 20px}.admission-fdi-status{display:flex;gap:10px;align-items:center}.admission-fdi-status strong{display:block;font-size:12px}.admission-fdi-status small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.admission-fdi-status-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex-shrink:0}.admission-fdi-card[data-status="complete"] .admission-fdi-status-dot{background:var(--green)}.admission-fdi-card[data-status="partial"] .admission-fdi-status-dot{background:var(--amber)}.admission-fdi-card[data-status="pending"] .admission-fdi-status-dot{background:var(--red)}.admission-fdi-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.admission-fdi-bar span{font-size:10px;font-weight:700;color:var(--muted)}.admission-fdi-missing,.admission-fdi-ok{margin:0;font-size:10px;line-height:1.5}.admission-fdi-missing{color:var(--amber)}.admission-fdi-ok{color:var(--green)}.admission-fdi-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:6px;border-top:1px solid var(--line)}.admission-fdi-highlights>div{min-width:0}.admission-fdi-highlights span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.admission-fdi-highlights strong{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:11px}
.admission-fdi-modal{width:min(940px,100%);max-height:calc(100vh - 36px);overflow:auto}.admission-fdi-modal textarea{width:100%;min-height:80px;resize:vertical;border:1px solid #dce3ea;border-radius:7px;padding:10px;color:var(--ink);background:var(--white);font:inherit}.admission-fdi-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.admission-fdi-progress-label{text-align:right}.admission-fdi-progress-label strong{display:block;font-size:11px}.admission-fdi-progress-label small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.admission-fdi-tabs{position:sticky;top:0;z-index:2;display:flex;gap:6px;margin-bottom:14px;padding:6px;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 6px 14px rgba(15,23,42,.06);scrollbar-width:thin}.admission-fdi-tab{display:flex;gap:6px;align-items:center;flex:0 0 auto;min-height:32px;padding:0 11px;border:0;border-radius:7px;color:#627385;background:transparent;font-size:10px;font-weight:700;white-space:nowrap}.admission-fdi-tab span{opacity:.6}.admission-fdi-tab:hover{background:var(--canvas)}.admission-fdi-tab.active{color:#fff;background:var(--blue)}.admission-fdi-section{margin:0;padding:0;border:0}.admission-fdi-section legend{padding:0;font-size:13px;font-weight:700}.admission-fdi-section-help{margin:4px 0 14px;color:var(--muted);font-size:10px}.admission-fdi-field[hidden]{display:none!important}.admission-fdi-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;margin-top:6px}.admission-fdi-check{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:10px}.admission-fdi-check input{width:14px;height:14px}.admission-fdi-children{display:grid;gap:10px;margin:8px 0}.admission-fdi-child-row{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--canvas)}.admission-fdi-child-index{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:700}.admission-fdi-child-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admission-fdi-child-fields label{display:grid;gap:4px;min-width:0}.admission-fdi-child-fields span{color:var(--muted);font-size:9px;text-transform:uppercase}.admission-stage-fdi-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.admission-stage-fdi-heading small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.admission-fdi-save-status{margin-right:auto;color:var(--muted);font-size:10px;font-weight:600}.admission-fdi-save-status[data-state="saving"]{color:var(--blue)}.admission-fdi-save-status[data-state="saved"]{color:var(--green)}.admission-fdi-save-status[data-state="error"]{color:var(--red)}
.admission-workflow-stage.status-not_applicable{background:#f8fafc}.status-not_applicable .admission-stage-number{background:#e8edf2;color:#667788}.admission-stage-status.not_applicable{background:#e8edf2;color:#566879}
@media(max-width:860px){.admission-fdi-highlights{grid-template-columns:1fr}.admission-fdi-child-fields{grid-template-columns:1fr}.admission-fdi-progress{grid-template-columns:1fr}.admission-fdi-progress-label{text-align:left}}
.admission-person-data{min-height:0;margin-bottom:16px}.admission-person-data .profile-data-grid{padding-bottom:12px}.admission-person-data-hint{margin:0;padding:9px 20px 0;color:var(--amber);font-size:10px;font-weight:600}
@media(max-width:1000px){.profile-identity-card{grid-template-columns:1fr}.profile-identity-metrics{grid-template-columns:repeat(2,1fr)}.profile-data-grid,.profile-highlight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admission-workflow-stage{grid-template-columns:34px minmax(0,1fr);padding:13px}.admission-workflow-stage>button{grid-column:2;width:100%}.admission-stage-meta{display:grid;gap:4px}.admission-workflow-card>header{align-items:flex-start}.admission-document-stage-heading{align-items:flex-start;flex-wrap:wrap}.admission-assessment-item{grid-template-columns:28px minmax(0,1fr) auto}.admission-assessment-actions{grid-column:2/-1;justify-content:flex-end}.admission-assessment-actions .secondary-button{flex:1}.profile-identity-metrics,.profile-data-grid,.profile-highlight-grid{grid-template-columns:1fr}.profile-identity-metrics>div{border-left:0;border-top:1px solid #dce5ee}.profile-file-row{grid-template-columns:38px minmax(0,1fr)}.profile-file-row>button,.profile-file-row>.status-pill{grid-column:2;justify-self:start}.profile-tabs{margin-inline:-2px}.admission-stage-modal .form-grid{grid-template-columns:1fr}}

.admission-inventory-delivery{display:grid;gap:12px}.admission-inventory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admission-inventory-heading strong,.admission-inventory-heading small{display:block}.admission-inventory-heading strong{font-size:12px}.admission-inventory-heading small{max-width:430px;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.admission-inventory-heading>span{padding:5px 9px;border-radius:999px;color:#176b45;background:#e1f5e9;font-size:9px;font-weight:800;white-space:nowrap}.admission-inventory-list{display:grid;gap:8px}.admission-inventory-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(230px,1.7fr) 90px;gap:10px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.admission-inventory-request{align-self:center;min-width:0}.admission-inventory-request strong,.admission-inventory-request small{display:block}.admission-inventory-request strong{font-size:10px}.admission-inventory-request small{margin-top:3px;color:var(--muted);font-size:9px}.admission-inventory-row label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:750;text-transform:uppercase}.admission-inventory-row select,.admission-inventory-row input{width:100%;min-height:36px;border:1px solid #d6e0eb;border-radius:7px;padding:0 9px;color:var(--ink);background:var(--white);font:600 10px "DM Sans",sans-serif;text-transform:none}.admission-inventory-note{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:8px;background:#eaf2ff}.admission-inventory-note>span{width:23px;height:23px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#245fc7;background:#d5e5ff;font-size:10px;font-weight:900}.admission-inventory-note>span.success{color:#197548;background:#d9f1e3}.admission-inventory-note strong,.admission-inventory-note small{display:block}.admission-inventory-note strong{font-size:10px}.admission-inventory-note small{margin-top:2px;color:var(--muted);font-size:9px}.admission-inventory-empty{padding:17px;border:1px dashed #c8d7e8;border-radius:8px;text-align:center}.admission-inventory-empty strong,.admission-inventory-empty small{display:block}.admission-inventory-empty strong{font-size:11px}.admission-inventory-empty small{margin-top:4px;color:var(--muted);font-size:9px}[data-theme="dark"] .admission-inventory-row,[data-theme="dark"] .admission-inventory-row select,[data-theme="dark"] .admission-inventory-row input{border-color:var(--line);background:#152238}[data-theme="dark"] .admission-inventory-heading>span{color:#7fd6aa;background:#143d2d}[data-theme="dark"] .admission-inventory-note{background:#172d4a}
@media(max-width:700px){.admission-inventory-heading{display:grid}.admission-inventory-heading>span{justify-self:start}.admission-inventory-row{grid-template-columns:1fr}.admission-inventory-quantity{max-width:130px}}

/* Documentos separados para cada filho dependente */
.admission-dependent-summary{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admission-dependent-summary strong{font-size:10px;color:var(--muted)}.admission-children-list{display:grid;gap:14px;padding:16px 18px 18px;background:#f8fafc}.admission-child-card{overflow:hidden;border:1px solid #dbe4ee;border-radius:10px;background:var(--white)}.admission-child-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-bottom:1px solid #e4ebf2;background:#f5f8fc}.admission-child-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.admission-child-identity>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#dceaff;color:#255fc5;font-size:10px;font-weight:800}.admission-child-identity label{display:grid;gap:4px;min-width:0;flex:1;color:var(--muted);font-size:9px;font-weight:700}.admission-child-identity input{width:100%;min-height:35px;padding:7px 10px;border:1px solid #d5e0eb;border-radius:7px;background:var(--white);color:var(--ink);font:600 11px "DM Sans",sans-serif}.admission-child-identity input:focus{border-color:#78a4f5;outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.admission-child-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admission-child-controls strong{color:#53677b;font-size:9px}.danger-text-button{color:#bd3a3a!important}.danger-text-button:hover{background:#fff0ef!important}.admission-child-card .checklist-documents{border:0}.admission-child-card .checklist-document:last-child{border-bottom:0}
.dismissal-document-date{display:flex;align-items:center;gap:7px;margin-top:8px;color:#64748b;font-size:9px;font-weight:700}.dismissal-document-date span{margin:0}.dismissal-document-date input{min-height:31px;padding:5px 8px;border:1px solid #d5e0eb;border-radius:7px;background:#fff;color:#263b51;font:600 10px "DM Sans",sans-serif}.dismissal-document-date input:focus{border-color:#78a4f5;outline:0;box-shadow:0 0 0 3px var(--focus-ring)}
.admission-add-child-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px dashed #b8c9dc;border-radius:10px;background:var(--white)}.admission-add-child-row small{color:var(--muted);font-size:9px}
[data-theme="dark"] .admission-children-list,[data-theme="dark"] .admission-child-header{background:#18263b}[data-theme="dark"] .admission-child-card,[data-theme="dark"] .admission-child-identity input{background:#152238;border-color:var(--line)}
@media(max-width:700px){.admission-dependent-summary{justify-content:flex-start}.admission-dependent-summary .secondary-button{width:100%}.admission-children-list{padding:12px}.admission-child-header{align-items:stretch;flex-direction:column}.admission-child-controls{justify-content:space-between}.admission-child-controls .text-button{min-height:34px}.admission-child-identity input{font-size:16px}}

/* Disparo individual de espelhos de ponto */
.email-dispatch-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.email-dispatch-tabs>button{display:flex;align-items:center;gap:12px;min-height:70px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.email-dispatch-tabs>button:hover{border-color:#9ab9ed;transform:translateY(-1px)}.email-dispatch-tabs>button.active{border-color:var(--blue);background:#f4f8ff;box-shadow:0 0 0 2px var(--focus-ring)}.email-dispatch-tabs>button>span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-size:18px}.email-dispatch-tabs strong,.email-dispatch-tabs small{display:block}.email-dispatch-tabs strong{font-size:13px}.email-dispatch-tabs small{margin-top:4px;color:var(--muted);font-size:10px}.point-mirror-workspace{display:grid;gap:18px}.email-flow-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 20px;border:1px solid #bfd6ff;border-radius:12px;background:#f4f8ff}.email-flow-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--blue);color:#fff;font-size:20px}.email-flow-intro strong,.email-flow-intro p{display:block}.email-flow-intro p{margin:4px 0 0;color:#53677b;font-size:11px;line-height:1.5}.email-step-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}.point-mirror-step-body{display:grid;gap:13px;padding:0 20px 20px}.email-ready-message,.email-warning-message{display:flex;min-height:112px;flex-direction:column;align-items:flex-start;justify-content:center;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.email-ready-message strong,.email-warning-message strong{font-size:12px}.email-ready-message span,.email-warning-message span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.email-warning-message button{margin-top:12px}.point-mirror-summary{display:flex;gap:8px;flex-wrap:wrap}.point-mirror-table-wrap{overflow:auto;padding:0 20px 20px}.point-mirror-table{min-width:1120px;margin:0}.point-mirror-table th:nth-child(1){width:23%}.point-mirror-table th:nth-child(2){width:31%}.point-mirror-table th:nth-child(3){width:21%}.point-mirror-table th:nth-child(4){width:17%}.point-mirror-table th:nth-child(5){width:8%}.point-mirror-table td{vertical-align:middle}.point-mirror-file{display:flex;align-items:center;gap:10px;min-width:0}.point-mirror-file>div{min-width:0}.point-mirror-file strong,.point-mirror-file small{display:block}.point-mirror-file strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.point-mirror-file small{margin-top:4px;color:var(--muted);font-size:9px}.point-mirror-employee-select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.point-mirror-destination{min-width:0}.point-mirror-destination strong{display:block;max-width:100%;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.point-mirror-table .status-pill{max-width:100%;white-space:normal}.point-mirror-empty{margin:0 20px 20px}.email-confirmation-box{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid var(--line);border-radius:10px}.email-confirmation-box strong{font-size:12px}.email-confirmation-box span{font-size:10px}.email-confirmation-box.ready{border-color:#a7e7c2;background:#effbf4;color:#147642}.email-confirmation-box.waiting{border-color:#f4d39b;background:#fff9ed;color:#985b0d}.point-mirror-report{padding:0 20px 20px}.point-mirror-report .offboarding-row{border:1px solid var(--line);border-radius:9px;margin-top:8px}.full-width{grid-column:1/-1}[data-theme="dark"] .email-dispatch-tabs>button,[data-theme="dark"] .email-ready-message,[data-theme="dark"] .email-warning-message{background:#152238}[data-theme="dark"] .email-dispatch-tabs>button.active,[data-theme="dark"] .email-flow-intro{background:#182b49}[data-theme="dark"] .email-flow-intro p{color:var(--muted)}[data-theme="dark"] .email-confirmation-box.ready{background:#173629}[data-theme="dark"] .email-confirmation-box.waiting{background:#3a2c18}
@media(max-width:900px){.email-step-grid{grid-template-columns:1fr}.email-flow-intro{grid-template-columns:auto minmax(0,1fr)}.email-flow-intro>.status-pill{grid-column:2;justify-self:start}}
@media(max-width:800px){.point-mirror-table th:nth-child(3),.point-mirror-table td:nth-child(3),.point-mirror-table th:nth-child(4),.point-mirror-table td:nth-child(4){display:table-cell}}
@media(max-width:650px){.email-dispatch-tabs{grid-template-columns:1fr}.email-dispatch-tabs>button{min-height:62px}.email-flow-intro{grid-template-columns:1fr}.email-flow-intro>.status-pill{grid-column:1}.point-mirror-step-body,.point-mirror-table-wrap,.point-mirror-report{padding-inline:14px}.point-mirror-workspace .card-header{align-items:flex-start;flex-direction:column}.point-mirror-workspace .primary-button,.point-mirror-workspace .secondary-button{width:100%;justify-content:center}}

/* Histórico individual de ocorrências e medidas disciplinares */
.disciplinary-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.disciplinary-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px}.disciplinary-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.disciplinary-summary span,.disciplinary-summary strong{display:block}.disciplinary-summary span{font-size:10px;color:var(--muted)}.disciplinary-summary strong{margin-top:5px;font-size:22px;color:var(--ink)}.disciplinary-history{display:grid;gap:12px;padding:0 20px 20px}.disciplinary-record-card{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,220px);gap:16px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.disciplinary-record-date strong,.disciplinary-record-date span{display:block}.disciplinary-record-date span{margin-top:5px;color:var(--muted);font-size:10px}.disciplinary-record-content p{margin:10px 0;color:var(--ink);font-size:11px;line-height:1.5}.disciplinary-record-content>small{color:var(--muted);font-size:9px}.disciplinary-attachment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;padding:11px;border-radius:10px;background:var(--blue-soft);color:var(--blue);overflow:hidden}.disciplinary-attachment>span{grid-row:1/3}.disciplinary-attachment strong,.disciplinary-attachment small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disciplinary-attachment strong{font-size:10px}.disciplinary-attachment small{font-size:9px}.disciplinary-legacy-files{padding-top:4px;border-top:1px solid var(--line)}.disciplinary-legacy-files>h3{margin:0;padding:18px 20px 4px;font-size:12px}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:9px}[data-theme="dark"] .disciplinary-record-card{background:#152238}[data-theme="dark"] .disciplinary-attachment{background:#182b49}
@media(max-width:760px){.disciplinary-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.disciplinary-history{padding:0 14px 14px}.disciplinary-record-card{grid-template-columns:1fr}.disciplinary-attachment{max-width:100%}.disciplinary-modal{width:calc(100vw - 18px);max-height:94vh}.disciplinary-modal .form-grid{grid-template-columns:1fr}}

/* Central geral de advertencias */
.disciplinary-control-card{overflow:hidden}.disciplinary-control-actions{display:flex;align-items:end;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}.disciplinary-control-actions label{display:grid;gap:7px;min-width:min(520px,70%);font-size:12px;font-weight:700;color:var(--muted)}.disciplinary-control-actions .primary-button{margin-left:auto}.disciplinary-control-card>.disciplinary-summary{padding:20px 22px 0}.disciplinary-filters{display:grid;grid-template-columns:minmax(260px,1fr) 230px 230px;gap:12px;padding:18px 22px}.disciplinary-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.disciplinary-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.disciplinary-table{min-width:980px}.disciplinary-table td:first-child{min-width:220px}.disciplinary-table td:first-child strong,.disciplinary-table td:first-child small{display:block}.disciplinary-table td:first-child small{margin-top:4px;color:var(--muted)}.disciplinary-table td:nth-child(5){min-width:240px;white-space:normal}.disciplinary-file-badge{display:inline-flex;align-items:center;gap:6px;max-width:260px;color:var(--primary);font-weight:700;overflow-wrap:anywhere}.disciplinary-control-card .table-footer{display:flex;justify-content:space-between;gap:16px;padding:14px 22px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
@media(max-width:800px){.disciplinary-control-actions{align-items:stretch;flex-direction:column}.disciplinary-control-actions label{min-width:0}.disciplinary-control-actions .primary-button{margin-left:0;width:100%}.disciplinary-filters{grid-template-columns:1fr}.disciplinary-control-card>.disciplinary-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.disciplinary-control-card .table-footer{flex-direction:column}}
.disciplinary-page-card{margin-bottom:22px;border-color:#dbe5f0;box-shadow:0 10px 30px rgba(20,46,78,.055)}
.disciplinary-command-bar{padding:22px 24px 20px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#f7faff 0%,#fff 72%)}
.disciplinary-command-copy{display:flex;gap:13px;align-items:center;margin-bottom:17px}.disciplinary-command-copy>div{min-width:0}.disciplinary-command-copy strong{display:block;color:var(--ink);font-size:14px}.disciplinary-command-copy p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.disciplinary-command-icon{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;border-radius:11px;background:#fff1d8;color:#a96609;font:800 18px "Manrope",sans-serif}
.disciplinary-page-card .disciplinary-control-actions{align-items:end;padding:0;border:0}.disciplinary-page-card .disciplinary-control-actions label{width:min(620px,70%);min-width:280px;color:#42556a;font-size:10px;letter-spacing:.02em}.disciplinary-page-card .modal-input{width:100%;min-height:43px;padding:0 13px;border:1px solid #d4deea;border-radius:9px;background:var(--white);color:var(--ink);font:600 12px "DM Sans",sans-serif;outline:0;transition:border-color .16s ease,box-shadow .16s ease}.disciplinary-page-card .modal-input:hover{border-color:#afc3df}.disciplinary-page-card .modal-input:focus{border-color:#4d82e6;box-shadow:0 0 0 3px rgba(47,110,223,.12)}.disciplinary-page-card .disciplinary-control-actions .primary-button{min-height:43px;padding-inline:18px;border-radius:9px;box-shadow:0 7px 17px rgba(37,99,235,.18)}
.disciplinary-page-card>.disciplinary-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 24px}.disciplinary-summary-card{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:98px;padding:16px!important;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fbff)!important;box-shadow:0 4px 13px rgba(21,49,79,.035)}.disciplinary-summary-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2f6edf}.disciplinary-summary-card.amber::before{background:#dc8b1e}.disciplinary-summary-card.red::before{background:#d84a4a}.disciplinary-summary-card.green::before{background:#29a267}.disciplinary-summary-icon{display:grid!important;width:40px;height:40px;place-items:center;border-radius:11px;background:#e9f1ff;color:#2864ca;font:800 16px "Manrope",sans-serif}.disciplinary-summary-card.amber .disciplinary-summary-icon{background:#fff1d8;color:#a96609}.disciplinary-summary-card.red .disciplinary-summary-icon{background:#ffebea;color:#bd3a3a}.disciplinary-summary-card.green .disciplinary-summary-icon{background:#e5f7ed;color:#188151}.disciplinary-summary-card>div>span{min-height:0;color:#607286;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.disciplinary-summary-card>div>strong{margin-top:2px;color:#14283f;font:800 24px "Manrope",sans-serif;letter-spacing:-.04em}.disciplinary-summary-card>div>small{display:block;margin-top:2px;color:#8190a0;font-size:9px}
.disciplinary-filter-panel{margin:0 24px 20px;overflow:hidden;border:1px solid #dce5ef;border-radius:11px;background:#fbfdff}.disciplinary-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid #e4ebf2}.disciplinary-filter-heading strong,.disciplinary-filter-heading span{display:block}.disciplinary-filter-heading strong{font-size:12px}.disciplinary-filter-heading span{margin-top:3px;color:var(--muted);font-size:9px}.disciplinary-filter-heading>b{padding:5px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:9px;white-space:nowrap}.disciplinary-page-card .disciplinary-filters{grid-template-columns:minmax(280px,1fr) minmax(180px,.55fr) minmax(180px,.55fr);gap:12px;padding:14px 16px 16px}.disciplinary-page-card .disciplinary-filters label{color:#53677b;font-size:10px}
.disciplinary-table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 24px 13px;border-top:1px solid var(--line)}.disciplinary-table-heading strong,.disciplinary-table-heading span{display:block}.disciplinary-table-heading strong{font-size:14px}.disciplinary-table-heading div>span{margin-top:3px;color:var(--muted);font-size:9px}.disciplinary-table-heading>span{padding:5px 9px;border-radius:999px;background:#eef3f8;color:#627385;font-size:9px;font-weight:800}
.disciplinary-page-card .disciplinary-table-wrap{border-top:0}.disciplinary-page-card .disciplinary-table{min-width:1060px}.disciplinary-page-card .disciplinary-table th{height:44px;padding-inline:18px;background:#f7f9fc;color:#718196;font-size:9px}.disciplinary-page-card .disciplinary-table td{padding:15px 18px;color:#405267;vertical-align:middle;line-height:1.45}.disciplinary-page-card .disciplinary-table tbody tr:nth-child(even) td{background:#fbfcfe}.disciplinary-page-card .disciplinary-table tbody tr:hover td{background:#f2f7ff}.disciplinary-person{display:flex;gap:10px;align-items:center}.disciplinary-person>span{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border-radius:50%;background:#e2edff;color:#2864ca;font-size:10px;font-weight:800}.disciplinary-person strong,.disciplinary-person small{display:block}.disciplinary-person strong{font-size:11px}.disciplinary-person small{margin-top:2px!important;font-size:9px}.disciplinary-date{font-size:10px;white-space:nowrap}.disciplinary-type,.disciplinary-reason{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.disciplinary-type.blue{background:#e9f1ff;color:#2864ca}.disciplinary-type.amber{background:#fff1d8;color:#9a5e09}.disciplinary-type.red{background:#ffebea;color:#b73939}.disciplinary-type.green{background:#e5f7ed;color:#187b4e}.disciplinary-reason{border:1px solid #dde5ee;background:#f7f9fc;color:#53677b}.disciplinary-notes{display:block;max-width:320px;color:#52657a;font-size:10px;line-height:1.55}.disciplinary-page-card .disciplinary-file-badge{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:center;max-width:250px}.disciplinary-file-badge>b{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;background:#e9f1ff;color:#2864ca}.disciplinary-file-badge>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.disciplinary-empty{display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.disciplinary-empty>span{display:grid;width:42px;height:42px;place-items:center;margin-bottom:10px;border-radius:12px;background:#fff1d8;color:#a96609;font-size:18px;font-weight:800}.disciplinary-empty strong{font-size:13px}.disciplinary-empty small{max-width:380px;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.disciplinary-empty button{margin-top:15px}.disciplinary-page-card .table-footer{align-items:center;padding:15px 24px;background:#fbfcfe;font-size:10px}.disciplinary-page-card .table-footer b{color:#53677b}
[data-theme="dark"] .disciplinary-command-bar,[data-theme="dark"] .disciplinary-filter-panel,[data-theme="dark"] .disciplinary-page-card .table-footer{background:#18263b}[data-theme="dark"] .disciplinary-page-card .modal-input,[data-theme="dark"] .disciplinary-summary-card{background:#152238!important;border-color:var(--line);color:var(--ink)}[data-theme="dark"] .disciplinary-summary-card>div>strong{color:var(--ink)}[data-theme="dark"] .disciplinary-filter-heading,[data-theme="dark"] .disciplinary-table-heading{border-color:var(--line)}[data-theme="dark"] .disciplinary-page-card .disciplinary-table th,[data-theme="dark"] .disciplinary-page-card .disciplinary-table tbody tr:nth-child(even) td{background:#18263b}[data-theme="dark"] .disciplinary-page-card .disciplinary-table tbody tr:hover td{background:#1d304c}[data-theme="dark"] .disciplinary-reason{border-color:var(--line);background:#18263b;color:var(--muted)}
@media(max-width:1050px){.disciplinary-page-card>.disciplinary-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.disciplinary-page-card .disciplinary-filters{grid-template-columns:1fr 1fr}.disciplinary-page-card .disciplinary-filters label:first-child{grid-column:1/-1}}
@media(max-width:800px){.disciplinary-command-bar{padding:18px}.disciplinary-page-card .disciplinary-control-actions label{width:100%;min-width:0}.disciplinary-page-card>.disciplinary-summary{padding:16px 18px}.disciplinary-filter-panel{margin-inline:18px}.disciplinary-page-card .disciplinary-filters{grid-template-columns:1fr}.disciplinary-page-card .disciplinary-filters label:first-child{grid-column:auto}.disciplinary-table-heading{padding-inline:18px}.disciplinary-page-card .table-footer{align-items:flex-start;padding-inline:18px}}
@media(max-width:520px){.disciplinary-command-copy{align-items:flex-start}.disciplinary-page-card>.disciplinary-summary{grid-template-columns:1fr;gap:8px}.disciplinary-summary-card{min-height:86px}.disciplinary-filter-heading,.disciplinary-table-heading{align-items:flex-start;flex-direction:column}.disciplinary-filter-panel{margin-inline:14px}.disciplinary-command-bar{padding:16px 14px}.disciplinary-page-card>.disciplinary-summary,.disciplinary-table-heading{padding-inline:14px}}
.disciplinary-modal [hidden]{display:none!important}
.absenteeism-control-card,.absenteeism-report-card,.absenteeism-history-card{margin-bottom:18px;border-color:#dbe5f0;box-shadow:0 8px 24px rgba(15,42,72,.045)}
.absenteeism-control-card .disciplinary-control-actions{align-items:center;padding:22px 24px;background:linear-gradient(120deg,#f7faff 0%,#fff 70%)}
.absenteeism-control-card .disciplinary-control-actions label{width:min(620px,72%);min-width:280px;color:#42556a;font-size:11px;letter-spacing:.01em}
.absenteeism-control-card .modal-input{width:100%;min-height:42px;padding:0 13px;border:1px solid #d4deea;border-radius:9px;background:var(--white);color:var(--ink);font:600 12px "DM Sans",sans-serif;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.absenteeism-control-card input.modal-input{font-weight:500}
.absenteeism-control-card .modal-input:hover{border-color:#afc3df}
.absenteeism-control-card .modal-input:focus{border-color:#4d82e6;box-shadow:0 0 0 3px rgba(47,110,223,.12)}
.absenteeism-control-card .disciplinary-control-actions .primary-button{min-height:42px;padding-inline:18px;border-radius:9px;box-shadow:0 7px 16px rgba(37,99,235,.18)}
.absenteeism-control-card .disciplinary-filters{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;padding:20px 24px 14px}
.absenteeism-control-card .disciplinary-filters label:nth-child(3){grid-column:span 2}
.absenteeism-control-card .disciplinary-filters label{color:#53677b;font-size:10px;letter-spacing:.02em}
.absenteeism-control-card>.disciplinary-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:10px 24px 24px}
.absenteeism-control-card>.disciplinary-summary>div{position:relative;min-height:94px;padding:17px 16px 14px;overflow:hidden;border-color:#dce5ef;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 4px 12px rgba(21,49,79,.035)}
.absenteeism-control-card>.disciplinary-summary>div::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2f6edf}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(2)::before{background:#d84a4a}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(3)::before{background:#29a267}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(4)::before{background:#8b63d9}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(5)::before{background:#e28a25}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(6)::before{background:#16889b}
.absenteeism-control-card>.disciplinary-summary span{min-height:26px;color:#607286;font-size:10px;font-weight:700;line-height:1.3}
.absenteeism-control-card>.disciplinary-summary strong{margin-top:3px;color:#14283f;font:800 21px "Manrope",sans-serif;letter-spacing:-.035em}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(7)::before{background:#5b6b7d}
.absenteeism-control-card>.disciplinary-summary>div:nth-child(8)::before{background:#3f8f6b}

/* Periodo de consulta: as datas mandam, e os atalhos so as preenchem. */
.absenteeism-period-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 0}
.absenteeism-period-label{color:#607286;font-size:10px;font-weight:700;letter-spacing:.02em}
.absenteeism-period-label strong{color:#14283f;font-weight:800}
.absenteeism-period-shortcuts{display:flex;flex-wrap:wrap;gap:8px}
.absenteeism-period-shortcuts .secondary-button{min-height:30px;padding-inline:12px;border-radius:999px;font-size:10px}

/* Conferencia da planilha de folgas, antes de gravar. */
.absenteeism-import-modal{max-width:min(920px,94vw)}
.absenteeism-import-preview:not(:empty){margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.absenteeism-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.absenteeism-import-summary>div{min-height:76px;padding:13px 14px;border:1px solid #dce5ef;border-radius:10px;background:linear-gradient(145deg,#fff,#f8fbff)}
.absenteeism-import-summary span{display:block;color:#607286;font-size:10px;font-weight:700}
.absenteeism-import-summary strong{display:block;margin-top:3px;color:#14283f;font:800 21px "Manrope",sans-serif;letter-spacing:-.035em}
.absenteeism-import-summary small{display:block;margin-top:2px;font-size:9px}
.absenteeism-import-preview details{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.absenteeism-import-preview summary{padding:12px 14px;color:#405267;cursor:pointer;font-size:11px;user-select:none}
.absenteeism-import-preview summary:hover{background:#f7faff}
.absenteeism-import-table{max-height:280px;overflow:auto;border-top:1px solid var(--line)}
.absenteeism-import-table .data-table{min-width:620px}
.absenteeism-import-table th{position:sticky;top:0;z-index:1;background:#f7f9fc;font-size:9px}
.absenteeism-import-table td{padding:9px 14px;font-size:11px}
.absenteeism-import-preview .absenteeism-alert{margin-bottom:10px}
.absenteeism-control-card>.disciplinary-summary small{display:block;margin-top:2px;color:#8190a0;font-size:9px}
.absenteeism-report-card .card-header,.absenteeism-history-card .card-header{padding:20px 24px;background:linear-gradient(180deg,#fff,#fbfdff)}
.absenteeism-report-card .card-title,.absenteeism-history-card .card-title{font-size:16px}
.absenteeism-report-disclosure{overflow:hidden}.absenteeism-report-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;background:linear-gradient(180deg,#fff,#fbfdff);cursor:pointer;list-style:none;user-select:none}.absenteeism-report-summary::-webkit-details-marker{display:none}.absenteeism-report-summary:hover{background:#f7faff}.absenteeism-report-summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.absenteeism-report-summary .card-title,.absenteeism-report-summary .card-subtitle{margin:0}.absenteeism-report-summary .card-subtitle{margin-top:4px}.absenteeism-report-summary-action{display:flex;align-items:center;gap:9px;color:var(--blue);font-size:11px;font-weight:800;white-space:nowrap}.absenteeism-report-summary-action b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:var(--blue-soft);font-size:22px;font-weight:500;line-height:1;transform:rotate(0deg);transition:transform .18s ease}.absenteeism-report-disclosure[open] .absenteeism-report-summary-action b{transform:rotate(90deg)}.absenteeism-report-content{border-top:1px solid var(--line)}
.absenteeism-report-tabs{display:flex;gap:8px;padding:16px 24px;border-bottom:1px solid var(--line);background:#fbfcfe}
.absenteeism-report-tabs button{appearance:none;min-height:38px;padding:0 15px;border:1px solid #d8e1eb;border-radius:999px;background:var(--white);color:#536579;cursor:pointer;font:700 11px "DM Sans",sans-serif;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.absenteeism-report-tabs button:hover{border-color:#91afe5;color:#245fc7;transform:translateY(-1px)}
.absenteeism-report-tabs button.active{border-color:#2f6edf;background:#2f6edf;color:#fff;box-shadow:0 5px 12px rgba(47,110,223,.2)}
.absenteeism-export-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:#fff}.absenteeism-export-bar>span{color:var(--muted);font-size:10px}.absenteeism-export-bar .secondary-button{min-height:36px;white-space:nowrap}
.absenteeism-report-card #absenteeism-report,.absenteeism-history-card .disciplinary-table-wrap{overflow-x:auto}
.absenteeism-report-card #absenteeism-report .data-table{min-width:760px}
.absenteeism-report-card .data-table th,.absenteeism-history-card .data-table th{height:44px;padding-inline:18px;background:#f7f9fc;color:#718196;font-size:9px}
.absenteeism-report-card .data-table td,.absenteeism-history-card .data-table td{padding:15px 18px;color:#405267;line-height:1.45}
.absenteeism-report-card .data-table tbody tr:nth-child(even) td,.absenteeism-history-card .data-table tbody tr:nth-child(even) td{background:#fbfcfe}
.absenteeism-report-card .data-table tbody tr:hover td,.absenteeism-history-card .data-table tbody tr:hover td{background:#f2f7ff}
.absenteeism-history-card .disciplinary-table{min-width:1120px}
.absenteeism-history-card .disciplinary-table td:first-child{min-width:190px}
.absenteeism-history-card .disciplinary-table td:nth-child(5){min-width:170px}
.absenteeism-history-card .disciplinary-table td:nth-child(7){min-width:220px}
.absenteeism-history-card .disciplinary-table td:nth-child(8){min-width:220px;white-space:normal}
.absenteeism-history-card .disciplinary-table td:nth-child(9){min-width:105px}.absence-current-file{display:block;margin:7px 0 9px;padding:9px 11px;border:1px solid #cfe0fb;border-radius:8px;background:#f3f7ff;color:#52657a;font-size:11px}.absence-current-file strong{color:var(--ink);overflow-wrap:anywhere}
.absenteeism-history-card .table-footer{align-items:center;padding:15px 24px;background:#fbfcfe}
[data-theme="dark"] .absenteeism-control-card .disciplinary-control-actions,[data-theme="dark"] .absenteeism-report-card .card-header,[data-theme="dark"] .absenteeism-history-card .card-header,[data-theme="dark"] .absenteeism-report-tabs{background:#18263b}
[data-theme="dark"] .absenteeism-report-summary,[data-theme="dark"] .absenteeism-report-summary:hover{background:#18263b}
[data-theme="dark"] .absenteeism-control-card .modal-input,[data-theme="dark"] .absenteeism-report-tabs button{background:#152238;border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .absenteeism-export-bar{background:#152238}
[data-theme="dark"] .absenteeism-control-card>.disciplinary-summary>div{background:#152238;border-color:var(--line)}
[data-theme="dark"] .absenteeism-control-card>.disciplinary-summary strong{color:var(--ink)}
[data-theme="dark"] .absenteeism-history-card .table-footer{background:#152238}
[data-theme="dark"] .absence-current-file{background:#152238;border-color:var(--line);color:var(--muted)}
@media(max-width:1280px){.absenteeism-control-card .disciplinary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.absenteeism-control-card .disciplinary-filters label:nth-child(3){grid-column:1/-1}.absenteeism-control-card>.disciplinary-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.absenteeism-control-card .disciplinary-control-actions{padding:18px}.absenteeism-control-card .disciplinary-control-actions label{width:100%;min-width:0}.absenteeism-control-card .disciplinary-filters{grid-template-columns:1fr;padding:16px 18px 10px}.absenteeism-control-card .disciplinary-filters label:nth-child(3){grid-column:auto}.absenteeism-control-card>.disciplinary-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 18px 18px}.absenteeism-report-tabs{padding:14px 18px;overflow-x:auto}.absenteeism-report-tabs button{flex:0 0 auto}.absenteeism-export-bar{align-items:stretch;flex-direction:column;padding:12px 18px}.absenteeism-export-bar .secondary-button{width:100%}.absenteeism-report-card .data-table th:nth-child(3),.absenteeism-report-card .data-table td:nth-child(3),.absenteeism-report-card .data-table th:nth-child(4),.absenteeism-report-card .data-table td:nth-child(4),.absenteeism-history-card .data-table th:nth-child(3),.absenteeism-history-card .data-table td:nth-child(3),.absenteeism-history-card .data-table th:nth-child(4),.absenteeism-history-card .data-table td:nth-child(4){display:table-cell}.absenteeism-history-card .table-footer{align-items:flex-start}}
@media(max-width:520px){.absenteeism-control-card>.disciplinary-summary{grid-template-columns:1fr 1fr;gap:8px}.absenteeism-control-card>.disciplinary-summary>div{min-height:86px;padding:14px}.absenteeism-report-card .card-header,.absenteeism-history-card .card-header,.absenteeism-report-summary{padding:16px 18px}.absenteeism-report-summary-action>span{display:none}.absenteeism-report-tabs{padding-inline:16px}}

/* Checklist de admissão organizado e upload com progresso */
.admission-upload-destination{display:flex;gap:11px;align-items:flex-start;margin:0 0 13px;padding:12px 14px;border:1px solid #bfd6ff;border-radius:10px;background:#f3f7ff;color:#244f96}.admission-upload-destination>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#dce9ff;color:#2563c9}.admission-upload-destination strong,.admission-upload-destination p{display:block}.admission-upload-destination strong{font-size:11px}.admission-upload-destination p{margin:3px 0 0;color:#587092;font-size:10px;line-height:1.45}.admission-document-buckets{display:grid;gap:12px;padding:14px 18px 18px}.admission-document-bucket{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--white)}.admission-document-bucket>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line);background:#f8fafc}.admission-document-bucket>header strong,.admission-document-bucket>header span{display:block}.admission-document-bucket>header strong{font-size:11px}.admission-document-bucket>header span{margin-top:3px;color:var(--muted);font-size:9px}.admission-document-bucket>header b{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:#e8eef5;color:#53677c;font-size:10px}.admission-document-bucket.required{border-color:#f0d39b}.admission-document-bucket.required>header{background:#fff9ee}.admission-document-bucket.required>header b{background:#ffe9bd;color:#9a5b08}.admission-document-bucket.optional>header b{background:#edf2f7;color:#64748b}.admission-document-bucket.attached{border-color:#b9e4ca}.admission-document-bucket.attached>header{background:#f2fbf6}.admission-document-bucket.attached>header b{background:#dff5e7;color:#187a46}.admission-document-bucket .checklist-documents{padding:0 13px}.admission-required-complete{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid #b9e4ca;border-radius:10px;background:#f2fbf6;color:#187a46}.admission-required-complete>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#dff5e7;font-weight:800}.admission-required-complete strong,.admission-required-complete small{display:block}.admission-required-complete strong{font-size:11px}.admission-required-complete small{margin-top:3px;color:#56806a;font-size:9px}.optional-label{display:inline-flex!important;margin:0 0 0 5px!important;padding:2px 6px;border-radius:999px;background:#edf2f7;color:#64748b!important;font-size:8px!important;font-weight:700!important;vertical-align:middle}.document-upload-feedback{display:grid;gap:6px;margin-top:8px;padding:8px 9px;border-radius:8px;background:#edf5ff;color:#285da9}.document-upload-feedback[hidden]{display:none}.document-upload-feedback>div{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:6px;align-items:center}.document-upload-feedback>div>span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#d9e8ff;font-weight:800}.document-upload-feedback strong{font-size:9px}.document-upload-feedback small{font-size:9px;font-weight:800}.document-upload-progress{height:4px;overflow:hidden;border-radius:999px;background:#cedcf0}.document-upload-progress i{display:block;height:100%;border-radius:inherit;background:#2f6edf;transition:width .18s ease}.document-upload-feedback.error{background:#fff1f0;color:#b93636}.document-upload-feedback.error>div>span{background:#ffdeda}.checklist-document.is-uploading{background:#f8fbff}.checklist-document.upload-failed{background:#fffafa}.document-toggle.retry{border-color:#efb0aa;background:#fff4f3;color:#b93636}.document-actions button:disabled{cursor:wait;opacity:.62}
[data-theme="dark"] .admission-upload-destination,[data-theme="dark"] .admission-document-bucket>header,[data-theme="dark"] .admission-document-bucket.required>header,[data-theme="dark"] .admission-document-bucket.attached>header,[data-theme="dark"] .admission-required-complete{background:#18263b}.admission-child-card>.admission-document-buckets{padding:12px}
@media(max-width:700px){.admission-document-buckets{padding:12px}.admission-document-bucket .checklist-documents{padding:0 10px}.admission-document-bucket>header{align-items:flex-start}.admission-upload-destination{margin-inline:0}.document-upload-feedback>div{grid-template-columns:18px minmax(0,1fr)}.document-upload-feedback small{grid-column:2}.checklist-document{padding-block:13px}}

/* Atas: responsáveis do plano de ação separados por pessoa */
.minutes-owner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.minutes-owner-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--white)}.minutes-owner-card>header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.minutes-owner-card>header strong{display:block;font-size:12px;color:var(--ink)}.minutes-owner-card>header small{color:var(--muted);font-size:10px;font-weight:600}.minutes-owner-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:800}.minutes-owner-card.unassigned .minutes-owner-avatar{background:#f1f3f7;color:var(--muted)}.minutes-owner-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.minutes-owner-card li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:11px;color:var(--ink-soft,#3d4a5c);line-height:1.4}.minutes-owner-card li em{flex:0 0 auto;font-style:normal;font-size:9px;font-weight:700;color:var(--muted);white-space:nowrap;padding-top:1px}

/* Calendário do RH: demandas manuais + pendências automáticas do sistema */
.hrcal-page{max-width:1450px;margin:0 auto;padding-bottom:32px}
.hrcal-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.hrcal-error{margin-bottom:16px;padding:12px 14px;border:1px solid #f3c9c4;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:12px;font-weight:600}
.hrcal-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.hrcal-kpi{padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:var(--white);box-shadow:0 4px 12px rgba(20,45,70,.025)}
.hrcal-kpi span{display:block;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.hrcal-kpi strong{display:block;margin:6px 0 2px;font-size:26px;line-height:1;color:var(--ink)}
.hrcal-kpi small{color:var(--muted);font-size:10px}
.hrcal-kpi-blue strong{color:var(--blue)}.hrcal-kpi-red strong{color:var(--red)}.hrcal-kpi-amber strong{color:var(--amber)}.hrcal-kpi-green strong{color:var(--green)}
.hrcal-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.hrcal-filter{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--ink);font-size:11px;font-weight:650;cursor:pointer}
.hrcal-filter i{width:9px;height:9px;border-radius:50%;background:currentColor;flex:0 0 9px}
.hrcal-filter em{font-style:normal;color:var(--muted);font-size:10px;font-weight:700}
.hrcal-filter.off{opacity:.45;text-decoration:line-through}
.hrcal-filter:hover{border-color:#c9d6e6}
.hrcal-tone-blue i{color:var(--blue)}.hrcal-tone-red i{color:var(--red)}.hrcal-tone-green i{color:var(--green)}.hrcal-tone-amber i{color:var(--amber)}
.hrcal-tone-teal i{color:#0f766e}.hrcal-tone-purple i{color:#7c3aed}.hrcal-tone-slate i{color:#475569}
.hrcal-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:start}
.hrcal-nav{display:flex;gap:6px}
.hrcal-grid-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}
.hrcal-grid-head span{padding:4px 0;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.05em;text-align:center;text-transform:uppercase}
.hrcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.hrcal-day{display:flex;flex-direction:column;gap:5px;min-width:0;min-height:104px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.hrcal-day:hover{border-color:#b9cbe4}
.hrcal-day.outside{background:var(--canvas);opacity:.6}
.hrcal-day.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.hrcal-day.selected{box-shadow:0 0 0 2px var(--focus-ring);border-color:var(--blue)}
.hrcal-day>header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:750;color:var(--ink)}
.hrcal-day>header i{font-style:normal;padding:1px 6px;border-radius:99px;background:var(--blue-soft);color:var(--blue);font-size:9px;font-weight:800}
.hrcal-day-events{display:flex;flex-direction:column;gap:3px;min-width:0}
.hrcal-chip{display:block;width:100%;overflow:hidden;padding:3px 6px;border:0;border-left:3px solid currentColor;border-radius:4px;background:rgba(37,99,235,.07);color:var(--blue);font-size:10px;font-weight:650;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.hrcal-chip b{margin-right:4px;font-weight:800}
.hrcal-chip.overdue{background:var(--red-soft);color:var(--red)}
.hrcal-chip.done{opacity:.55;text-decoration:line-through}
.hrcal-chip.hrcal-tone-red{background:var(--red-soft);color:var(--red)}
.hrcal-chip.hrcal-tone-green{background:var(--green-soft);color:var(--green)}
.hrcal-chip.hrcal-tone-amber{background:var(--amber-soft);color:var(--amber)}
.hrcal-chip.hrcal-tone-teal{background:#e6f6f4;color:#0f766e}
.hrcal-chip.hrcal-tone-purple{background:#f1ebff;color:#7c3aed}
.hrcal-chip.hrcal-tone-slate{background:#eef1f5;color:#475569}
.hrcal-more{padding-left:4px;color:var(--muted);font-size:9px;font-weight:700}
.hrcal-panel{position:sticky;top:96px}
.hrcal-detail-list{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow-y:auto}
.hrcal-detail{padding:11px 13px;border:1px solid var(--line);border-left:3px solid currentColor;border-radius:9px;background:var(--white)}
.hrcal-detail.hrcal-tone-blue{color:var(--blue)}.hrcal-detail.hrcal-tone-red{color:var(--red)}.hrcal-detail.hrcal-tone-green{color:var(--green)}
.hrcal-detail.hrcal-tone-amber{color:var(--amber)}.hrcal-detail.hrcal-tone-teal{color:#0f766e}.hrcal-detail.hrcal-tone-purple{color:#7c3aed}.hrcal-detail.hrcal-tone-slate{color:#475569}
.hrcal-detail>header{display:flex;flex-direction:column;gap:2px;margin-bottom:5px}
.hrcal-detail>header strong{font-size:12px;color:var(--ink);line-height:1.35}
.hrcal-detail>header span{color:var(--muted);font-size:10px;font-weight:650}
.hrcal-detail p{margin:0 0 7px;color:#3d4a5c;font-size:11px;line-height:1.45}
.hrcal-detail footer{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hrcal-origin,.hrcal-owner,.hrcal-badge{padding:2px 7px;border-radius:99px;font-size:9px;font-weight:750}
.hrcal-origin{border:1px solid currentColor;background:transparent}
.hrcal-owner{background:var(--canvas);color:var(--muted)}
.hrcal-badge.overdue{background:var(--red-soft);color:var(--red)}
.hrcal-badge.alta{background:var(--amber-soft);color:var(--amber)}
.hrcal-detail-actions{display:flex;gap:6px;margin-top:9px}
.hrcal-detail-actions .danger{color:var(--red);border-color:#f0cfcb}
.hrcal-empty{padding:26px 14px;border:1px dashed var(--line);border-radius:10px;text-align:center}
.hrcal-empty strong{display:block;font-size:12px;color:var(--ink)}
.hrcal-empty p{margin:5px 0 0;color:var(--muted);font-size:11px}
.hrcal-upcoming{margin-top:16px}
.hrcal-upcoming-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.hrcal-upcoming-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-left:3px solid currentColor;border-radius:9px;background:var(--white);text-align:left;cursor:pointer}
.hrcal-upcoming-item.hrcal-tone-blue{color:var(--blue)}.hrcal-upcoming-item.hrcal-tone-red{color:var(--red)}.hrcal-upcoming-item.hrcal-tone-green{color:var(--green)}
.hrcal-upcoming-item.hrcal-tone-amber{color:var(--amber)}.hrcal-upcoming-item.hrcal-tone-teal{color:#0f766e}.hrcal-upcoming-item.hrcal-tone-purple{color:#7c3aed}.hrcal-upcoming-item.hrcal-tone-slate{color:#475569}
.hrcal-upcoming-item.overdue{background:var(--red-soft)}
.hrcal-upcoming-date{flex:0 0 auto;font-size:12px;font-weight:800}
.hrcal-upcoming-copy{display:flex;flex-direction:column;min-width:0}
.hrcal-upcoming-copy strong{overflow:hidden;font-size:11px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}
.hrcal-upcoming-copy small{color:var(--muted);font-size:10px}
.hrcal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hrcal-demand-modal{max-width:560px}
@media(max-width:1100px){.hrcal-layout{grid-template-columns:1fr}.hrcal-panel{position:static}}
@media(max-width:760px){.hrcal-day{min-height:76px}.hrcal-chip{font-size:9px}.hrcal-form-grid{grid-template-columns:1fr}.hrcal-grid,.hrcal-grid-head{gap:3px}}

/* Demonstrativo Agregados: frota separada por RSTM, Guedes e Agregados */
.fleet-demonstrativo{max-width:1500px;margin:0 auto;padding-bottom:32px}
.fleet-error{margin-bottom:16px;padding:12px 14px;border:1px solid #f3c9c4;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:12px;font-weight:600}
.fleet-group-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fleet-group-filter{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}
.fleet-group-filter em{font-style:normal;padding:1px 7px;border-radius:99px;background:var(--canvas);color:var(--muted);font-size:10px;font-weight:800}
.fleet-group-filter:hover{border-color:#b9cbe4}
.fleet-group-filter.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.fleet-group-filter.active em{background:var(--blue);color:#fff}
.fleet-demonstrativo-table td{vertical-align:top}
.fleet-plate{display:block;font-size:14px;color:var(--navy-deep)}
.fleet-plate-detail{display:block;margin-top:3px;color:#64748b;font-size:10px;line-height:1.4}
.fleet-muted{color:#94a3b8;font-size:11px}
.fleet-status-badge{display:inline-flex;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
.fleet-status-badge.vazio{background:#fef2f2;color:#dc2626;border-color:#fca5a5}
.fleet-status-badge.carregado{background:#f0fdf4;color:#166534;border-color:#86efac}
.fleet-status-badge.transito{background:#fefce8;color:#854d0e;border-color:#fef08a}
.fleet-group-badge{display:inline-flex;padding:3px 9px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.02em}
.fleet-group-rstm{background:#eef2ff;color:#4338ca}
.fleet-group-guedes{background:var(--blue-soft);color:var(--blue)}
.fleet-group-agregados{background:#fff4e6;color:#b45309}
.fleet-observation-tag{display:inline-flex;padding:3px 9px;border-radius:99px;background:#f1f5f9;color:#334155;font-size:10px;font-weight:750}
.fleet-observation-note{display:block;margin-top:4px;color:#64748b;font-size:10px;line-height:1.4}
.fleet-empty{padding:32px 16px;text-align:center}
.fleet-empty strong{display:block;font-size:13px;color:var(--ink)}
.fleet-empty p{margin:6px 0 0;color:var(--muted);font-size:11px}
.fleet-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.fleet-form-grid{grid-template-columns:1fr}}

/* Importação de planilha no Demonstrativo Agregados */
.fleet-import-panel{max-width:820px;text-align:left}
.fleet-import-panel h2,.fleet-import-panel>p{text-align:left}
.fleet-import-file input[type=file]{width:100%;padding:9px;border:1px dashed var(--line);border-radius:8px;background:var(--canvas);font-size:12px}
.fleet-import-file small{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.fleet-import-hint{margin:8px 0 0;color:var(--muted);font-size:10.5px}
.fleet-import-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 0;color:var(--muted);font-size:12px}
.fleet-import-summary{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.fleet-import-summary span{padding:5px 11px;border-radius:99px;background:var(--canvas);color:var(--muted);font-size:11px;font-weight:650}
.fleet-import-summary span strong{color:var(--ink);font-size:12px}
.fleet-import-summary .ok{background:var(--green-soft);color:var(--green)}
.fleet-import-summary .ok strong{color:var(--green)}
.fleet-import-summary .warn{background:var(--amber-soft);color:var(--amber)}
.fleet-import-summary .warn strong{color:var(--amber)}
.fleet-import-preview{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.fleet-import-preview table{margin:0}
.fleet-row-ignored{opacity:.55}
.fleet-import-chosen{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--canvas)}
.fleet-import-chosen strong{display:block;margin-top:2px;font-size:12px;color:var(--ink);word-break:break-all}
.fleet-day-picker{padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:var(--white)}
.fleet-day-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.fleet-day-list{display:flex;flex-wrap:wrap;gap:7px}
.fleet-day-option{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:var(--white);font-size:11px;font-weight:700;color:var(--ink);cursor:pointer}
.fleet-day-option input{margin:0;cursor:pointer}
.fleet-day-option.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.fleet-day-option em{font-style:normal;padding:1px 6px;border-radius:99px;background:var(--canvas);color:var(--muted);font-size:9px;font-weight:800}
.fleet-day-option.active em{background:var(--blue);color:#fff}
.fleet-day-picker .fleet-import-hint{margin:9px 0 0}
.fleet-busy{opacity:.45;pointer-events:none;transition:opacity .15s}
.fleet-import-parts{display:flex;flex-direction:column;gap:11px;margin-bottom:14px}
.fleet-import-part{padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.fleet-import-part>header{display:flex;flex-direction:column;gap:2px;margin-bottom:9px}
.fleet-import-part>header strong{font-size:13px;color:var(--ink)}
.fleet-import-part>header span{color:var(--muted);font-size:10px}
.fleet-import-part.carregada{border-color:#bfd4f2;background:#fbfdff}
.fleet-import-part.agregados{border-style:dashed;background:var(--canvas)}
.fleet-part-count{margin:9px 0 0;color:#3d4a5c;font-size:11px}
.fleet-part-count strong{color:var(--ink)}
.fleet-import-part .fleet-day-picker{margin-top:9px;padding:9px 10px}

/* Blocos de grupo do Demonstrativo, no formato dos cards do disparo de e-mails */
.fleet-group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:14px}
.fleet-group-cards>button{display:flex;align-items:center;gap:12px;min-height:78px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.fleet-group-cards>button:hover{border-color:#9ab9ed;transform:translateY(-1px)}
.fleet-group-cards>button.active{border-color:var(--blue);background:#f4f8ff;box-shadow:0 0 0 2px var(--focus-ring)}
.fleet-group-cards>button>span{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-size:18px}
.fleet-group-cards>button>div{min-width:0}
.fleet-group-cards strong,.fleet-group-cards small{display:block}
.fleet-group-cards strong{font-size:13px}
.fleet-group-cards strong b{margin-left:5px;padding:1px 7px;border-radius:99px;background:var(--canvas);color:var(--muted);font-size:10px;font-weight:800;vertical-align:middle}
.fleet-group-cards>button.active strong b{background:var(--blue);color:#fff}
.fleet-group-cards small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}
.fleet-group-cards .fleet-group-loaded{margin-top:2px;color:var(--green);font-weight:700}
@media(max-width:1000px){.fleet-group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fleet-group-cards{grid-template-columns:1fr}.fleet-group-cards>button{min-height:66px}}

/* Modal de importação: o .modal padrão trava em 460px e a prévia estourava */
.fleet-import-panel{width:min(920px,96vw);max-width:none;max-height:90vh;overflow-y:auto}
.fleet-import-panel .fleet-import-chosen strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.fleet-import-preview{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.fleet-import-preview table{min-width:560px;margin:0}
.fleet-import-preview th,.fleet-import-preview td{white-space:nowrap}
.fleet-import-preview .fleet-import-hint{white-space:normal;padding:0 10px 8px}
.fleet-import-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.fleet-import-summary span{padding:5px 11px;border-radius:99px;background:var(--canvas);color:var(--ink);font-size:11px;font-weight:650}
.fleet-import-summary span.ok{background:var(--green-soft);color:var(--green)}
.fleet-import-summary span.warn{background:var(--amber-soft);color:var(--amber)}
.fleet-import-panel .fleet-day-list{max-height:none}
.fleet-import-panel .modal-actions{position:sticky;bottom:0;padding-top:12px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--white) 35%)}
@media(max-width:700px){.fleet-import-panel{width:96vw;padding:18px 14px}}
.fleet-freight-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.fleet-freight-row>.field-heading{display:block;margin-bottom:6px}
.fleet-freight-row.carregada .fleet-import-chosen{background:#f4fbf6;border-color:#bfe3cd}
.fleet-file-row>.field-heading{display:block;margin-bottom:6px}
.fleet-freight-alert{display:block;margin-top:3px;color:var(--red);font-size:9px;font-weight:700;line-height:1.3}
.fleet-freight-row.diesel .fleet-import-chosen{background:#fff8ec;border-color:#f0d9b0}
.fleet-freight-toggle{padding:5px 10px;border:1px dashed var(--line);border-radius:99px;background:transparent;color:var(--blue);font-size:11px;font-weight:700;cursor:pointer}
.fleet-freight-toggle:hover{border-color:var(--blue);background:var(--blue-soft)}
.fleet-import-part.diesel{border-style:solid;border-color:#f0d9b0;background:#fffdf8}
.fleet-import-part.diesel.carregada .fleet-import-chosen{background:#fff8ec;border-color:#f0d9b0}
.fleet-diesel-aviso{margin:8px 0 0;padding:7px 10px;border-radius:8px;background:var(--amber-soft);color:var(--amber);font-size:10px;font-weight:650;line-height:1.4}
.fleet-import-part.avarias{border-style:solid;border-color:#f0c9c4;background:#fffaf9}
.fleet-import-part.avarias.carregada .fleet-import-chosen{background:#fff2f0;border-color:#f0c9c4}
.fleet-import-part.opentech{border-style:solid;border-color:#cfd8ea;background:#fbfcff}
.fleet-import-part.opentech.carregada .fleet-import-chosen{background:#f2f6ff;border-color:#cfd8ea}
.fleet-import-part.sascar{border-style:solid;border-color:#d2e4d6;background:#fbfefb}
.fleet-import-part.sascar.carregada .fleet-import-chosen{background:#f3faf4;border-color:#d2e4d6}
.fleet-discounts-modal{overflow:hidden}
.fleet-discounts-panel{width:min(620px,96vw);max-width:none;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:0}
.fleet-discounts-panel .modal-close{position:sticky;top:0;z-index:4;float:right;margin-top:-8px;background:var(--white);box-shadow:0 0 0 5px var(--white)}
.fleet-discounts-panel .modal-actions{position:sticky;bottom:0;z-index:3;margin:8px -28px 0;padding:14px 28px;border-top:1px solid var(--line);background:var(--white);box-shadow:0 -8px 18px rgba(15,23,42,.06)}
.fleet-discount-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.fleet-discount-grid .field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:10px}
.fleet-discount-hint{font-style:normal;color:var(--blue);font-size:9px;font-weight:700}
@media(max-width:640px){.fleet-discounts-modal{align-items:flex-end;padding:8px}.fleet-discounts-panel{width:100%;max-height:calc(100dvh - 16px);border-radius:14px 14px 0 0}.fleet-discount-grid{grid-template-columns:1fr}.fleet-discounts-panel .modal-actions{margin-left:-28px;margin-right:-28px}}
.fleet-discount-inputs{display:flex;gap:6px}
.fleet-discount-inputs input{min-width:0}
.fleet-discount-qtd{flex:0 0 58px;text-align:right}
.fleet-modal-sub{margin:14px 0 8px;font-size:12px;color:var(--ink)}
.fleet-day-values{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.fleet-day-values .field-heading{font-size:10px}
.fleet-day-notes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.fleet-day-notes input{text-transform:uppercase}

/* Painel TV: perfil de leitura para o monitor da empresa */
.role-PainelTV{overflow:hidden;background:#071528}
.role-PainelTV .sidebar,.role-PainelTV .topbar,.role-PainelTV .assistant-launcher,.role-PainelTV .skip-link{display:none!important}
.role-PainelTV .main-content{margin:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important}
.role-PainelTV .page-content{padding:0!important;max-width:none!important;width:100%!important;height:100vh!important;height:100dvh!important}
.tv-dashboard{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100vh;height:100dvh;padding:clamp(16px,2vw,28px) clamp(18px,3vw,40px);color:#f8fafc;background:radial-gradient(circle at 80% 10%,rgba(37,99,235,.24),transparent 34%),linear-gradient(145deg,#071528,#102846)}
.tv-header,.tv-footer{display:flex;align-items:center;justify-content:space-between;gap:24px}
.tv-header{min-width:0;padding-bottom:clamp(12px,1.6vw,22px);border-bottom:1px solid rgba(255,255,255,.16)}
.tv-brand{display:flex;align-items:center;gap:14px;min-width:0}.tv-brand-mark{display:grid;place-items:center;flex:0 0 auto;width:clamp(40px,3.4vw,48px);height:clamp(40px,3.4vw,48px);border-radius:14px;color:#fff;background:#2563eb;font-size:clamp(20px,1.8vw,25px)}.tv-brand strong{display:block;font:800 clamp(18px,1.8vw,24px) Manrope,sans-serif}.tv-brand small,.tv-clock span{display:block;margin-top:2px;color:#9fb8d4;font-size:clamp(10px,1vw,13px)}
.tv-header-center{display:flex;align-items:center;gap:9px;color:#cfe0f3;font-weight:700}.tv-live-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14)}
.tv-clock{flex:0 0 auto;text-align:right}.tv-clock strong{display:block;font:800 clamp(23px,2.3vw,30px) Manrope,sans-serif}.tv-clock span{text-transform:capitalize}
.tv-slide-content{display:grid;min-width:0;min-height:0;align-items:center;padding:clamp(14px,2.2vw,30px) 0;overflow:hidden}.tv-slide{min-width:0;max-height:100%;overflow:auto;overscroll-behavior:contain;animation:tv-slide-in .45s ease both;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) transparent}.tv-slide-heading span{color:#72a5ff;font-size:clamp(11px,1.1vw,15px);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.tv-slide-heading h1{margin:6px 0 clamp(16px,2.2vw,30px);font:800 clamp(27px,4vw,58px)/1.05 Manrope,sans-serif}
.tv-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,20px)}.tv-metric-grid article{min-width:0;min-height:clamp(130px,18vw,210px);padding:clamp(16px,2vw,28px);border:1px solid rgba(255,255,255,.14);border-radius:clamp(15px,1.5vw,22px);background:rgba(255,255,255,.075);box-shadow:0 18px 50px rgba(0,0,0,.18)}.tv-metric-grid span,.tv-metric-grid small{display:block;color:#bcd0e5;overflow-wrap:anywhere}.tv-metric-grid strong{display:block;margin:clamp(12px,1.6vw,22px) 0 8px;font:800 clamp(42px,6vw,88px) Manrope,sans-serif;color:#fff}
.tv-list,.tv-card-list{display:grid;gap:clamp(7px,1vh,12px)}.tv-list article,.tv-card-list article{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,2fr) minmax(64px,90px);align-items:center;gap:clamp(12px,1.8vw,24px);padding:clamp(11px,1.35vw,18px) clamp(14px,1.6vw,22px);border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07)}.tv-list strong,.tv-card-list strong{display:block;font-size:clamp(15px,1.4vw,20px);overflow-wrap:anywhere}.tv-list span,.tv-card-list span{display:block;margin-top:4px;color:#aec4da;font-size:clamp(11px,1vw,14px)}.tv-list b,.tv-card-list b{text-align:right;font-size:clamp(14px,1.3vw,18px)}.tv-progress{height:clamp(8px,.8vw,11px);overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.tv-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#22c55e)}
.tv-card-list article{grid-template-columns:1fr auto;border-left:6px solid #60a5fa}.tv-card-list article.success{border-left-color:#22c55e}.tv-card-list article.warning{border-left-color:#f59e0b}.tv-card-list article.danger{border-left-color:#ef4444}.tv-card-list article.danger b{color:#fca5a5}.tv-card-list article.warning b{color:#fcd34d}
.tv-empty,.tv-loading{padding:60px;text-align:center;border:1px dashed rgba(255,255,255,.22);border-radius:20px;color:#bdd0e4;font-size:22px}
.tv-footer{min-width:0;padding-top:clamp(10px,1.3vw,18px);border-top:1px solid rgba(255,255,255,.16);color:#9fb8d4;font-size:clamp(10px,1vw,13px)}.tv-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.tv-controls button{min-height:36px;padding:8px clamp(10px,1vw,14px);border:1px solid rgba(255,255,255,.18);border-radius:9px;color:#e7f0fa;background:rgba(255,255,255,.08);font-weight:700;cursor:pointer}.tv-controls button:hover{background:rgba(255,255,255,.16)}.tv-slide-dots{display:flex;flex:0 0 auto;gap:8px}.tv-slide-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#526c88}.tv-slide-dots button.active{width:28px;border-radius:99px;background:#60a5fa}
@keyframes tv-slide-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.tv-dashboard{padding:20px 22px}.tv-header-center{font-size:12px}.tv-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-metric-grid article{min-height:130px}.tv-list article{grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) 60px}}
@media(max-width:720px){.role-PainelTV{overflow:auto}.role-PainelTV .main-content,.role-PainelTV .page-content{height:auto!important;min-height:100dvh!important}.tv-dashboard{height:auto;min-height:100dvh;padding:14px;grid-template-rows:auto auto auto}.tv-header{display:grid;grid-template-columns:1fr auto;gap:12px}.tv-header-center{grid-column:1/-1;grid-row:2;justify-content:center;padding:8px;border-radius:999px;background:rgba(255,255,255,.06)}.tv-clock span{max-width:145px}.tv-slide-content{overflow:visible;padding:20px 0}.tv-slide{max-height:none;overflow:visible}.tv-metric-grid{grid-template-columns:1fr 1fr}.tv-metric-grid article{min-height:120px}.tv-list article{grid-template-columns:1fr auto;gap:10px}.tv-list article .tv-progress{grid-column:1/-1;grid-row:2}.tv-list b{grid-column:2;grid-row:1}.tv-card-list article{grid-template-columns:1fr;gap:8px}.tv-card-list article b{text-align:left}.tv-footer{display:grid;grid-template-columns:1fr;justify-items:center;gap:12px}.tv-footer>span{order:3}.tv-empty,.tv-loading{padding:36px 18px;font-size:17px}}
@media(max-width:460px){.tv-dashboard{padding:12px}.tv-brand small{display:none}.tv-header{grid-template-columns:minmax(0,1fr) auto}.tv-brand{gap:9px}.tv-clock span{max-width:112px}.tv-metric-grid{grid-template-columns:1fr}.tv-metric-grid article{min-height:0}.tv-metric-grid strong{font-size:42px}.tv-slide-heading h1{font-size:27px}.tv-controls{width:100%}.tv-controls button{flex:1 1 auto}.tv-controls button[data-tv-action="fullscreen"]{display:none}}
@media(max-height:700px) and (min-width:721px){.tv-dashboard{padding-top:14px;padding-bottom:14px}.tv-header{padding-bottom:10px}.tv-slide-content{padding:12px 0}.tv-slide-heading h1{margin-bottom:14px;font-size:clamp(28px,3.4vw,46px)}.tv-metric-grid article{min-height:110px;padding:16px}.tv-metric-grid strong{margin:8px 0 4px;font-size:clamp(38px,5vw,60px)}.tv-list,.tv-card-list{gap:6px}.tv-list article,.tv-card-list article{padding:9px 14px}.tv-footer{padding-top:9px}.tv-controls button{min-height:32px;padding-top:6px;padding-bottom:6px}}
.absenteeism-alert-panel { margin-top: 20px; padding: 18px; border: 1px solid var(--border-color, #dbe4f0); border-radius: 14px; background: #f8fbff; }
.absenteeism-alert-panel > div:first-child h3 { margin: 0 0 4px; }
.absenteeism-alert-panel > div:first-child p { margin: 0 0 14px; color: #64748b; }
.absenteeism-alert-list { display: grid; gap: 10px; }
.absenteeism-alert { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 10px; border-left: 4px solid #f59e0b; background: #fff8e8; }
.absenteeism-alert.danger { border-color: #dc2626; background: #fff1f2; }
.absenteeism-alert > span { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.8); font-weight: 800; }
.absenteeism-alert strong, .absenteeism-alert small { display: block; }
.absenteeism-alert small { margin-top: 3px; color: #64748b; }
.absenteeism-alert-references { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }
.absenteeism-alert-references .muted { font-size: 11px; }
.absenteeism-alert-reference { border: 1px solid rgba(15, 23, 42, 0.18); background: rgba(255, 255, 255, 0.75); color: inherit; border-radius: 999px; padding: 2px 9px; font-size: 11px; font-weight: 600; cursor: pointer; }
.absenteeism-alert-reference:hover { background: #ffffff; text-decoration: underline; }
.absenteeism-row-highlight { animation: absenteeism-row-flash 2.4s ease-out; }
@keyframes absenteeism-row-flash { 0%, 60% { background: #fef08a; } 100% { background: transparent; } }
.absenteeism-alert-empty { display: flex; flex-direction: column; padding: 12px 14px; border-radius: 10px; background: #ecfdf5; color: #166534; }
.absenteeism-file-link { color: #1d4ed8; text-decoration: none; }
.absenteeism-file-link:hover { text-decoration: underline; }
.text-danger { color: #b91c1c; font-weight: 700; }
.status-pill.danger { background: #fee2e2; color: #b91c1c; }
@media (max-width: 760px) { .absenteeism-alert-panel { padding: 14px; } .absenteeism-alert { font-size: 13px; } }
.admission-fdi-cep-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.admission-fdi-cep-control button { white-space: nowrap; }
@media (max-width: 600px) { .admission-fdi-cep-control { grid-template-columns: 1fr; } .admission-fdi-cep-control button { width: 100%; } }

/* Conferência dos espelhos de ponto */
.point-mirror-association-list {
  display: grid;
  gap: 10px;
  padding: 0 20px 20px;
}
.point-mirror-association-row {
  display: grid;
  grid-template-columns: minmax(210px, 1.15fr) minmax(240px, 1.25fr) minmax(190px, 1fr) minmax(140px, .7fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
}
.point-mirror-association-file {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.point-mirror-association-file > div,
.point-mirror-association-person,
.point-mirror-destination,
.point-mirror-association-status {
  min-width: 0;
}
.point-mirror-association-file strong,
.point-mirror-association-file small,
.point-mirror-destination strong {
  display: block;
}
.point-mirror-association-file strong,
.point-mirror-destination strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.point-mirror-association-file strong,
.point-mirror-destination strong {
  font-size: 11px;
}
.point-mirror-association-file small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}
.point-mirror-field-label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.point-mirror-employee-select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}
.point-mirror-association-status .status-pill {
  max-width: 100%;
  white-space: normal;
}
.point-mirror-remove {
  align-self: end;
  min-height: 38px;
}
[data-theme="dark"] .point-mirror-association-row {
  background: #152238;
}
@media (max-width: 1180px) {
  .point-mirror-association-row {
    grid-template-columns: minmax(220px, 1fr) minmax(240px, 1fr) minmax(190px, 1fr);
  }
  .point-mirror-association-status { grid-column: 2; }
  .point-mirror-remove { grid-column: 3; justify-self: end; }
}
@media (max-width: 760px) {
  .point-mirror-association-row { grid-template-columns: 1fr; }
  .point-mirror-association-status,
  .point-mirror-remove { grid-column: 1; }
  .point-mirror-remove { justify-self: stretch; }
  .point-mirror-destination strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 650px) {
  .point-mirror-association-list { padding-inline: 14px; }
}

/* ===== Frota: um relatorio de fretes por empresa e pelos agregados dela ===== */
.fleet-report-group { display: block; margin-bottom: 20px; }
.fleet-report-headline { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.fleet-report-headline .card-title { margin: 0; }
.fleet-report-headline .card-subtitle { margin: 3px 0 0; }
.fleet-report-grand { padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); text-align: right; }
.fleet-report-grand span { display: block; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.fleet-report-grand strong { display: block; margin-top: 2px; font-size: 22px; font-variant-numeric: tabular-nums; }
.fleet-report-grand small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
.fleet-report-headline-side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fleet-report-card { padding: 0; margin-bottom: 12px; }
.fleet-report-actions { display: flex; justify-content: flex-end; padding: 0 18px 10px; }
.fleet-report-summary { display: flex; align-items: center; gap: 14px; padding: 14px 18px; cursor: pointer; list-style: none; }
.fleet-report-summary::-webkit-details-marker { display: none; }
.fleet-report-summary > div:first-child { flex: 1 1 auto; min-width: 0; }
.fleet-report-summary .card-title { margin: 0; font-size: 16px; }
.fleet-report-summary .card-subtitle { margin: 3px 0 0; }
.fleet-report-summary-value { flex: none; text-align: right; }
.fleet-report-summary-value strong { display: block; font-size: 18px; font-variant-numeric: tabular-nums; }
.fleet-report-summary-value small { display: block; margin-top: 1px; color: var(--muted); font-size: 11px; }
.fleet-report-toggle { flex: none; color: var(--muted); font-size: 15px; font-weight: 700; }
.fleet-report-toggle b { display: inline-block; transition: transform .15s ease; }
.fleet-report-card[open] .fleet-report-toggle b { transform: rotate(90deg); }
.fleet-report-body { padding: 0 18px 18px; }
.fleet-report-table td { font-variant-numeric: tabular-nums; }
.fleet-report-table .fleet-report-block td { padding-top: 12px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fleet-report-table .fleet-report-block small { font-weight: 600; letter-spacing: 0; text-transform: none; }
.fleet-report-table .fleet-report-subtotal td { background: var(--canvas); }
.fleet-report-table .fleet-report-total td { background: #dbe6ef; }
[data-theme="dark"] .fleet-report-table .fleet-report-total td { background: #1d3350; }
.fleet-report-table .fleet-cell-desconto { color: var(--red); }
.fleet-report-table th.fleet-cell-desconto { color: #7f1d1d; }
.fleet-net-negative { color: var(--red); }
.fleet-report-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
[data-theme="dark"] .fleet-report-grand { background: #152238; }

@media (max-width: 620px) {
  .fleet-report-summary { flex-wrap: wrap; }
  .fleet-report-summary-value { text-align: left; }
  .fleet-report-grand { text-align: left; }
}

/* ==========================================================================
   Financiamento de veiculos
   Lista unica das tres abas da planilha do financeiro. O banco de cada
   parcela ganha cor propria (Itau laranja, Bradesco vermelho) para o
   financeiro bater o extrato de olho, e o pagamento cruzado (Itau pagando
   conta da RSTM) fica destacado em ambar em vez de escondido.
   ========================================================================== */
.financing-page { display: flex; flex-direction: column; gap: 18px; }

.financing-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.financing-card { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 16px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 6px; }
.financing-card-label { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 600; }
.financing-card-value { font-size: 22px; color: var(--ink); }
.financing-card small { color: var(--muted); font-size: 12px; }
.financing-card-alert { border-color: #f5c78f; background: var(--amber-soft); }
.financing-card-alert .financing-card-value { color: var(--amber); }

.financing-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.financing-search { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; background: var(--white); flex: 1 1 260px; }
.financing-search span { color: var(--muted); }
.financing-search input { border: none; outline: none; width: 100%; font-size: 14px; color: var(--ink); background: transparent; }
.financing-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.financing-filters select { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 13px; color: var(--ink); background: var(--white); }

.financing-table-scroll { overflow-x: auto; }
.financing-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.financing-table th { text-align: left; padding: 10px 12px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--line); white-space: nowrap; }
.financing-table td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: middle; color: var(--ink); }
.financing-table td small { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
.financing-row { cursor: pointer; transition: background .15s; }
.financing-row:hover { background: var(--canvas); }
.financing-row-open { background: var(--blue-soft); }
.financing-amount strong { font-variant-numeric: tabular-nums; }

.financing-status { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.financing-status-financiada { background: var(--blue-soft); color: var(--blue); }
.financing-status-quitada { background: var(--green-soft); color: var(--green); }
.financing-status-vendida { background: var(--line); color: var(--muted); }
.financing-company { font-weight: 600; font-size: 12px; color: var(--ink); }

.financing-pill { display: inline-block; padding: 3px 9px; border-radius: 6px; font-size: 11px; font-weight: 600; }
.financing-pill-itau { background: #fff3e2; color: #b45309; }
.financing-pill-bradesco { background: var(--red-soft); color: var(--red); }
.financing-pill-empty { background: var(--line); color: var(--muted); }

.financing-progress { display: flex; flex-direction: column; gap: 4px; min-width: 130px; }
.financing-progress-bar { height: 6px; background: var(--line); border-radius: 999px; overflow: hidden; }
.financing-progress-bar span { display: block; height: 100%; background: var(--blue); border-radius: 999px; }
.financing-progress small { color: var(--muted); font-size: 11px; }
.financing-muted { color: var(--muted); font-size: 12px; }

.financing-detail-row td { background: var(--canvas); padding: 0; }
.financing-detail { padding: 18px; display: flex; flex-direction: column; gap: 18px; }
.financing-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.financing-detail-grid div { display: flex; flex-direction: column; gap: 2px; }
.financing-detail-grid span { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 600; }
.financing-detail-grid strong { font-size: 13px; color: var(--ink); font-weight: 500; }
.financing-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.financing-detail-header h4 { margin: 0; font-size: 14px; color: var(--ink); }

.financing-payments-table { width: 100%; border-collapse: collapse; font-size: 12px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.financing-payments-table th { text-align: left; padding: 8px 10px; background: var(--canvas); color: var(--muted); font-size: 11px; text-transform: uppercase; }
.financing-payments-table td { padding: 8px 10px; border-top: 1px solid var(--line); }
.financing-cross { background: var(--amber-soft); }
.financing-cross-note { display: block; font-size: 10px; color: var(--amber); font-weight: 600; margin-top: 2px; }
.financing-receipt { color: var(--green); font-weight: 600; }

.financing-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 40px 20px; text-align: center; color: var(--muted); }
.financing-empty span { font-size: 28px; }
.financing-empty strong { color: var(--ink); font-size: 15px; }
.financing-empty p { margin: 0; font-size: 13px; max-width: 420px; }
.financing-footnote { margin: 12px 0 0; font-size: 12px; color: var(--muted); }

.financing-preview-pill { background: var(--blue-soft); color: var(--blue); padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.financing-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 16px 0; }
.financing-preview-grid div { background: var(--canvas); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.financing-preview-grid span { font-size: 11px; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.financing-preview-grid strong { font-size: 18px; color: var(--ink); }
.financing-preview-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.financing-warnings { background: var(--amber-soft); border: 1px solid #f5c78f; border-radius: 8px; padding: 14px; }
.financing-warnings strong { display: block; color: var(--amber); font-size: 13px; margin-bottom: 8px; }
.financing-warnings ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.financing-warnings li { font-size: 12px; color: var(--ink); }
.financing-warnings li span { color: var(--muted); font-weight: 600; }
.financing-warnings small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; }
.financing-ok { background: var(--green-soft); border: 1px solid #b7e2c6; border-radius: 8px; padding: 12px 14px; color: var(--green); font-size: 13px; margin: 0; }

.financing-modal-backdrop { position: fixed; inset: 0; background: rgba(12, 34, 56, .48); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 900; }
.financing-modal { background: var(--white); border-radius: 12px; width: min(620px, 100%); max-height: 90vh; overflow-y: auto; box-shadow: 0 24px 60px rgba(12, 34, 56, .28); }
.financing-modal header { padding: 20px 22px 0; }
.financing-modal header h3 { margin: 0 0 4px; font-size: 17px; color: var(--ink); }
.financing-modal header p { margin: 0; font-size: 13px; color: var(--muted); }
.financing-modal form { padding: 18px 22px 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.financing-modal label { display: flex; flex-direction: column; gap: 5px; }
.financing-modal label span { font-size: 12px; font-weight: 600; color: var(--ink); }
.financing-modal input, .financing-modal select { border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font-size: 13px; color: var(--ink); background: var(--white); }
.financing-modal input:focus, .financing-modal select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--focus-ring); }
.financing-field-wide { grid-column: 1 / -1; }
.financing-cross-hint { grid-column: 1 / -1; margin: 0; background: var(--amber-soft); border: 1px solid #f5c78f; border-radius: 8px; padding: 10px 12px; font-size: 12px; color: var(--amber); }
.financing-modal footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }

@media (max-width: 720px) {
  .financing-modal form { grid-template-columns: 1fr; }
  .financing-toolbar { flex-direction: column; align-items: stretch; }
}

/* ==========================================================================
   Contas a pagar lancadas no sistema
   As linhas vindas das planilhas antigas continuam na mesma tabela, mas sem
   acao nenhuma: ganham so a etiqueta "planilha" para ficar claro por que nao
   da para editar aquela linha.
   ========================================================================== */
.fin-account-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.fin-account-actions .row-action { padding: 4px 9px; font-size: 12px; }
.fin-account-origin { font-size: 11px; color: var(--muted); background: var(--line); padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
.fin-account-modal .fin-account-repeat small { color: var(--muted); font-size: 11px; font-weight: 400; }
.fin-account-modal .fin-account-repeat { background: var(--canvas); border-radius: 8px; padding: 12px; }

/* Cadastro do veiculo pela tela. O marcador de campo em falta e o filtro de
   pendencias existem porque na planilha o veiculo incompleto ficava invisivel
   no meio da lista. */
.financing-missing { display: inline-block; margin-top: 4px; font-size: 10px; font-weight: 600; color: var(--amber); background: var(--amber-soft); border-radius: 5px; padding: 2px 6px; cursor: help; }
.financing-pending-toggle { border: 1px solid #f5c78f; background: var(--amber-soft); color: var(--amber); border-radius: 8px; padding: 8px 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.financing-pending-toggle:hover { background: #fdecd2; }
.financing-pending-toggle.is-active { background: var(--amber); color: var(--white); border-color: var(--amber); }
.financing-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.financing-empty-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 4px; }
.financing-missing-hint { margin: 12px 22px 0; background: var(--amber-soft); border: 1px solid #f5c78f; border-radius: 8px; padding: 10px 12px; font-size: 12px; color: var(--amber); }
.financing-danger { color: var(--action-danger); border-color: var(--action-danger); margin-right: auto; }
.financing-danger:hover { background: var(--red-soft); }

.financing-vehicle-modal { width: min(760px, 100%); }
.financing-modal label small { font-size: 11px; color: var(--muted); font-weight: 400; }
.financing-fieldset { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px 16px; margin: 0; }
.financing-fieldset[hidden] { display: none; }
.financing-fieldset legend { font-size: 12px; font-weight: 600; color: var(--ink); padding: 0 6px; }
.financing-fieldset-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.financing-fieldset-grid label { display: flex; flex-direction: column; gap: 5px; }

@media (max-width: 720px) {
  .financing-fieldset-grid { grid-template-columns: 1fr; }
  .financing-danger { margin-right: 0; }
}

/* ==========================================================================
   Descarga de cliente
   A tela reaproveita o visual do financiamento (cartoes, tabela e modal) e
   acrescenta so o que e proprio dela: a troca entre lancamentos e relatorio,
   o seletor de mes e as barras dos ultimos meses.
   ========================================================================== */
.descarga-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; justify-content: space-between; }
.descarga-tabs { display: inline-flex; gap: 4px; background: var(--canvas); border: 1px solid var(--line); border-radius: 10px; padding: 4px; }
.descarga-tab { border: none; background: transparent; border-radius: 7px; padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--muted); cursor: pointer; }
.descarga-tab:hover { color: var(--ink); }
.descarga-tab.is-active { background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
.descarga-competence { display: flex; flex-direction: column; gap: 5px; }
.descarga-competence span { font-size: 12px; font-weight: 600; color: var(--ink); }
.descarga-competence select { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; font-size: 13px; color: var(--ink); background: var(--white); min-width: 190px; }

.descarga-amount { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.descarga-share { font-variant-numeric: tabular-nums; color: var(--muted); }
.descarga-receipt { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 8px; }
.descarga-receipt-name { display: block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
.descarga-pending { display: inline-block; font-size: 11px; font-weight: 600; color: var(--amber); background: var(--amber-soft); border-radius: 5px; padding: 2px 7px; }
/* A linha sem comprovante fica marcada porque e ela que trava o fechamento. */
.descarga-row-pending td:first-child { box-shadow: inset 3px 0 0 var(--amber); }

.descarga-report-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; }
.descarga-report-card { margin: 0; }
.descarga-report-hint { margin: 4px 0 0; font-size: 12px; color: var(--muted); }

.descarga-series { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.descarga-series-row { display: grid; grid-template-columns: 130px 1fr 110px; gap: 12px; align-items: center; font-size: 12px; }
.descarga-series-label { color: var(--muted); text-transform: capitalize; }
.descarga-series-track { height: 10px; border-radius: 999px; background: var(--canvas); overflow: hidden; }
.descarga-series-bar { display: block; height: 100%; border-radius: 999px; background: var(--blue); }
.descarga-series-value { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); }
.descarga-series-row.is-current .descarga-series-label,
.descarga-series-row.is-current .descarga-series-value { color: var(--ink); font-weight: 700; }
.descarga-series-row.is-current .descarga-series-bar { background: var(--navy-deep, var(--blue)); }

@media (max-width: 720px) {
  .descarga-toolbar { flex-direction: column; align-items: stretch; }
  .descarga-competence select { width: 100%; }
  .descarga-report-grid { grid-template-columns: 1fr; }
  .descarga-series-row { grid-template-columns: 90px 1fr 90px; gap: 8px; }
}

/* Envio dos comprovantes de descarga. E a primeira coisa da tela: quem volta do
   cliente solta os comprovantes do dia aqui e preenche uma linha por arquivo. */
.descarga-drop { border: 2px dashed var(--line); background: var(--canvas); transition: border-color .15s, background .15s; }
.descarga-drop.is-dragging { border-color: var(--blue); background: var(--blue-soft); }
.descarga-drop-inner { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 34px 20px; text-align: center; }
.descarga-drop-icon { font-size: 30px; line-height: 1; }
.descarga-drop-inner strong { font-size: 16px; color: var(--ink); }
.descarga-drop-inner p { margin: 0; max-width: 520px; font-size: 13px; color: var(--muted); }
.descarga-drop-inner small { font-size: 11px; color: var(--muted); }
.descarga-storage-error { margin-bottom: 16px; }
.descarga-upload-confirmation { margin-bottom: 16px; }

.descarga-queue.is-dragging { outline: 2px dashed var(--blue); outline-offset: -6px; }
.descarga-queue-batch { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 12px 14px; margin-bottom: 14px; background: var(--canvas); border-radius: 8px; }
.descarga-queue-batch-label { font-size: 12px; font-weight: 600; color: var(--muted); align-self: center; }
.descarga-queue-batch label { display: flex; flex-direction: column; gap: 5px; }
.descarga-queue-batch label span { font-size: 11px; font-weight: 600; color: var(--ink); }
.descarga-queue-batch input, .descarga-queue-batch select { border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; font-size: 13px; color: var(--ink); background: var(--white); }

.descarga-queue-table td { padding: 8px 10px; vertical-align: middle; }
.descarga-queue-table input { width: 100%; min-width: 110px; border: 1px solid var(--line); border-radius: 7px; padding: 7px 9px; font-size: 13px; color: var(--ink); background: var(--white); }
.descarga-queue-table input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--focus-ring); }
.descarga-queue-table input:disabled { background: var(--canvas); color: var(--muted); }
.descarga-input-plate { text-transform: uppercase; min-width: 90px !important; }
.descarga-input-amount { min-width: 96px !important; text-align: right; font-variant-numeric: tabular-nums; }
.descarga-queue-file { max-width: 220px; }
.descarga-queue-file strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--ink); }
.descarga-queue-remove .row-action { padding: 4px 9px; }
.descarga-queue-row.is-error td:first-child { box-shadow: inset 3px 0 0 var(--action-danger); }
.descarga-queue-row.is-done { opacity: .55; }
.descarga-queue-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.descarga-queue-footer .financing-footnote { margin: 0; }

.descarga-status { display: inline-block; font-size: 11px; font-weight: 600; border-radius: 5px; padding: 3px 8px; white-space: nowrap; }
.descarga-status.is-ready { color: var(--green); background: var(--green-soft); }
.descarga-status.is-done { color: var(--green); background: var(--green-soft); }
.descarga-status.is-sending { color: var(--blue); background: var(--blue-soft); }
.descarga-status.is-missing { color: var(--amber); background: var(--amber-soft); }
.descarga-status.is-error { color: var(--action-danger); background: var(--red-soft); white-space: normal; max-width: 220px; }

@media (max-width: 720px) {
  .descarga-queue-batch { flex-direction: column; align-items: stretch; }
  .descarga-queue-footer { flex-direction: column; align-items: stretch; }
  .descarga-queue-footer .primary-button { width: 100%; }
}

/* O que o sistema conseguiu ler do comprovante, embaixo do nome do arquivo.
   Serve para a pessoa saber se aquela linha precisa de conferencia ou nao. */
.descarga-leitura { display: inline-block; margin-top: 4px; font-weight: 600; }
.descarga-queue-batch-hint { color: var(--muted); font-size: 12px; align-self: center; }
