:root {
  --navy: #102f4d;
  --navy-deep: #091f35;
  --blue: #1675ba;
  --blue-light: #44a7d6;
  --coral: #ee705d;
  --ink: #172431;
  --muted: #6c7b88;
  --line: #dfe7ed;
  --paper: #f6f9fb;
}

/* Identidade corporativa: empresa principal, CNPJ assistido e logomarca única. */
#administrativeCorporateEntities { --company-accent:#f5a20a; }
.company-identity-form { gap: 18px; }
.company-cnpj-step,.company-logo-field,.company-footer-field { display:grid; gap:14px; padding:18px; border:1px solid #bfd5e4; border-radius:14px; background:#f6fbff; }
.company-cnpj-step > div:first-child,.company-logo-field > div:first-child,.company-footer-field > div:first-child { display:flex; align-items:flex-start; gap:12px; }
.company-cnpj-step strong,.company-logo-field strong,.company-footer-field strong { display:block; color:#123b59; font-size:1.05rem; }
.company-cnpj-step small,.company-logo-field small,.company-footer-field small { display:block; margin-top:4px; color:#567286; }
.company-step-number { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:10px; background:#123b59; color:white; font-weight:900; }
.company-cnpj-control { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:stretch; }
.company-cnpj-control input { min-width:0; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.company-identity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.company-identity-grid > .form-grid { grid-column:1/-1; }
.company-branding-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:stretch; }
.company-logo-picker { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.company-logo-preview { display:grid; place-items:center; width:min(360px,100%); min-height:92px; padding:12px; border:1px dashed #8eb2ca; border-radius:10px; background:white; color:#567286; }
.company-logo-preview img { display:block; max-width:100%; max-height:90px; object-fit:contain; }
.company-watermark-preview { width:min(180px,100%); }
.company-watermark-preview img { max-width:120px; max-height:90px; }
.company-watermark-toggle { display:flex !important; align-items:center; gap:8px; width:fit-content; color:#123b59; font-weight:700; }
.company-watermark-toggle input { width:18px; height:18px; margin:0; accent-color:#123b59; }
.company-footer-options { display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; padding:12px; border:1px solid #c8dce9; border-radius:10px; }
.company-footer-options legend { padding:0 6px; color:#123b59; font-weight:800; }
.company-footer-options label { display:flex !important; align-items:center; gap:7px; width:auto; color:#264e68; font-weight:700; }
.company-footer-options input { width:17px; height:17px; margin:0; accent-color:#123b59; }
.company-entities-list { display:grid; gap:10px; margin-top:18px; }
.company-entity-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid #c8dce9; border-radius:12px; background:#f8fbfd; }
.company-entity-card > div:first-child { display:grid; gap:3px; min-width:0; }
.company-entity-card strong { color:#123b59; }
.company-entity-card span,.company-entity-card small { color:#4d6c80; overflow-wrap:anywhere; }
.company-entity-brand { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.company-saved-images { flex-basis:100%; display:grid; grid-template-columns:minmax(240px,1.35fr) minmax(180px,.65fr); gap:12px; }
.company-saved-image { min-width:0; margin:0; padding:10px; border:1px solid #c8dce9; border-radius:12px; background:#fff; }
.company-saved-image figcaption { display:grid; gap:3px; margin-bottom:8px; }
.company-saved-image figcaption strong { color:#123b59; font-size:.92rem; }
.company-saved-image figcaption small { color:#567286; font-size:.76rem; }
.company-saved-image-frame { display:grid; place-items:center; min-height:112px; padding:10px; overflow:hidden; border:1px dashed #8eb2ca; border-radius:9px; background:#f6fbff; color:#567286; text-align:center; }
.company-saved-image-frame img { display:block; width:100%; height:96px; object-fit:contain; }
.company-saved-image-compact .company-saved-image-frame img { width:auto; max-width:100%; max-height:82px; }
.company-entity-brand > span { padding:6px 9px; border-radius:999px; background:#fff1cf; color:#835200; font-size:.8rem; font-weight:800; }
.company-entity-brand > span[data-state="success"] { background:#ddf5e7; color:#12613a; }
.company-watermark-controls { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-left:10px; border-left:1px solid #c8dce9; }
.company-watermark-controls > span { padding:6px 9px; border-radius:999px; background:#fff1cf; color:#835200; font-size:.8rem; font-weight:800; }
.company-watermark-controls > span[data-state="success"] { background:#ddf5e7; color:#12613a; }
.company-footer-editor { flex-basis:100%; padding:8px 10px; border:1px solid #c8dce9; border-radius:10px; background:#fff; }
.company-footer-editor summary { cursor:pointer; color:#123b59; font-weight:800; }
.company-footer-editor-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.company-footer-editor-form .company-footer-options,.company-footer-editor-form button,.company-footer-editor-form .company-footer-message { grid-column:1/-1; }
.company-footer-message { min-height:1.35rem; margin:0; padding:9px 11px; border-radius:8px; color:#24465e; background:#edf6fb; }
.company-footer-message:empty { display:none; }
.company-footer-message[data-state="success"] { color:#0d5a35; background:#ddf5e7; border:1px solid #a8dfc2; }
.company-footer-message[data-state="error"] { color:#8a1f27; background:#fff0f1; border:1px solid #edb1b7; }
.company-entity-editor { flex-basis:100%; padding:8px 10px; border:1px solid #c8dce9; border-radius:10px; background:#fff; }
.company-entity-editor summary { cursor:pointer; color:#123b59; font-weight:800; }
.company-entity-editor-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.company-entity-editor-form .form-grid,.company-entity-editor-actions,.company-entity-editor-message { grid-column:1/-1; }
.company-entity-editor-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
:is(.corporate-brand > .corporate-logo,.controller-brand > img,.supplier-portal-brand > img,.portal-brand img,.login-logo)[data-company-brand="true"] { object-fit:contain; }
@media (max-width:760px) {
  .company-identity-grid { grid-template-columns:1fr; }
  .company-branding-grid { grid-template-columns:1fr; }
  .company-footer-editor-form { grid-template-columns:1fr; }
  .company-entity-editor-form { grid-template-columns:1fr; }
  .company-cnpj-control { grid-template-columns:1fr; }
  .company-entity-card { align-items:flex-start; flex-direction:column; }
  .company-entity-brand { justify-content:flex-start; }
  .company-saved-images { grid-template-columns:1fr; }
}

/* Distribuição consolidada por centro de custo */
.request-cost-center-field {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line, #b9d0e3);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface, #fff) 94%, transparent);
}
.request-cost-center-field > legend { padding: 0 6px; font-weight: 700; }
.request-cost-center-search { display: grid; gap: 5px; margin: 10px 0; }
.request-cost-center-fallback {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.request-cost-center-tree {
  max-height: 280px;
  overflow: auto;
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line, #b9d0e3);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface, #fff) 97%, transparent);
}
.request-cost-center-group { display: grid; gap: 2px; }
#requestForm .request-cost-center-root,
#requestForm .request-cost-center-children label {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  grid-template-columns: none;
  width: fit-content;
  max-width: 100%;
  gap: 6px;
  min-height: 26px;
  margin: 0;
  padding: 3px 5px;
  border-radius: 5px;
  color: #344d60;
  font-size: 13px;
  line-height: 1.25;
  cursor: pointer;
}
#requestForm .request-cost-center-root { font-weight: 750; background: color-mix(in srgb, var(--accent, #d88a00) 8%, transparent); }
.request-cost-center-children { display: grid; gap: 1px; margin-left: 18px; border-left: 1px solid color-mix(in srgb, var(--accent, #d88a00) 38%, transparent); padding-left: 8px; }
#requestForm .request-cost-center-root:hover,
#requestForm .request-cost-center-children label:hover { background: color-mix(in srgb, var(--accent, #d88a00) 13%, transparent); }
#requestForm .request-cost-center-root input[type="checkbox"],
#requestForm .request-cost-center-children input[type="checkbox"] {
  box-sizing: border-box;
  display: inline-block;
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  flex: 0 0 14px;
  margin: 0;
  padding: 0;
  border-radius: 3px;
  accent-color: var(--accent, #d88a00);
}
.request-cost-center-summary { margin: 9px 0 0; font-size: .88rem; color: var(--muted, #61758a); line-height: 1.45; }
@media (max-width: 720px) {
  .request-cost-center-tree { max-height: 230px; }
  .request-cost-center-children { margin-left: 12px; }
}

/* KPI operacional compartilhado entre todos os portais. */
.operational-kpis{margin-top:18px;border:1px solid rgba(101,158,190,.35);background:rgba(247,252,255,.96);color:#17354b}
.operational-kpis-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.operational-kpis-heading h2{margin:3px 0 6px;font-size:clamp(1.25rem,2vw,1.8rem)}
.operational-kpis-heading p{margin:0;max-width:78ch;color:#526d80}
.operational-kpis-heading>small{white-space:nowrap;color:#61798a}
.operational-kpi-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.operational-kpi-card{display:grid;gap:5px;min-height:112px;padding:14px;border:1px solid #c9dce7;border-radius:12px;background:#fff}
.operational-kpi-card>span{font-weight:750;color:#31566e}
.operational-kpi-card>strong{font-size:clamp(1.45rem,2.5vw,2rem);color:#123e5a}
.operational-kpi-card>small{color:#678092}
.operational-kpi-table-wrap{max-width:100%;overflow:auto;border:1px solid #c9dce7;border-radius:12px;background:#fff}
.operational-kpi-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:.88rem}
.operational-kpi-table caption{text-align:left;padding:14px;font-weight:800;font-size:1rem}
.operational-kpi-table th,.operational-kpi-table td{padding:10px 12px;border-top:1px solid #deebf1;text-align:left;vertical-align:top}
.operational-kpi-table th{background:#e9f3f8;color:#173f58;white-space:nowrap}
.operational-kpi-table tr[data-coverage="pending"] td:first-child{border-left:4px solid #e59a2f}
.operational-kpi-table tr[data-coverage="measured"] td:first-child{border-left:4px solid #1c8b6b}
.operational-kpi-table tr[data-coverage="no-sample"] td:first-child{border-left:4px solid #9eb2bf}
.operational-kpi-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.operational-kpi-stage-detail,.operational-kpi-coverage{border:1px solid #c9dce7;border-radius:10px;background:#fff;padding:0 14px}
.operational-kpi-stage-detail summary,.operational-kpi-coverage summary{cursor:pointer;padding:13px 0;font-weight:800;color:#174b69}
.operational-kpi-stage-detail h3{font-size:.92rem;margin:8px 0}
.operational-kpi-stage-detail li,.operational-kpi-coverage li,.operational-kpi-coverage p{margin:7px 0;line-height:1.45}
.operational-kpi-coverage{margin-top:14px}
.operational-kpi-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;padding-left:20px}
.operational-kpi-areas li[data-state="covered"]::marker{color:#17825f}
.operational-kpi-areas li[data-state="aggregate_only"]::marker{color:#477fba}
.operational-kpi-areas li[data-state="source_pending"]::marker{color:#d37d22}
@media (max-width:900px){
  .operational-kpi-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .operational-kpi-details-grid,.operational-kpi-areas{grid-template-columns:1fr}
}
@media (max-width:600px){
  .operational-kpis{padding:14px}
  .operational-kpis-heading{display:grid}
  .operational-kpis-heading>small{white-space:normal}
  .operational-kpi-summary{grid-template-columns:1fr}
  .operational-kpi-card{min-height:auto}
}

/* Atalhos pessoais compartilhados por todos os portais. */
.sna-legacy-shortcuts{display:none!important}
.sna-quick-shortcuts{margin:18px 0;padding:16px 20px;border:1px solid rgba(160,190,211,.5);border-radius:12px;background:linear-gradient(135deg,rgba(12,34,53,.94),rgba(28,51,69,.82));box-shadow:0 16px 34px rgba(2,18,31,.16);color:#f7fbff}
.sna-quick-heading{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;pointer-events:auto}
.sna-quick-heading h2{display:flex;align-items:center;gap:10px;margin:0;color:#fff;font-size:17px;line-height:1.2}
.sna-quick-heading h2>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#a96918,#70440f);color:#fff3dc}
.sna-quick-configure{position:relative;z-index:3;min-height:36px;padding:7px 12px;border:1px solid rgba(179,208,226,.55);border-radius:8px;background:rgba(28,58,78,.76);color:#f4f9fc;font:inherit;font-size:12px;font-weight:700;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.sna-quick-configure:hover:not(:disabled),.sna-quick-configure:focus-visible{border-color:#ffb11b;background:#355c74;box-shadow:0 0 0 2px rgba(255,177,27,.2),0 8px 20px rgba(0,0,0,.2);color:#fff;outline:none;transform:translateY(-1px)}
.sna-quick-configure:active:not(:disabled){transform:translateY(0)}
.sna-quick-configure:disabled{opacity:.55;cursor:not-allowed}
.sna-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.sna-quick-link{position:relative;z-index:1;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border:1px solid rgba(151,184,207,.42);border-radius:9px;background:rgba(32,57,77,.76);color:#f7fbff;font:inherit;text-align:left;cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.sna-quick-link:hover,.sna-quick-link:focus-visible{z-index:2;border-color:#ffb11b;background:linear-gradient(135deg,rgba(65,93,113,.98),rgba(39,69,91,.98));box-shadow:0 0 0 2px rgba(255,177,27,.18),0 10px 24px rgba(0,0,0,.24);transform:translateY(-2px);outline:none}
.sna-quick-link:active{box-shadow:0 0 0 2px rgba(255,177,27,.25);transform:translateY(0) scale(.995)}
.sna-quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:linear-gradient(145deg,#805018,#51340f);color:#ffd694;font-size:18px}
.sna-quick-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.sna-quick-link>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
.sna-quick-link strong{overflow:hidden;color:#fff;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.sna-quick-link small{color:#b9ccda;font-size:10px}
.sna-quick-link b{color:#cfe0eb;font-size:20px;font-weight:400}
.sna-quick-empty{grid-column:1/-1;margin:0;padding:12px;color:#c7d7e2;font-size:12px}
.sna-quick-dialog{width:min(620px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:1px solid #b7cad7;border-radius:14px;background:#f5f9fc;color:#17354a;box-shadow:0 28px 80px rgba(2,20,34,.42)}
.sna-quick-dialog::backdrop{background:rgba(3,16,27,.72);backdrop-filter:blur(3px)}
.sna-quick-dialog form{display:flex;max-height:inherit;flex-direction:column;padding:22px}
.sna-quick-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.sna-quick-dialog-heading p{margin:0 0 4px;color:#9a5f16;font-size:10px;font-weight:800;letter-spacing:.16em}
.sna-quick-dialog-heading h2{margin:0;font-size:22px}
.sna-quick-close{width:36px;height:36px;border:1px solid #b7cad7;border-radius:8px;background:white;color:#29485c;font-size:24px;cursor:pointer}
.sna-quick-dialog-help{margin:12px 0;color:#5f7788;font-size:12px;line-height:1.45}
.sna-quick-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:auto;padding:2px}
.sna-quick-choice{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid #c8d7e1;border-radius:9px;background:#fff;cursor:pointer}
.sna-quick-choice:has(input:checked){border-color:#c88127;background:#fff8ef;box-shadow:0 0 0 1px rgba(200,129,39,.18)}
.sna-quick-choice:has(input:disabled){opacity:.5;cursor:not-allowed}
.sna-quick-choice input{width:18px;height:18px;accent-color:#c4791e}
.sna-quick-choice>span{display:flex;min-width:0;flex-direction:column;gap:2px}
.sna-quick-choice strong{font-size:12px}.sna-quick-choice small{color:#6a8191;font-size:10px}
.sna-quick-status{min-height:18px;margin:10px 0 0;color:#5f7788;font-size:11px}
.sna-quick-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px;padding-top:12px;border-top:1px solid #d7e2e9}
@media(max-width:700px){.sna-quick-shortcuts{margin:14px 0;padding:14px 12px}.sna-quick-heading{align-items:flex-start;flex-direction:column}.sna-quick-configure{width:100%}.sna-quick-grid,.sna-quick-choices{grid-template-columns:1fr}.sna-quick-dialog form{padding:17px}.sna-quick-dialog-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){.sna-quick-link{transition:none}.sna-quick-link:hover{transform:none}}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font-family: "Manrope", sans-serif; color: var(--ink); background: var(--paper); }
button, input, select, textarea { font: inherit; }
/* Base institucional para controles novos ou legados sem regra própria. As classes de cada portal prevalecem. */
:where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]), select, textarea) { min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 7px; background: #fff; color: #17354b; font-size: 14px; }
:where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]), select, textarea):focus-visible { outline: 2px solid var(--field-accent, #1675ba); outline-offset: 1px; }
.corporate, .administrative-portal { --field-accent: #b32831; }
.supplier-portal { --field-accent: #6a35a0; }
.finance-portal { --field-accent: #08795c; }
.warehouse-portal { --field-accent: #a45f10; }
.director-portal { --field-accent: #315d9d; }

.shell { min-height: 100vh; display: grid; grid-template-columns: minmax(480px, 1.14fr) minmax(420px, .86fr); }

.brand-panel {
  position: relative; overflow: hidden; display: flex; flex-direction: column;
  padding: 44px clamp(42px, 6vw, 92px) 34px; color: white;
  background:
    linear-gradient(145deg, #161c1ff7, #232323f2),
    radial-gradient(circle at 20% 40%, #c1292e, transparent 52%);
}
.brand-panel::before {
  content: ""; position: absolute; width: 520px; height: 520px; right: -210px; bottom: -250px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 72px rgba(255,255,255,.025), 0 0 0 145px rgba(255,255,255,.018);
}
.ambient { position: absolute; border-radius: 999px; filter: blur(2px); opacity: .22; }
.ambient-one { width: 250px; height: 250px; top: 18%; right: -110px; background: #c1292e; }
.ambient-two { width: 150px; height: 150px; bottom: 9%; left: -80px; background: #c1292e; opacity: .1; }

.brand { position: relative; display: flex; align-items: center; z-index: 1; }
.official-logo { display: block; width: min(240px, 62vw); height: auto; object-fit: contain; }
.official-logo-light { width: clamp(190px, 18vw, 255px); padding: 10px 14px; background: white; border-radius: 8px; box-shadow: 0 8px 24px rgba(3,22,37,.18); }

.hero-copy { position: relative; z-index: 1; margin: auto 0; max-width: 720px; padding: 64px 0; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #efc0c2; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 32px; height: 2px; background: #c1292e; }
h1 { margin: 24px 0 22px; font-size: clamp(38px, 4.4vw, 67px); line-height: 1.08; letter-spacing: -.045em; }
h1 em { color: #ef8f93; font-style: normal; font-weight: 500; }
.hero-copy > p { max-width: 630px; margin: 0; color: #d0dce5; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.7; }

.journey { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 12px; margin-top: 58px; max-width: 650px; }
.journey i { height: 1px; background: rgba(255,255,255,.22); }
.journey-item { display: flex; flex-direction: column; gap: 7px; color: #9eb3c1; }
.journey-item b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-size: 11px; }
.journey-item span { font-size: 11px; }
.journey-item.active { color: white; }
.journey-item.active b { border-color: #c1292e; background: #c1292e; }
.brand-footer { position: relative; z-index: 1; display: flex; gap: 12px; color: #90a9b9; font-size: 11px; }

.login-panel { display: flex; flex-direction: column; justify-content: center; min-height: 100vh; padding: 36px clamp(34px, 5vw, 92px) 25px; background: white; }
.mobile-brand { display: none; }
.login-card { width: min(100%, 470px); margin: auto; }
.product-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 28px; color: #c1292e; background: #fcecee; border-radius: 14px; }
.product-icon svg { width: 27px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.kicker { margin: 0 0 12px; color: #c1292e; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
h2 { margin: 0; color: var(--navy); font-size: clamp(30px, 3.2vw, 44px); line-height: 1.15; letter-spacing: -.035em; }
.intro { margin: 20px 0 32px; color: var(--muted); font-size: 14px; line-height: 1.65; }

.microsoft-button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 28px 1fr 20px; align-items: center; gap: 12px; padding: 0 18px; color: white; background: #c1292e; border: 0; border-radius: 9px; cursor: pointer; font-weight: 700; font-size: 13px; box-shadow: 0 10px 24px #c1292e2e; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.microsoft-button:hover { transform: translateY(-2px); background: #9f2026; box-shadow: 0 14px 28px #c1292e3d; }
.microsoft-button:focus-visible { outline: 3px solid rgba(22,117,186,.28); outline-offset: 3px; }
.microsoft-button > svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.auth-form { display: grid; gap: 14px; }
.auth-form > div { display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 6px; color: #3d5567; font-size: 13px; font-weight: 700; }
.auth-form input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #d2dfe7; border-radius: 7px; color: #172f42; background: #fff; font-size: 14px; }
.auth-form input:focus { outline: 2px solid #a5d8ef; border-color: #1584bb; }
.auth-form .microsoft-button { margin-top: 4px; }
.auth-form .microsoft-button:disabled { opacity: .6; cursor: wait; }
.invite-mode .divider, .invite-mode #loginButton, .invite-mode .access-note { display: none; }
.button-lock { font-size: 21px; line-height: 1; }
.auth-message { margin: 0; padding: 11px 13px; border-radius: 6px; background: #fff3ef; color: #8d4035; font-size: 12px; line-height: 1.5; }
.demo-button { width: 100%; padding: 13px; border: 1px solid #b7ccda; border-radius: 7px; color: #155c86; background: #f6fbfe; cursor: pointer; font-size: 13px; font-weight: 700; }
.demo-button:hover { background: #eaf5fa; }
.ms-symbol { width: 22px; height: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.ms-symbol i:nth-child(1) { background: #f1511b; }.ms-symbol i:nth-child(2) { background: #80cc28; }.ms-symbol i:nth-child(3) { background: #00adef; }.ms-symbol i:nth-child(4) { background: #fbbc09; }
.divider { display: flex; align-items: center; gap: 14px; margin: 28px 0; color: #9ba7b0; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.divider::before, .divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.access-note { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #fbfdfe; }
.access-note svg { width: 25px; justify-self: center; fill: none; stroke: var(--blue); stroke-width: 1.6; }
.access-note p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.access-note strong { color: var(--ink); font-size: 12px; }
.support { margin-top: 27px; text-align: center; color: #87939d; font-size: 11px; }
.support a { color: var(--blue); font-weight: 700; text-decoration: none; }
.legal { text-align: center; color: #a0aab2; font-size: 10px; }

.toast { position: fixed; right: 24px; bottom: 24px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; max-width: 360px; padding: 15px 18px; color: white; background: #173c59; border-radius: 10px; box-shadow: 0 14px 36px rgba(0,0,0,.25); font-size: 11px; line-height: 1.45; transform: translateY(140%); opacity: 0; transition: .28s ease; z-index: 10; }
.toast.show { transform: translateY(0); opacity: 1; }
.toast > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #38a56b; font-weight: 800; }

[hidden] { display: none !important; }
.corporate { --sna-red: #c1292e; --sna-dark: #161c1f; --sna-ink: #232323; min-height: 100vh; color: var(--sna-ink); background: #f9f9f9; font-family: Roboto, Arial, sans-serif; }
.corporate-header { position: sticky; top: 0; z-index: 100; background: var(--sna-dark); color: white; }
.corporate-header-inner { max-width: 1500px; min-height: 94px; margin: auto; padding: 17px clamp(24px, 4vw, 64px); display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.corporate-logo { display: block; width: clamp(168px, 17vw, 216px); height: auto; padding: 7px 10px; border-radius: 4px; background: #fff; }
.corporate-header-actions { display: flex; align-items: center; gap: 22px; font-size: 13px; }
.corporate-session { color: #bfc4c6; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 700; }
.corporate-person { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 3px; border: 0; border-radius: 5px; background: transparent; color: white; text-align: left; cursor: pointer; }
.corporate-person:hover, .corporate-person:focus-visible, .corporate-person[aria-current="page"] { background: #343d40; }
.corporate-avatar { display: grid; place-items: center; flex: none; width: 42px; height: 48px; overflow: hidden; border-radius: 5px; background: #4d5658; color: white; font-size: 14px; font-weight: 800; }
.corporate-avatar img { width: 100%; height: 100%; object-fit: cover; }
.corporate-identity { display: flex; flex-direction: column; min-width: 0; max-width: 250px; line-height: 1.25; }
.corporate-identity strong, .corporate-identity small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.corporate-identity strong { font-size: 13px; }
.corporate-identity small { color: #c4c9ca; font-size: 10px; }
.corporate-identity > span { margin-top: 2px; color: #fff; font-size: 10px; font-weight: 700; }
.person-name-line { display: block; min-width: 0; }
.person-name-line strong { display: block; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.corporate-identity .person-name-line { margin: 0; color: #fff; }
.corporate-header-link { padding: 9px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: #d9ddde; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; white-space: nowrap; }
.corporate-header-link:hover, .corporate-header-link:focus-visible, .corporate-header-link[aria-current="page"] { color: white; border-bottom-color: #c1292e; }
.corporate-fullscreen { padding: 8px 10px; border: 1px solid #667073; border-radius: 4px; background: transparent; color: white; cursor: pointer; font: inherit; font-size: 11px; white-space: nowrap; }
.corporate-fullscreen:hover, .corporate-fullscreen:focus-visible { background: #30383b; }
.corporate-version { padding: 8px 10px; border-radius: 18px; background: #363f42; color: #fff; font-size: 10px; font-weight: 800; white-space: nowrap; }
.corporate-exit { padding: 9px 14px; border: 1px solid #667073; border-radius: 4px; background: transparent; color: white; cursor: pointer; }
.corporate-exit:hover, .corporate-exit:focus-visible { background: #30383b; }
.corporate-main { max-width: 1500px; margin: auto; }
.corporate-eyebrow { margin: 0 0 20px; color: var(--sna-red); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.corporate-modules { padding: 52px clamp(24px, 4vw, 64px) 96px; }
.corporate-management, .corporate-profile { padding: 52px clamp(24px, 4vw, 64px) 96px; }
.corporate-management .notice { margin-bottom: 20px; }
.corporate-management .content-card h3 { color: #232323; }
.corporate-registry-layout { display: grid; grid-template-columns: minmax(180px, 225px) minmax(0, 1fr); gap: 28px; align-items: start; }
.corporate-registry-nav { display: flex; flex-direction: column; gap: 8px; padding: 19px; border: 1px solid #e1e2e3; border-radius: 5px; background: white; }
.corporate-registry-nav h3 { margin: 0 0 10px; color: #343a3d; font-size: 15px; }
.corporate-registry-nav button { width: 100%; padding: 11px 12px; border: 1px solid transparent; border-radius: 4px; background: #f6f7f7; color: #3c4447; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; text-align: left; }
.corporate-registry-nav button:hover, .corporate-registry-nav button:focus-visible { border-color: var(--sna-red); }
.corporate-registry-nav button[aria-current="page"] { border-color: var(--sna-red); background: #fff0f1; color: #9c1f25; }
.corporate-registry-nav p { margin: 16px 0 0; color: #777e80; font-size: 11px; line-height: 1.5; }
.corporate-registry-content { min-width: 0; }
.job-title-field { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; align-items: end; }
.admin-form .job-title-field > label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.admin-form .job-title-field > label input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 43px; padding: 10px 34px 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font: inherit; font-size: 14px; }
.job-title-field::after { content: '⌄'; position: absolute; right: 58px; bottom: 11px; color: #17354b; font-size: 19px; line-height: 1; pointer-events: none; }
.job-title-field > .new-job-title { min-height: 40px; padding: 0; font-size: 20px; }
.job-title-suggestions { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; max-height: 230px; overflow: auto; padding: 5px; border: 1px solid #cfd7db; border-radius: 5px; background: white; box-shadow: 0 12px 24px #17232b2b; }
.job-title-suggestions[hidden] { display: none; }
.job-title-option { display: block; width: 100%; padding: 10px; border: 0; border-radius: 3px; background: transparent; color: #25323b; font: inherit; text-align: left; cursor: pointer; }
.job-title-option:hover, .job-title-option:focus-visible { background: #fff0f1; outline: 1px solid #c62d34; }
.job-title-add { color: #ad252b; font-weight: 700; }
.job-title-row { position: relative; }
.job-title-row:hover::after, .job-title-row:focus-visible::after { content: attr(data-description); position: absolute; z-index: 5; top: calc(100% + 4px); left: 10px; max-width: min(360px, 80vw); padding: 10px 12px; border-radius: 5px; background: #25323b; color: white; font-size: 12px; line-height: 1.4; box-shadow: 0 8px 18px #17232b33; }
#corporateFunctionsPanel .admin-form textarea, .job-title-row textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid #cfdae2; border-radius: 5px; font: inherit; }
.corporate-management .registry-section-title { margin-top: 0; }
.corporate .primary-action { background: var(--sna-red); border-color: var(--sna-red); }
.corporate .primary-action:hover, .corporate .primary-action:focus-visible { background: #9e2025; border-color: #9e2025; }
.corporate:fullscreen { width: 100vw; height: 100dvh; overflow: auto; }
.corporate-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 32px; }
.corporate-section-heading h2 { color: var(--sna-dark); font-size: clamp(32px, 3vw, 46px); }
.corporate-section-heading p:not(.corporate-eyebrow) { max-width: 720px; margin: 13px 0 0; color: #697174; font-size: 15px; line-height: 1.6; }
.corporate-module-count { flex: none; padding-bottom: 8px; border-bottom: 2px solid var(--sna-red); color: var(--sna-red); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.corporate-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.corporate-module { display: flex; flex-direction: column; align-items: stretch; min-height: 248px; padding: 26px; border: 1px solid #dedede; border-top: 4px solid #c8cbcc; border-radius: 4px; background: white; color: var(--sna-ink); text-align: left; animation: corporate-enter .55s ease both; }
.corporate-module:nth-child(2) { animation-delay: .07s; }.corporate-module:nth-child(3) { animation-delay: .14s; }.corporate-module:nth-child(4) { animation-delay: .21s; }.corporate-module:nth-child(5) { animation-delay: .28s; }
.corporate-module:nth-child(6) { animation-delay: .35s; }
.corporate-module-ready { border-top-color: var(--sna-red); cursor: pointer; transition: transform .22s, box-shadow .22s, border-color .22s; }
.corporate-module-ready:hover, .corporate-module-ready:focus-visible { transform: translateY(-5px); border-color: var(--sna-red); box-shadow: 0 18px 36px #161c1f18; }
.corporate-module-ready:disabled { cursor: not-allowed; border-top-color: #c8cbcc; box-shadow: none; opacity: .7; }
.corporate-module-ready:disabled:hover { transform: none; border-color: #dedede; border-top-color: #c8cbcc; }
.corporate-module-future:nth-child(2) { border-top-color: #d7ad37; }
.corporate-module-future:nth-child(2) .corporate-module-icon { background: #fff6d9; color: #946c0b; }
.corporate-module-future:nth-child(3) { border-top-color: #4a9d69; }
.corporate-module-future:nth-child(3) .corporate-module-icon { background: #e4f5e9; color: #27784a; }
.corporate-module-number { color: #a3a7a9; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.corporate-module-icon { align-self: flex-end; display: grid; place-items: center; width: 42px; height: 42px; margin-top: -22px; border-radius: 50%; background: #f1f2f2; color: #747c7f; font-size: 24px; }
.corporate-module-ready .corporate-module-icon { background: #fcecee; color: var(--sna-red); }
.corporate-module-name { display: block; margin: 26px 0 7px; color: var(--sna-dark); font-size: 24px; font-weight: 800; }
.corporate-module-description { display: block; flex: 1; margin: 0; color: #70777a; font-size: 13px; line-height: 1.55; }
.corporate-module-footer { display: flex; justify-content: space-between; gap: 15px; margin-top: 28px; padding-top: 16px; border-top: 1px solid #e9e9e9; color: #969c9f; font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.corporate-module-ready .corporate-module-footer { color: var(--sna-red); }
.corporate-footer { display: flex; justify-content: space-between; gap: 24px; padding: 23px clamp(24px, 4vw, 64px); background: var(--sna-dark); color: #b8bfc2; font-size: 12px; }
@keyframes corporate-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) { .corporate-header-inner, .corporate-header-actions { flex-wrap: wrap; } .corporate-header-actions { gap: 12px; } }
@media (max-width: 900px) { .corporate-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .corporate-session { display: none; } .corporate-registry-layout { grid-template-columns: 1fr; } .corporate-registry-nav { flex-direction: row; flex-wrap: wrap; align-items: center; } .corporate-registry-nav h3 { width: 100%; } .corporate-registry-nav button { width: auto; } .corporate-registry-nav p { width: 100%; margin-top: 8px; } }
@media (max-width: 600px) { .corporate-header-inner { min-height: 75px; flex-wrap: wrap; } .corporate-logo { width: 152px; } .corporate-header-actions { gap: 10px; flex-wrap: wrap; } .corporate-identity { max-width: 120px; } .corporate-modules, .corporate-management, .corporate-profile { padding: 38px 20px 70px; } .corporate-section-heading { display: block; } .corporate-module-count { display: inline-block; margin-top: 20px; } .corporate-module-grid { grid-template-columns: 1fr; } .corporate-module { min-height: 220px; } .corporate-footer { flex-direction: column; gap: 5px; } }
@media (prefers-reduced-motion: reduce) { .corporate *, .corporate *::before, .corporate *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
/* Corporate application hub: industrial backdrop, official brand and portal-specific accents. */
.corporate { --sna-dark: #101e30; }
.corporate-header { background: linear-gradient(100deg, #0d1d31, #19283a); border-bottom: 1px solid #ffffff24; }
.corporate-header-inner { max-width: none; min-height: 76px; padding: 10px clamp(22px, 3.4vw, 56px); }
.corporate-brand { display: flex; align-items: center; gap: clamp(17px, 2vw, 30px); min-width: 0; }
.corporate-logo { width: clamp(167px, 14vw, 216px); padding: 5px 7px; border-radius: 4px; background: white; }
.corporate-brand-divider { width: 1px; height: 36px; background: #ffffff40; }
.corporate-brand-caption { color: #bac4d0; font-size: 11px; font-weight: 800; letter-spacing: .25em; white-space: nowrap; }
.corporate-header-actions { gap: clamp(10px, 1.45vw, 22px); }
.corporate-person { gap: 12px; padding: 4px 7px; border-radius: 25px; }
.corporate-person:hover, .corporate-person:focus-visible, .corporate-person[aria-current="page"] { background: #ffffff1c; }
.corporate-avatar { width: 46px; height: 46px; border: 2px solid #ffffffc7; border-radius: 50%; background: #45617d; }
.corporate-identity strong { font-size: 15px; font-weight: 600; }
.corporate-identity small { font-size: 11px; }
.corporate-identity > span { color: #b9d8f4; }
.corporate-version { padding: 10px 13px; border-radius: 11px; background: #ffffff27; font-size: 12px; }
.corporate-exit { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 45px; padding: 9px 17px; border-color: #ffffff46; border-radius: 11px; font: inherit; font-size: 15px; }
.corporate-exit:hover, .corporate-exit:focus-visible { background: #ffffff20; border-color: #ffffffa8; }
.corporate-exit svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; }
.corporate-main { max-width: none; }
.corporate-management, .corporate-profile { max-width: 1500px; margin: auto; }
.corporate-modules { position: relative; display: flex; align-items: stretch; min-height: calc(100svh - 76px); padding: 0; overflow: hidden; background: linear-gradient(90deg, #07182b80 0%, #0b1e3540 47%, #0b1e3522 100%), linear-gradient(0deg, #09192bea 0%, #0b1d3029 49%, #0b1d3008 100%), url('corporate-mobility-background-v1.webp') center center / cover no-repeat; color: white; }
.corporate-modules-inner { width: min(100%, 1510px); margin: 0 auto; padding: clamp(72px, 10.5vh, 110px) clamp(26px, 5vw, 78px) 86px; }
.corporate-hero { max-width: 700px; margin-bottom: clamp(56px, 8vh, 85px); }
.corporate-hero .corporate-eyebrow { margin-bottom: 12px; color: #c7d2e0; font-size: 12px; letter-spacing: .5em; }
.corporate-hero h1 { margin: 0; color: #fff; font-size: clamp(47px, 4.2vw, 68px); line-height: 1.05; font-weight: 800; letter-spacing: -.035em; }
.corporate-hero > p:not(.corporate-eyebrow) { margin: 17px 0 0; color: #d1d9e2; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.5; }
.corporate-modules .corporate-module-count { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.corporate-module-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: clamp(10px, 1vw, 16px); width: 100%; }
.corporate-module-grid > .corporate-module { flex: 0 1 185px; }
.corporate-modules.few-portals .corporate-modules-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100svh - 76px); padding-block: 42px; }
.corporate-modules.few-portals .corporate-hero { margin-bottom: 32px; text-align: center; }
.corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex-basis: min(100%, 300px); }
.corporate-modules.supplier-only #enterSupplierPortal { min-height: 300px; }
.corporate-module { --module-accent: #84909c; --module-icon: #59626e; position: relative; min-height: 300px; padding: 20px 14px 17px; border: 1px solid #ffffff36; border-top: 4px solid var(--module-accent); border-radius: 11px; background: linear-gradient(165deg, #202833bb 0%, #0d1c2ce5 100%); color: white; box-shadow: 0 18px 45px #00000035; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.corporate-theme-director { --module-accent: #a9ccf2; --module-icon: #35558e; }
.corporate-theme-supplies { --module-accent: #3f9fe8; --module-icon: #246caa; }
.corporate-theme-supplier { --module-accent: #a78bfa; --module-icon: #6840a8; }
.corporate-theme-ti { --module-accent: #dcb842; --module-icon: #8b711b; }
.corporate-theme-logistics { --module-accent: #51ae73; --module-icon: #267b47; }
.corporate-theme-monitoring { --module-accent: #5c9ed6; --module-icon: #2b6393; }
.corporate-theme-facility { --module-accent: #adb6bf; --module-icon: #717b86; }
.corporate-theme-sms { --module-accent: #ed805c; --module-icon: #9d493b; }
.corporate-theme-controller { --module-accent: #be874f; --module-icon: #805327; }
.corporate-theme-finance { --module-accent: #28c59a; --module-icon: #116e5b; }
.corporate-theme-warehouse { --module-accent: #f0a82b; --module-icon: #37424b; }
.corporate-theme-contracts { --module-accent: #fa8c85; --module-icon: #a3475b; }
.corporate-theme-hr { --module-accent: #dd8dad; --module-icon: #914769; }
.corporate-theme-personnel { --module-accent: #7dabc5; --module-icon: #315e78; }
.corporate-theme-sgi { --module-accent: #50beba; --module-icon: #267e7c; }
.corporate-theme-compliance { --module-accent: #b6ab81; --module-icon: #706743; }
.corporate-theme-quality { --module-accent: #8292eb; --module-icon: #4c5bb0; }
.corporate-theme-legal { --module-accent: #a96980; --module-icon: #6a3049; }
.corporate-theme-marketing { --module-accent: #de70ce; --module-icon: #954589; }
.corporate-theme-access { --module-accent: #a6b759; --module-icon: #687b2d; }
.corporate-theme-training { --module-accent: #72b6dd; --module-icon: #3c789a; }
.corporate-theme-accounting { --module-accent: #9577ef; --module-icon: #5841a6; }
.corporate-theme-budgets { --module-accent: #f17276; --module-icon: #a73a47; }
.corporate-theme-commercial { --module-accent: #53c4a4; --module-icon: #1a8068; }
.corporate-theme-administrative { --module-accent: #d9b66a; --module-icon: #74603a; }
.corporate-theme-store { --module-accent: #b7a5cb; --module-icon: #665477; }
.corporate-theme-store .corporate-module-arrow { font-size: 18px; }
.corporate-theme-client { --module-accent: #77b9d1; --module-icon: #27677c; }
.corporate-theme-client .corporate-module-arrow { font-size: 18px; }
.director-kpi-pin { margin-top: 12px; padding: 7px 10px; border: 1px solid #b9cce3; border-radius: 6px; background: #f7fbff; color: #20537f; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; text-align: left; }
.director-kpi-pin:hover, .director-kpi-pin:focus-visible { border-color: #478bc1; background: #eaf5ff; }
.director-kpi-pin[aria-pressed="true"] { border-color: #c9ad69; background: #fff8e7; color: #755713; }
.director-kpi-pin:disabled { opacity: .6; cursor: wait; }
.director-favorites { margin: 22px 0; }
.director-favorite-card { min-width: 0; }
.director-favorite-card small { display: block; color: #607b96; font-size: 11px; }
.director-workforce-pins { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 0; }
.director-workforce-pin { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 14px; border: 1px solid #d5e3ed; border-radius: 8px; background: white; }
.director-workforce-pin .director-kpi-pin { margin: 0; }
#financeOverview .finance-dashboard, #warehouseOverview .finance-dashboard { display: none; }
.kpi-standard { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #d7e5ed; color: #506b82; font-size: 11px; line-height: 1.35; }
.kpi-target-form { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.kpi-target-form label { display: flex; flex-direction: column; gap: 4px; color: #24445c; font-size: 11px; font-weight: 700; }
.kpi-target-form input { width: 110px; min-height: 34px; padding: 5px 8px; border: 1px solid #bfd1df; border-radius: 5px; background: white; color: #183149; font: inherit; }
.kpi-target-form button { min-height: 34px; }
.kpi-target-form small { width: 100%; }
.dashboard-kpi, .hr-kpi { animation: kpi-refresh .45s ease-out both; }
@keyframes kpi-refresh { from { opacity: .78; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .dashboard-kpi, .hr-kpi { animation: none; } }
.corporate-module .corporate-module-icon { align-self: flex-start; display: grid; place-items: center; width: 58px; height: 58px; margin: 0; border: 1px solid #ffffff32; border-radius: 50%; background: var(--module-icon); color: white; font-size: 28px; }
.corporate-module-future .corporate-module-icon { background: var(--module-icon); color: white; font-size: 30px; font-weight: 700; }
.corporate-module .corporate-module-icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.corporate-module .corporate-module-name { margin: 19px 0 10px; color: #fff; font-size: clamp(15px, 1.25vw, 20px); line-height: 1.18; font-weight: 800; overflow-wrap: normal; word-break: normal; hyphens: none; }
.corporate-theme-warehouse .corporate-module-name, .corporate-theme-controller .corporate-module-name,
.corporate-theme-monitoring .corporate-module-name, .corporate-theme-training .corporate-module-name,
.corporate-theme-administrative .corporate-module-name, .corporate-theme-marketing .corporate-module-name,
.corporate-theme-access .corporate-module-name, .corporate-theme-hr .corporate-module-name,
.corporate-theme-personnel .corporate-module-name { font-size: clamp(12px, 1vw, 16px); }
.corporate-module .corporate-module-description { color: #ccd5df; font-size: 12px; line-height: 1.45; }
.corporate-module .corporate-module-footer { align-items: flex-end; gap: 8px; margin-top: 18px; padding: 0; border: 0; color: #9eacbb; font-size: 9px; letter-spacing: .08em; }
.corporate-module .corporate-module-arrow { display: grid; place-items: center; flex: none; width: 39px; height: 39px; border: 1px solid #ffffff53; border-radius: 50%; background: #ffffff18; color: white; font-size: 23px; font-weight: 400; letter-spacing: 0; line-height: 1; }
.corporate-module-ready { cursor: pointer; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.corporate-module-ready:hover, .corporate-module-ready:focus-visible { transform: translateY(-6px); border-color: #80c6fb; border-top-color: var(--module-accent); box-shadow: 0 23px 45px #06172a99; }
.corporate-module-ready .corporate-module-footer { color: #c9e6ff; }
.corporate-module-ready:hover .corporate-module-arrow, .corporate-module-ready:focus-visible .corporate-module-arrow { background: var(--module-icon); border-color: var(--module-accent); }
.corporate-module-ready:disabled { opacity: .67; cursor: not-allowed; }
.corporate-module-ready:disabled:hover { transform: none; border-color: #ffffff36; border-top-color: var(--module-accent); box-shadow: 0 18px 45px #00000035; }
.corporate-module-future:nth-child(2), .corporate-module-future:nth-child(3) { border-top-color: var(--module-accent); }
.corporate-module-future:nth-child(2) .corporate-module-icon, .corporate-module-future:nth-child(3) .corporate-module-icon { background: var(--module-icon); color: white; }
.corporate-footer { background: #0b192a; }
.supplier-portal { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100dvh; min-height: 0; overflow: hidden; color: #291a43; background: radial-gradient(circle at 94% 0, #d9c6ff 0, transparent 31%), linear-gradient(155deg, #f8f5ff, #eee7fb 65%, #e7d8f5); }
.supplier-portal:fullscreen { width: 100vw; height: 100dvh; }
.supplier-portal-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: 0; }
.supplier-portal-sidebar { display: flex; flex-direction: column; min-height: 0; overflow-y: auto; padding: 28px 15px 22px; background: #26183a; color: #fff; border-right: 1px solid #563471; scrollbar-color: #9a78b9 #26183a; }
.supplier-portal-nav { display: grid; align-content: start; gap: 6px; }
.supplier-nav-link { width: 100%; padding: 14px 16px; border: 0; border-radius: 9px; background: transparent; color: #d7c4eb; text-align: left; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.supplier-nav-link:hover, .supplier-nav-link:focus-visible { background: #42275e; color: #fff; }
.supplier-nav-link.active { background: #5a347d; color: #fff; box-shadow: inset 3px 0 #cf9fff; }
.supplier-sidebar-note { margin: auto 7px 0; padding-top: 20px; border-top: 1px solid #64477d; color: #c5afd8; font-size: 12px; line-height: 1.5; }
.supplier-portal-pane { min-width: 0; min-height: 0; overflow-y: auto; }
.supplier-portal-header { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px clamp(20px, 4vw, 64px); background: linear-gradient(110deg, #211431, #38205b 65%, #4a2477); color: #fff; box-shadow: 0 12px 32px #2b16402b; }
.supplier-portal-brand { display: flex; align-items: center; gap: 20px; }
.supplier-portal-brand img { width: clamp(140px, 13vw, 190px); padding: 6px; border-radius: 5px; background: #fff; }
.supplier-portal-brand div { display: grid; gap: 4px; }
.supplier-portal-brand small { color: #cfb6ef; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.supplier-portal-brand strong { font-size: clamp(17px, 1.5vw, 22px); }
.supplier-portal-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.supplier-portal-actions span { margin-right: 10px; color: #e6d9f4; font-size: 13px; }
.supplier-portal-actions .supplier-portal-avatar { display: grid; place-items: center; width: 39px; height: 52px; margin-right: 0; overflow: hidden; border: 2px solid #d8c2ef; border-radius: 5px; background: #9a74c4; color: #fff; font-weight: 800; }
.supplier-portal-avatar img { width: 100%; height: 100%; object-fit: cover; }
.supplier-portal-actions .supplier-portal-stage { padding: 8px 10px; border-radius: 8px; background: #a174c044; color: #f2dfff; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.supplier-portal-actions button { padding: 10px 15px; border: 1px solid #b797d6; border-radius: 7px; background: #ffffff12; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.supplier-portal-actions button:hover, .supplier-portal-actions button:focus-visible { background: #ffffff2c; }
.supplier-portal-actions .supplier-portal-person { display: flex; align-items: center; gap: 10px; padding: 3px 7px; border: 0; border-radius: 25px; background: transparent; text-align: left; }
.supplier-portal-actions .supplier-portal-avatar { flex: none; width: 46px; height: 46px; margin: 0; border-radius: 50%; }
.supplier-portal-identity { display: grid; gap: 2px; min-width: 0; max-width: 250px; }
.supplier-portal-actions .supplier-portal-identity > span { margin: 0; }
.supplier-portal-identity .person-name-line strong { color: #fff; font-size: 14px; }
.supplier-portal-identity small { color: #e3d1f4; font-size: 11px; }
.supplier-portal-identity > span:last-child { color: #e8d5fa; font-size: 10px; }
.supplier-portal-actions .supplier-portal-fullscreen { white-space: nowrap; }
.supplier-portal-actions .module-exit { border-color: #dac2f2; }
.supplier-portal-main { width: min(1480px, calc(100% - 40px)); margin: 0 auto; padding: 43px 0 80px; }
.supplier-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.supplier-overview-card { min-width: 0; padding: 25px; border: 1px solid #decdf0; border-radius: 13px; background: #fff; box-shadow: 0 8px 24px #5b398212; }
.supplier-overview-card strong { display: block; color: #5c2e8c; font-size: clamp(27px, 3vw, 40px); line-height: 1.15; overflow-wrap: anywhere; }
.supplier-overview-card span { display: block; margin-top: 8px; color: #291a43; font-size: 14px; font-weight: 800; }
.supplier-overview-card small { display: block; margin-top: 8px; color: #755f89; line-height: 1.45; }
.supplier-overview-actions > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
@media (max-width: 900px) { .supplier-overview-grid { grid-template-columns: 1fr; } }
.supplier-portal-intro { margin: 0 0 20px; padding: clamp(24px, 3vw, 40px); border-radius: 15px; background: linear-gradient(115deg, #44236d, #633594); color: #fff; box-shadow: 0 18px 42px #55328330; }
.supplier-portal-intro p { margin: 0 0 9px; color: #d9c5f4; font-size: 11px; font-weight: 900; letter-spacing: .24em; }
.supplier-portal-intro h1 { margin: 0 0 9px; color: #fff; font-size: clamp(30px, 3vw, 43px); }
.supplier-portal-intro span { color: #ecdcff; line-height: 1.5; }
.supplier-portal-banner { margin-bottom: 22px; padding: 13px 17px; border-left: 4px solid #8d56d0; border-radius: 7px; background: #e9dcfc; color: #4b2778; font-weight: 700; }
.supplier-portal #corporateSuppliersPanel { display: grid; gap: 18px; }
.supplier-portal .content-card, .supplier-portal .supplier-registry-row { border-color: #decdf0; box-shadow: 0 8px 24px #5b398212; }
.supplier-portal .content-card { background: #fff; }
.supplier-portal .primary-action { background: #6a35a0; border-color: #6a35a0; }
.supplier-portal .primary-action:hover, .supplier-portal .primary-action:focus-visible { background: #52277e; border-color: #52277e; }
.supplier-portal .secondary-action { color: #5c2e8c; border-color: #bfa4df; }
.supplier-portal .secondary-action:hover, .supplier-portal .secondary-action:focus-visible { background: #f0e6fc; }
.supplier-portal :is(input, select, textarea):focus-visible { outline-color: #8b5bc7; border-color: #8b5bc7; }
.supplier-portal .supplier-step-track span.active { border-color: #8b5bc7; color: #5d2a8d; }
@media (max-width: 740px) { .supplier-portal { display: block; height: auto; min-height: 100svh; overflow: visible; } .supplier-portal-header { align-items: flex-start; flex-direction: column; } .supplier-portal-layout { display: block; } .supplier-portal-sidebar { position: relative; overflow: visible; padding: 10px 12px; } .supplier-portal-nav { display: flex; gap: 7px; } .supplier-nav-link { width: auto; flex: 1; text-align: center; } .supplier-sidebar-note { display: none; } .supplier-portal-pane { overflow: visible; } .supplier-portal-main { width: min(100% - 24px, 1480px); padding-top: 20px; } }
@media (max-width: 1200px) { .corporate-module-grid > .corporate-module { flex-basis: 210px; } .corporate-module { min-height: 290px; } .corporate-module .corporate-module-name { font-size: clamp(17px, 1.8vw, 21px); } .corporate-header-actions { gap: 9px; } .corporate-brand-caption { font-size: 9px; letter-spacing: .12em; } }
@media (max-width: 900px) { .corporate-module-grid > .corporate-module { flex-basis: min(260px, calc((100% - 16px) / 2)); } .corporate-modules-inner { padding-top: 66px; } .corporate-hero { margin-bottom: 44px; } .corporate-header-inner { gap: 12px; } }
@media (max-width: 620px) { .corporate-header-inner { padding: 12px 18px; } .corporate-logo { width: 145px; } .corporate-header-actions { justify-content: space-between; width: 100%; } .corporate-fullscreen { display: none; } .corporate-modules-inner { padding: 54px 20px 72px; } .corporate-hero h1 { font-size: 48px; } .corporate-hero > p:not(.corporate-eyebrow) { font-size: 16px; } .corporate-module-grid { gap: 15px; } .corporate-module-grid > .corporate-module { flex-basis: min(100%, 300px); } .corporate-module { min-height: 245px; } .corporate-module .corporate-module-name { font-size: 24px; } .corporate-footer { flex-direction: column; gap: 5px; } }
.portal { height: 100vh; height: 100dvh; display: grid; grid-template-columns: 282px minmax(0, 1fr); overflow: hidden; background: #f3f6f8; }
.portal:fullscreen { width: 100vw; height: 100dvh; overflow: auto; }
.portal-sidebar { display: flex; flex-direction: column; height: 100%; min-height: 0; padding: 30px 18px 20px; overflow-y: auto; background: var(--navy-deep); color: white; }
.portal-brand { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 0 6px 27px; border-bottom: 1px solid #294056; }
.portal-brand img { width: 137px; max-width: 55%; padding: 6px; border-radius: 5px; background: white; }
.portal-brand span { min-width: 0; color: #d2e0ec; font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.35; }
.portal-nav { display: grid; gap: 4px; padding-top: 27px; }
.nav-link { width: 100%; padding: 13px 15px; border: 0; border-radius: 8px; color: #bdd0df; background: transparent; text-align: left; cursor: pointer; font-size: 14px; font-weight: 600; }
.nav-link:hover, .nav-link:focus-visible { background: #183852; color: white; }
.nav-link.active { color: white; background: #1c557d; box-shadow: inset 3px 0 #f25349; }
.sidebar-note { margin-top: auto; padding: 22px 13px 0; border-top: 1px solid #294056; color: #8ca5b9; font-size: 12px; line-height: 1.6; }
.portal-main { min-width: 0; min-height: 0; overflow-y: auto; }
.portal-topbar { position: sticky; top: 0; z-index: 50; display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 82px; padding: 16px clamp(24px, 3.2vw, 52px); border-bottom: 1px solid var(--line); background: white; box-shadow: 0 5px 18px #0c2b4310; }
.portal-topbar > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.topbar-kicker { color: #8d9ca8; font-size: 11px; letter-spacing: .12em; font-weight: 700; }
.portal-topbar strong { color: var(--navy); font-size: 16px; }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.module-exit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 13px; border: 1px solid #aec8d8; border-radius: 9px; background: #f7fbfe; color: #28536e; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; }
.module-exit:hover, .module-exit:focus-visible { border-color: #6da5c8; background: #e9f5fc; }
.module-exit svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.supplier-portal-actions .module-exit { background: #ffffff12; color: #fff; }
.supplier-portal-actions .module-exit:hover, .supplier-portal-actions .module-exit:focus-visible { background: #ffffff2c; }
.controller-portal { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100dvh; min-height: 0; overflow: hidden; background: #f5efe8; color: #30261d; }
.controller-portal:fullscreen { width: 100vw; height: 100dvh; }
.controller-header { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px clamp(18px, 3vw, 48px); background: linear-gradient(110deg, #33251d, #503523 65%, #67402a); color: #fff; box-shadow: 0 8px 24px #301a0c38; }
.controller-brand, .controller-actions { display: flex; align-items: center; gap: 14px; min-width: 0; }
.controller-brand img { width: clamp(140px, 13vw, 190px); padding: 6px; border-radius: 5px; background: #fff; }
.controller-brand div { display: grid; gap: 3px; }
.controller-brand small { color: #e1b98e; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.controller-brand strong { font-size: clamp(16px, 1.4vw, 21px); white-space: nowrap; }
.controller-actions button { border: 1px solid #d9b68b80; border-radius: 8px; background: #ffffff14; color: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.controller-actions button:hover, .controller-actions button:focus-visible { background: #ffffff2b; }
.controller-person { display: flex; align-items: center; gap: 10px; padding: 4px 7px; text-align: left; }
.controller-avatar { display: grid; place-items: center; flex: none; width: 44px; height: 44px; overflow: hidden; border: 2px solid #e8cda9; border-radius: 50%; background: #a67848; color: #fff; }
.controller-avatar img { width: 100%; height: 100%; object-fit: cover; }
.controller-identity { display: grid; gap: 1px; min-width: 0; max-width: 250px; }
.controller-identity .person-name-line strong { color: #fff; font-size: 13px; }
.controller-identity small, .controller-identity > span:last-child { color: #ead6bf; font-size: 10px; }
.controller-fullscreen, .controller-actions .module-exit { padding: 9px 11px; white-space: nowrap; }
.controller-version { padding: 9px 10px; border-radius: 7px; background: #ffffff25; color: #fff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.controller-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); min-height: 0; }
.controller-sidebar { display: flex; flex-direction: column; overflow-y: auto; padding: 27px 14px; background: #35251c; color: #f8e8d4; }
.controller-nav-link { width: 100%; padding: 14px 16px; border: 0; border-radius: 8px; background: #70482e; color: #fff; text-align: left; font: inherit; font-size: 14px; font-weight: 800; box-shadow: inset 3px 0 #e5ad6c; }
.controller-sidebar nav { display: grid; gap: 6px; }
.controller-nav-link { cursor: pointer; }
.controller-nav-link:hover, .controller-nav-link:focus-visible, .controller-nav-link.active { filter: brightness(1.14); }
.common-module-panel .controller-next { margin-top: 22px; }
.supplier-portal-main > .content-card { margin-top: 20px; }
.controller-sidebar p { margin: auto 8px 0; padding-top: 20px; border-top: 1px solid #70513a; color: #d5bca4; font-size: 12px; line-height: 1.5; }
.controller-main { min-width: 0; min-height: 0; overflow-y: auto; padding: clamp(22px, 4vw, 54px); }
.controller-welcome { padding: clamp(26px, 3vw, 42px); border-radius: 15px; background: linear-gradient(120deg, #67432c, #95683e); color: #fff; box-shadow: 0 17px 36px #5c3d2330; }
.controller-welcome p, .controller-info-card small { margin: 0 0 8px; color: #f8d7ab; font-size: 11px; font-weight: 900; letter-spacing: .18em; }
.controller-welcome h1 { margin: 0 0 9px; color: #fff; font-size: clamp(29px, 3vw, 44px); }
.controller-welcome span { color: #f6e7d7; }
.controller-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 22px 0; }
.controller-info-card, .controller-next { padding: 27px; border: 1px solid #e1cfb9; border-radius: 12px; background: #fffdf9; box-shadow: 0 8px 25px #65452612; }
.controller-info-card small { color: #a36638; }
.controller-info-card h2, .controller-next h2 { margin: 0 0 8px; color: #3e2c20; font-size: 22px; }
.controller-info-card p, .controller-next p { margin: 0; color: #685b4d; line-height: 1.6; }
.finance-portal { background: #edf7f3; color: #173d34; }
.finance-portal .controller-header { background: linear-gradient(110deg, #082f2a, #075547 68%, #08735c); }
.finance-portal .controller-brand small { color: #9ee8cb; }
.finance-portal .controller-avatar { border-color: #9ee8cb; background: #08735c; }
.finance-portal .controller-sidebar { background: #0b3932; color: #e3f8ef; }
.finance-portal .controller-sidebar p { border-color: #3b7566; color: #b7ddce; }
.finance-portal .controller-nav-link { margin-bottom: 6px; box-shadow: none; background: transparent; color: #c3e8d8; cursor: pointer; }
.finance-portal .controller-nav-link:hover, .finance-portal .controller-nav-link:focus-visible { background: #176752; color: #fff; }
.finance-portal .controller-nav-link.active { background: #16745b; color: #fff; box-shadow: inset 3px 0 #6ee7ba; }
.finance-portal .controller-welcome { background: linear-gradient(120deg, #0b604f, #118c6b); box-shadow: 0 17px 36px #0c5b4330; }
.finance-portal .controller-welcome p { color: #a8f0d2; }
.finance-portal .controller-info-card, .finance-portal .controller-next { border-color: #c2e4d5; background: #fcfffd; }
.finance-portal .controller-info-card small { color: #13815f; }
.finance-portal .controller-info-card h2, .finance-portal .controller-next h2 { color: #164838; }
.finance-portal .controller-info-card p, .finance-portal .controller-next p { color: #4b6c60; }
.finance-portal .primary-action { margin-top: 16px; background: #087b5b; border-color: #087b5b; }
.finance-portal .primary-action:hover, .finance-portal .primary-action:focus-visible { background: #065e47; border-color: #065e47; }
.finance-portal #view-payment { padding: 0; }
.finance-portal #view-payment .page-heading { margin-bottom: 18px; }
.finance-portal #view-payment .content-card { border-color: #c2e4d5; background: #fff; }
.finance-dashboard { margin-top: 22px; }
.finance-dashboard .card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.finance-dashboard .card-heading h2 { margin: 0 0 4px; color: #164838; font-size: 24px; }
.finance-dashboard .dashboard-kpis { margin-bottom: 18px; }
.finance-dashboard .dashboard-kpi { border-color: #bde3d2; background: #fff; }
.finance-dashboard .dashboard-kpi strong { color: #087b5b; }
.finance-dashboard .dashboard-card { margin-bottom: 18px; border-color: #c2e4d5; }
.warehouse-portal { background: #f3f4f2; color: #26343d; }
.warehouse-portal .controller-header { background: linear-gradient(110deg, #1c2830, #34424a 70%, #4d5350); }
.warehouse-portal .controller-brand small { color: #ffd17b; }
.warehouse-portal .controller-avatar { border-color: #ffd17b; background: #576069; }
.warehouse-portal .controller-sidebar { background: #26343d; color: #f6ede0; }
.warehouse-portal .controller-sidebar p { border-color: #63717a; color: #d6d9d4; }
.warehouse-portal .controller-nav-link { margin-bottom: 6px; box-shadow: none; background: transparent; color: #f1e4cf; cursor: pointer; }
.warehouse-portal .controller-nav-link:hover, .warehouse-portal .controller-nav-link:focus-visible { background: #485761; color: #fff; }
.warehouse-portal .controller-nav-link.active { background: #4e5c64; color: #fff; box-shadow: inset 3px 0 #f0a82b; }
.warehouse-portal .controller-welcome { background: linear-gradient(115deg, #34424b, #59636a); box-shadow: 0 17px 36px #202f3730; }
.warehouse-portal .controller-welcome p { color: #ffd17b; }
.warehouse-portal .controller-next { border-color: #ddd7c9; background: #fff; }
.warehouse-portal .controller-next h2, .warehouse-portal .finance-dashboard h2 { color: #26343d; }
.warehouse-portal .primary-action { margin-top: 16px; background: #b46c16; border-color: #b46c16; }
.warehouse-portal .primary-action:hover, .warehouse-portal .primary-action:focus-visible { background: #93560d; border-color: #93560d; }
.warehouse-portal .dashboard-kpi { border-color: #e2d7c0; background: #fff; }
.warehouse-portal .dashboard-kpi strong { color: #a45f10; }
.warehouse-portal #view-warehouse { display: block; padding: 0; }
.warehouse-portal #view-warehouse .content-card { border-color: #e2d7c0; }
.warehouse-inventory .inventory-toolbar { margin: 22px 0; border-color: #e2d7c0; }
.inventory-toolbar form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; margin: 16px 0 8px; }
.inventory-toolbar form label { display: grid; gap: 6px; flex: 1 1 280px; font-weight: 700; }
.inventory-toolbar input, .inventory-edit-form input { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #bfc9cd; border-radius: 6px; background: #fff; color: #24343c; font: inherit; }
.inventory-toolbar #warehouseInventoryCount { margin-bottom: 0; font-weight: 800; }
.inventory-list { display: grid; gap: 9px; }
.inventory-duplicate-dialog{width:min(980px,calc(100vw - 32px));max-height:88vh;padding:0;border:0;border-radius:18px;overflow:auto}
.inventory-duplicate-dialog>section{padding:24px}
.inventory-duplicate-groups{display:grid;gap:12px;margin-top:18px}
.inventory-duplicate-group{border:1px solid var(--line,#c8d6de);border-radius:12px;padding:14px;background:var(--surface,#fff)}
.inventory-duplicate-group h4{margin:0 0 10px}
.inventory-duplicate-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line,#dce5ea)}
.inventory-duplicate-item:first-of-type{border-top:0}
@media(max-width:720px){.inventory-duplicate-item{grid-template-columns:1fr}.inventory-duplicate-item .secondary-action{width:100%}}
.inventory-row { padding: 15px 18px; border: 1px solid #d9deda; border-radius: 10px; background: #fff; }
.inventory-row-display { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(110px, 160px) auto; align-items: center; gap: 18px; }
.inventory-row-display > div { display: grid; gap: 4px; min-width: 0; }
.inventory-row-display small, .inventory-row-display span { color: #617178; font-size: 12px; }
.inventory-row-display strong { overflow-wrap: anywhere; }
.inventory-quantity { text-align: right; }
.inventory-quantity strong { color: #7d4d17; }
.inventory-row-display .inventory-product-photo{display:flex;align-items:center;justify-content:center}
.inventory-no-photo{display:grid;place-items:center;width:48px;height:48px;padding:3px;border:1px dashed #9babb5;border-radius:10px;background:#f3f6f8;color:#617178!important;font-size:10px!important;font-weight:700;line-height:1.1;text-align:center}
.inventory-row-actions{display:flex!important;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.inventory-edit-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) auto; align-items: end; gap: 12px; }
.inventory-edit-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.inventory-edit-actions { display: flex; gap: 7px; }
.inventory-edit-form p { grid-column: 1 / -1; margin: 0; color: #a3262b; }
.inventory-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
@media (max-width: 700px) { .inventory-row-display { grid-template-columns:auto minmax(0,1fr);align-items:start; } .inventory-row-display .inventory-quantity,.inventory-row-actions{grid-column:2}.inventory-row-actions{justify-content:stretch}.inventory-row-actions button{flex:1}.inventory-edit-form { grid-template-columns: 1fr; } .inventory-quantity { text-align: left; } .inventory-pagination { flex-wrap: wrap; } .inventory-no-photo{width:54px;height:54px} }
.director-portal { background: #f0f3fb; color: #1d2d4d; }
.administrative-portal { background: #f4f2ee; color: #292d36; }
.administrative-portal .controller-header { background: linear-gradient(110deg, #20252e, #343a46 68%, #594a3e); }
.administrative-portal .controller-brand small { color: #f2dba4; }
.administrative-portal .controller-avatar { border-color: #e8cf97; background: #817354; }
.administrative-portal .controller-sidebar { background: #292e38; color: #f7f2e8; }
.administrative-portal .controller-sidebar p { border-color: #727578; color: #d3cab8; }
.administrative-portal .controller-nav-link { background: transparent; box-shadow: none; color: #e8e0d0; }
.administrative-portal .controller-nav-link:hover, .administrative-portal .controller-nav-link:focus-visible { background: #4a515c; }
.administrative-portal .controller-nav-link.active { background: #645841; box-shadow: inset 3px 0 #e6c578; color: #fff; }
.administrative-portal .controller-welcome { background: linear-gradient(115deg, #303743, #66604e); box-shadow: 0 17px 36px #262d3130; }
.administrative-portal .controller-welcome p { color: #f2dba4; }
.administrative-portal .controller-next { margin-top: 22px; }
.administrative-portal .primary-action { background: #766046; border-color: #766046; }
.administrative-portal .primary-action:hover, .administrative-portal .primary-action:focus-visible { background: #574533; border-color: #574533; }
.administrative-portal .corporate-management { max-width: none; padding: 0; }
.administrative-portal .controller-main { padding: clamp(18px, 2.3vw, 34px); }
.administrative-portal .corporate-registry-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.administrative-portal .corporate-registry-nav { flex-direction: row; align-items: center; flex-wrap: wrap; padding: 12px; }
.administrative-portal .corporate-registry-nav h3 { margin: 0 12px 0 0; }
.administrative-portal .corporate-registry-nav button { width: auto; min-height: 40px; }
.administrative-portal .corporate-registry-nav p { flex-basis: 100%; margin: 2px 0 0; }
.administrative-portal .user-management-card { margin: 20px 0; }
.administrative-portal #userList { max-height: none; overflow: visible; padding-right: 0; }
.user-management-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 12px 20px; margin: 18px 0 12px; }
.user-management-toolbar > label { display: grid; gap: 6px; min-width: min(100%, 320px); font-weight: 700; color: #254861; }
.user-management-toolbar input { width: 100%; min-height: 42px; padding: 8px 12px; border: 1px solid #cbd9e4; border-radius: 7px; }
.user-status-tabs, .user-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.user-status-tabs .active { background: #f3e7ca; border-color: #9b784d; color: #513f2b; }
.user-pagination { justify-content: flex-end; margin: 12px 0; }
.administrative-portal #userList .user-list-item { padding: 16px; margin: 10px 0; border: 1px solid #dce8ee; border-radius: 9px; background: #fbfcfd; }
.administrative-portal #userList .registry-editor { gap: 15px; margin-top: 12px; }
.administrative-portal #userList .portal-access-control { justify-content: space-between; border-bottom: 1px solid #edf1f4; }
.administrative-portal #userList .other-portal-access { max-height: none; }
.temporary-password { padding: 12px; border: 1px solid #d6b46a; border-radius: 7px; background: #fff9e9; overflow-wrap: anywhere; }
.user-account-actions { margin-top: 12px; }
.administrative-portal .corporate-registry-nav button[aria-current="page"] { border-color: #b58b51; background: #fbf4e4; color: #58442d; }
.administrative-portal .corporate-registry-nav button:hover, .administrative-portal .corporate-registry-nav button:focus-visible { border-color: #b58b51; }
.administrative-settings-layout{display:grid;gap:18px;margin-top:22px}
.administrative-email-card{min-width:0}
.administrative-email-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.administrative-email-heading h2{margin:3px 0 7px;color:#273846}
.administrative-email-heading p:not(.section-kicker){margin:0;color:#647789;font-size:13px;line-height:1.5}
.administrative-email-status{border:1px solid #ddcba8;border-radius:999px;background:#fbf5e9;color:#655139;padding:7px 11px;font-size:12px;font-weight:800}
.administrative-email-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;color:#596d7d}
.administrative-email-summary:empty{display:none}
.administrative-email-summary>div{min-width:0;border:1px solid #dde6eb;border-radius:8px;background:#f8fafb;padding:11px 13px}
.administrative-email-summary span,.administrative-email-summary strong{display:block;overflow-wrap:anywhere}
.administrative-email-summary span{font-size:11px}.administrative-email-summary strong{margin-top:5px;color:#233c4e;font-size:13px}
.administrative-email-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.administrative-email-grid label,.administrative-email-test label{display:grid;align-content:start;gap:6px;min-width:0;color:#344d60;font-size:13px;font-weight:700}
.administrative-email-grid input,.administrative-email-grid select,.administrative-email-test input{box-sizing:border-box;width:100%;min-width:0;min-height:43px;padding:9px 12px;border:1px solid #c5d4dd;border-radius:7px;background:#fff;color:#17354b;font:inherit;font-size:13px}
.administrative-email-grid input:focus-visible,.administrative-email-grid select:focus-visible,.administrative-email-test input:focus-visible{border-color:#a97f47;outline:3px solid #d4b98b80;outline-offset:1px}
.administrative-email-grid label small{color:#718595;font-size:11px;font-weight:400;line-height:1.4}
.administrative-email-grid label[hidden],.administrative-email-form[hidden],.administrative-email-actions[hidden],.administrative-email-test[hidden]{display:none}
.administrative-email-form{margin-top:18px;padding-top:18px;border-top:1px solid #dce5e9}
.administrative-email-enabled{display:flex!important;align-items:center;gap:9px;margin-top:15px;color:#344d60;font-size:13px;font-weight:700}
.administrative-email-enabled input{width:18px!important;min-height:18px!important;height:18px;accent-color:#766046}
.administrative-email-form .form-hint{margin:0;color:#718595;line-height:1.5}
.administrative-email-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.administrative-email-actions .secondary-action{margin-top:0}
.administrative-email-test{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid #dce5e9}
.administrative-email-test label{flex:1 1 230px}.administrative-email-test button{margin-top:0;min-height:43px}
.administrative-email-message{min-height:18px;margin:14px 0 0!important;font-size:12px;font-weight:700}
.administrative-email-message[data-state=error]{color:#a5222a}.administrative-email-message[data-state=success]{color:#176b45}
.administrative-email-card[hidden],.administrative-update-card[hidden],.system-update-preview[hidden]{display:none!important}
.administrative-settings-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.administrative-settings-nav h3{margin:0 8px 0 0}
.administrative-settings-nav button{margin:0;min-height:43px}
.administrative-update-card{min-width:0}
.update-environment-badge{padding:8px 12px;border:1px solid #a55935;border-radius:999px;background:#fff0de;color:#92451f;font-size:12px;font-weight:900;letter-spacing:.04em}
.system-update-current,.system-update-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.system-update-current>div,.system-update-details>div{min-width:0;padding:12px 14px;border:1px solid #dce5e9;border-radius:8px;background:#f8fafb}
.system-update-current span,.system-update-details span{display:block;color:#61788a;font-size:11px;font-weight:700}
.system-update-current strong,.system-update-details strong{display:block;margin-top:5px;color:#20394a;font-size:14px;overflow-wrap:anywhere}
.system-update-applications{margin:-2px 0 20px;border:1px solid #dce5e9;border-radius:7px;background:#fff}
.system-update-applications summary{padding:11px 14px;color:#375770;font-size:13px;font-weight:800;cursor:pointer}
.system-update-applications[hidden]{display:none!important}
#systemUpdateHistory{margin:18px 0 0}
#systemUpdateHistoryList{display:grid;gap:1px;border-top:1px solid #e7edf1;background:#e7edf1}
.system-update-history-item{padding:11px 14px;border:0;background:#fbfcfd;color:#294d64;font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer}
.system-update-history-item:hover,.system-update-history-item:focus-visible{background:#f1f6f9;outline:2px solid #b58b51;outline-offset:-2px}
#systemUpdateAppVersions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid #e7edf1;background:#e7edf1}
#systemUpdateAppVersions>div{min-width:0;padding:9px 12px;background:#fbfcfd}
#systemUpdateAppVersions span,#systemUpdateAppVersions strong{display:block;overflow-wrap:anywhere}
#systemUpdateAppVersions span{color:#637c8d;font-size:11px}#systemUpdateAppVersions strong{margin-top:3px;color:#20394a;font-size:12px}
.system-update-beta-note{padding:15px 17px;border-left:4px solid #b66a33;border-radius:6px;background:#fff5e9;color:#573c29;line-height:1.55}
.system-update-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
.system-update-form label,.system-update-approval label{display:grid;gap:7px;flex:1 1 280px;min-width:0;color:#344d60;font-size:13px;font-weight:700}
.system-update-form input,.system-update-approval input{box-sizing:border-box;width:100%;min-height:43px;padding:8px 11px;border:1px solid #c5d4dd;border-radius:7px;background:#fff;color:#17354b;font:inherit}
.system-update-form input::file-selector-button{margin-right:10px;padding:7px 11px;border:1px solid #a7bfd0;border-radius:5px;background:#f3f8fb;color:#1d5c7e;font:inherit;font-weight:700;cursor:pointer}
.system-update-form input:focus-visible,.system-update-approval input:focus-visible{border-color:#a97f47;outline:3px solid #d4b98b80;outline-offset:1px}
.system-update-form button,.system-update-approval button{min-height:43px;margin:0}
.system-update-source-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 4px;padding:16px;border:1px solid #cbdce5;border-radius:9px;background:#f4f9fc}
.system-update-workflow{display:grid;gap:14px;margin-top:20px}.system-update-workflow-step{overflow:hidden;border:1px solid #c8dae4;border-radius:12px;background:#f8fbfd}.system-update-workflow-step>header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #d9e5eb;background:#edf5f9;color:#173d55}.system-update-workflow-step>header>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:#0e6f9f;color:#fff;font-size:16px;font-weight:900}.system-update-workflow-step>header>div{display:grid;gap:2px}.system-update-workflow-step>header strong{font-size:15px}.system-update-workflow-step>header small{color:#5c7483;font-size:12px;line-height:1.4}.system-update-workflow-body{padding:0 16px 16px}.system-update-workflow-body>.system-update-preview{margin-top:16px}.system-update-workflow-body>.administrative-email-message{margin:16px 0 0;min-height:38px}.system-update-workflow-body>.system-update-progress:last-child{margin-bottom:0}
.system-update-source-actions button{min-height:44px;margin:0}.system-update-source-actions .form-hint{margin:0!important}
.system-update-source-actions [data-state=success]{color:#176b45}.system-update-source-actions [data-state=error]{color:#8b4c2d}
.system-update-connection{display:flex;align-items:center;gap:13px;margin:14px 0 0;padding:14px 16px;border:1px solid #b8cfdd;border-radius:10px;background:#f5f9fc;color:#24465d}
.system-update-connection[hidden]{display:none!important}.system-update-connection>div{display:grid;gap:3px}.system-update-connection strong{font-size:14px}.system-update-connection span{font-size:12px;line-height:1.45}
.system-update-connection-indicator{flex:0 0 15px;width:15px;height:15px;border:3px solid #8ba9bb;border-radius:50%;background:#fff}
.system-update-connection[data-state=working] .system-update-connection-indicator{border-color:#d7e5ed;border-top-color:#1677a8;animation:system-update-spin .8s linear infinite}
.system-update-connection[data-state=success]{border-color:#9dcfb4;background:#edf8f2;color:#17613d}.system-update-connection[data-state=success] .system-update-connection-indicator{border-color:#2a9b61;background:#2a9b61;box-shadow:inset 0 0 0 3px #edf8f2}
.system-update-connection[data-state=error]{border-color:#e4aaa4;background:#fff1ef;color:#922f29}.system-update-connection[data-state=error] .system-update-connection-indicator{border-color:#d64a40;background:#d64a40;box-shadow:inset 0 0 0 3px #fff1ef}
@keyframes system-update-spin{to{transform:rotate(360deg)}}
.system-update-progress{margin:18px 0;padding:16px;border:1px solid #c8dae4;border-radius:10px;background:#f8fbfd}
.system-update-progress[hidden]{display:none!important}.system-update-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#24465d}
.system-update-progress-meta,.system-update-processing{display:inline-flex;align-items:center}.system-update-progress-meta{flex:0 0 auto;gap:12px}.system-update-processing{gap:6px;color:#315a73;font-size:12px;font-weight:800;white-space:nowrap}.system-update-processing[hidden]{display:none!important}
.system-update-hourglass{display:inline-block;transform-origin:center;animation:system-update-hourglass 1.35s ease-in-out infinite}.system-update-processing-dots{display:inline-block;width:1.35em;overflow:hidden;vertical-align:bottom}.system-update-processing-dots::after{content:'...';display:inline-block;animation:system-update-dots 1.2s steps(4,end) infinite}
@keyframes system-update-hourglass{0%,12%{transform:rotate(0deg)}45%,58%{transform:rotate(180deg)}90%,100%{transform:rotate(360deg)}}
@keyframes system-update-dots{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}
.system-update-progress progress{display:block;width:100%;height:16px;accent-color:#1677a8}.system-update-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0 0;padding:0;list-style-position:inside;color:#6a7f8d;font-size:11px;font-weight:700}
.system-update-download-progress{border-left:4px solid #1677a8}.system-update-download-progress .form-hint{margin:8px 0 0!important}.system-update-install-progress{border-left:4px solid #c78621}.system-update-install-progress progress{accent-color:#c78621}
.system-update-progress li.completed{color:#176b45}
.system-update-preview{margin-top:20px;padding:18px;border:1px solid #d5e2e8;border-radius:10px;background:#fbfcfd}
.system-update-preview h3{margin:0}.system-update-preview h4{margin:17px 0 7px}.system-update-preview p{line-height:1.5}
.system-update-compatible,.system-update-approved{padding:11px 13px;border-radius:6px;background:#e8f6ed;color:#17613d;font-weight:800}
.system-update-incompatible{padding:11px 13px;border-radius:6px;background:#fff0ed;color:#9c3028;font-weight:800}
.system-update-approval{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #dce5e9}
.system-update-command{display:block;padding:12px;border:1px solid #d9e3e8;border-radius:6px;background:#f1f6f8;color:#20394a;overflow-wrap:anywhere;user-select:all}
@media(max-width:760px){.system-update-current,.system-update-details,#systemUpdateAppVersions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.system-update-current,.system-update-details,#systemUpdateAppVersions{grid-template-columns:minmax(0,1fr)}.system-update-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.system-update-source-actions button{width:100%}}
@media(max-width:520px){.system-update-progress>div{align-items:flex-start}.system-update-progress-meta{align-items:flex-end;flex-direction:column;gap:3px}.system-update-processing{font-size:11px}}
@media(prefers-reduced-motion:reduce){.system-update-hourglass,.system-update-processing-dots::after{animation:none}.system-update-processing-dots::after{transform:none}}
@media(max-width:760px){.administrative-email-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.administrative-email-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:500px){.administrative-email-summary{grid-template-columns:minmax(0,1fr)}}
.director-portal .controller-header { background: linear-gradient(110deg, #101a36, #1c2c56 68%, #32446d); }
.director-portal .controller-brand small { color: #b8d5f8; }
.director-portal .controller-avatar { border-color: #b8d5f8; background: #556d9b; }
.director-portal .controller-sidebar { background: #14203d; color: #e2eafb; }
.director-portal .controller-sidebar p { border-color: #4c5f83; color: #bac8e3; }
.director-portal .controller-nav-link { margin-bottom: 6px; box-shadow: none; background: transparent; color: #d8e4fa; cursor: pointer; }
.director-portal .controller-nav-link:hover, .director-portal .controller-nav-link:focus-visible { background: #344b78; }
.director-portal .controller-nav-link.active { background: #35558e; box-shadow: inset 3px 0 #b8d5f8; }
.director-portal .director-sector-heading { margin: 16px 12px 4px; color: #9fb5dd; font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.director-portal .director-sector-link { padding: 10px 13px 10px 20px; font-size: 12px; font-weight: 700; }
.director-portal #directorOverview .controller-next { margin-top: 22px; }
.director-sector-metrics { margin-top: 22px; }
.director-portal .controller-welcome { background: linear-gradient(115deg, #213867, #49679c); box-shadow: 0 17px 36px #17295230; }
.director-portal .controller-welcome p { color: #d2e6ff; }
.director-portal .dashboard-kpi { border-color: #cbd8ed; background: #fff; }
.director-portal .dashboard-kpi strong { color: #264b85; }
.director-portal .director-dashboard { margin-top: 24px; }
.director-portal .director-dashboard > .card-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.director-portal .director-dashboard h2 { margin: 0 0 5px; color: #1b2f56; }
.director-portal .director-sector { margin: 0 0 22px; }
.director-portal .director-sector h3, .director-procurement-title { margin: 0 0 13px; color: #1b2f56; font-size: 20px; }
.director-procurement-title { margin: 29px 0 16px; }
.director-order-search { display: grid; gap: 6px; width: min(100%, 430px); margin: 0 0 19px; font-weight: 700; }
.director-portal #view-approvalDirector { display: block; padding: 0; }
.director-portal #view-approvalDirector .content-card { border-color: #cbd8ed; }
.director-portal .primary-action { background: #315d9d; border-color: #315d9d; }
.director-portal .primary-action:hover, .director-portal .primary-action:focus-visible { background: #24487d; border-color: #24487d; }
.contracts-portal { background: #fff3f1; color: #462835; }
.contracts-portal .controller-header { background: linear-gradient(110deg, #4d263d, #713850 68%, #a05a63); }
.contracts-portal .controller-brand small { color: #ffd2c9; }
.contracts-portal .controller-avatar { border-color: #ffc0b7; background: #a45970; }
.contracts-portal .controller-sidebar { background: #592e45; color: #fff1ee; }
.contracts-portal .controller-sidebar p { border-color: #a0667c; color: #f0cacf; }
.contracts-portal .controller-nav-link { background: #874960; box-shadow: inset 3px 0 #ffa79b; }
.contracts-portal .controller-welcome { background: linear-gradient(115deg, #8e405d, #d27073); box-shadow: 0 17px 36px #71385030; }
.contracts-portal .controller-welcome p { color: #ffe0d5; }
.contracts-portal .controller-info-card { border-color: #e9c5c5; background: #fffdfc; }
.contracts-portal .controller-info-card h2 { color: #5b2e49; }
.contracts-portal .controller-info-card small { color: #a95162; }
.generic-portal { background: hsl(var(--module-hue) 44% 96%); color: hsl(var(--module-hue) 35% 22%); }
.generic-portal .controller-header { background: linear-gradient(112deg, hsl(var(--module-hue) 53% 16%), hsl(var(--module-hue) 55% 27%) 68%, hsl(var(--module-hue) 58% 37%)); }
.generic-portal .controller-brand small { color: hsl(var(--module-hue) 80% 80%); }
.generic-portal .controller-avatar { border-color: hsl(var(--module-hue) 70% 76%); background: hsl(var(--module-hue) 56% 39%); }
.generic-portal .controller-sidebar { background: hsl(var(--module-hue) 52% 19%); color: #fff; }
.generic-portal .controller-sidebar p { border-color: hsl(var(--module-hue) 40% 40%); color: hsl(var(--module-hue) 52% 81%); }
.generic-portal .controller-nav-link { box-shadow: none; background: transparent; color: hsl(var(--module-hue) 60% 85%); }
.generic-portal .controller-nav-link:hover, .generic-portal .controller-nav-link:focus-visible { background: hsl(var(--module-hue) 52% 34%); color: #fff; }
.generic-portal .controller-nav-link.active { background: hsl(var(--module-hue) 58% 39%); color: #fff; box-shadow: inset 3px 0 hsl(var(--module-hue) 88% 75%); }
.generic-portal .controller-welcome { background: linear-gradient(118deg, hsl(var(--module-hue) 56% 30%), hsl(var(--module-hue) 59% 47%)); box-shadow: 0 17px 36px hsl(var(--module-hue) 40% 25% / .2); }
.generic-portal .controller-welcome p { color: hsl(var(--module-hue) 92% 83%); }
.generic-portal .controller-info-card, .generic-portal .controller-next { border-color: hsl(var(--module-hue) 40% 82%); background: #fff; }
.generic-portal .controller-info-card small, .generic-portal .controller-info-card h2, .generic-portal .controller-next h2 { color: hsl(var(--module-hue) 50% 32%); }
.generic-portal .controller-info-card p, .generic-portal .controller-next p { color: hsl(var(--module-hue) 22% 35%); }
.generic-portal .controller-version { background: #ffffff2b; }
.generic-portal .primary-action { background: hsl(var(--module-hue) 62% 36%); border-color: hsl(var(--module-hue) 62% 36%); }
.generic-portal .primary-action:hover, .generic-portal .primary-action:focus-visible { background: hsl(var(--module-hue) 62% 29%); border-color: hsl(var(--module-hue) 62% 29%); }
.generic-portal .secondary-action { color: hsl(var(--module-hue) 50% 31%); border-color: hsl(var(--module-hue) 42% 72%); }
.generic-it { --module-hue: 46; }
.generic-logistics { --module-hue: 112; }
.generic-monitoring { --module-hue: 205; }
.generic-facility { --module-hue: 22; }
.generic-sms { --module-hue: 165; }
.generic-hr { --module-hue: 326; }
.generic-personnel { --module-hue: 195; }
.generic-sgi { --module-hue: 72; }
.generic-compliance { --module-hue: 271; }
.generic-quality { --module-hue: 189; }
.generic-legal { --module-hue: 13; }
.generic-marketing { --module-hue: 303; }
.generic-access { --module-hue: 230; }
.generic-training { --module-hue: 85; }
.generic-accounting { --module-hue: 248; }
.generic-budgets { --module-hue: 355; }
.generic-commercial { --module-hue: 140; }
.generic-medicampo { --module-hue: 207; }
.shared-work-mount > .view.active { display: block; }
.shared-work-mount .page-heading { margin-bottom: 20px; }
@media (max-width: 980px) { .controller-header { flex-wrap: wrap; } .controller-actions { flex-wrap: wrap; } }
@media (max-width: 700px) { .controller-portal { display: block; height: auto; min-height: 100svh; overflow: visible; } .controller-layout { display: block; } .controller-sidebar { padding: 11px 16px; } .controller-sidebar p { display: none; } .controller-main { overflow: visible; } .controller-overview-grid { grid-template-columns: 1fr; } .controller-fullscreen { display: none; } }
@media (max-width: 700px) { .director-portal .controller-sidebar { max-height: min(48svh, 420px); overflow-y: auto; } }
@media (max-width: 740px) { .supplier-portal-nav { overflow-x: auto; } .supplier-portal-nav .supplier-nav-link { flex: 0 0 auto; white-space: nowrap; } }
.fullscreen-button { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 8px 10px; border: 1px solid #c8dce8; border-radius: 7px; background: #f7fbfe; color: #28536e; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.fullscreen-button:hover, .fullscreen-button:focus-visible { border-color: #75acd0; background: #edf7fc; }
.fullscreen-button[aria-pressed="true"] { background: #e4f3fb; color: #125d89; }
.topbar-person { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.topbar-avatar { position: relative; display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 56px; overflow: hidden; border-radius: 6px; background: #dcecf5; color: #23658b; font-size: 13px; font-weight: 800; }
.topbar-avatar img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.topbar-identity { display: grid; gap: 2px; min-width: 0; max-width: 250px; }
.topbar-identity strong, .topbar-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topbar-identity small { color: #667d8c; font-size: 11px; }
.topbar-profile-link { width: fit-content; color: #166fa9; font-size: 11px; font-weight: 800; }
.topbar-person:hover .topbar-profile-link, .topbar-person:focus-visible .topbar-profile-link { text-decoration: underline; }
.topbar-person:focus-visible { outline: 2px solid #166fa9; outline-offset: 4px; border-radius: 4px; }
.demo-pill, .status-tag { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 999px; background: #e8f4fa; color: #226e99; font-size: 12px; font-weight: 800; }
.text-button { padding: 8px 0; border: 0; background: none; color: #496275; font-size: 13px; font-weight: 700; cursor: pointer; }
.portal-content { max-width: 1500px; padding: 42px clamp(24px, 3.2vw, 52px) 70px; }
.view { display: none; }
.view.active { display: block; }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
.page-heading h2 { font-size: clamp(29px, 3vw, 43px); }
.page-heading p:last-child { max-width: 680px; margin: 12px 0 0; color: #607382; font-size: 15px; line-height: 1.6; }
.section-kicker { margin: 0 0 11px; color: #d94d46; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.primary-action { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 45px; padding: 10px 18px; border: 0; border-radius: 7px; background: #126eaa; color: white; cursor: pointer; font-size: 14px; font-weight: 800; white-space: nowrap; }
.primary-action:hover { background: #0d5688; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.dashboard { margin-bottom: 25px; }
.dashboard > .card-heading { align-items: center; margin-bottom: 14px; }
.dashboard > .card-heading h3 { margin: 0; color: var(--navy); }
.dashboard > .card-heading p { margin: 4px 0 0; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.finance-sla-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.finance-sla-values > div { display: grid; gap: 5px; padding: 14px; border: 1px solid #dce8ef; border-radius: 8px; background: #f8fcfe; }
.finance-sla-values small { color: #698092; }
.finance-sla-values strong { color: #146da8; font-size: 19px; }
.dashboard-kpi { display: grid; gap: 4px; padding: 17px; border: 1px solid #dce8ef; border-radius: 9px; background: white; }
.dashboard-kpi strong { color: #146da8; font-size: 28px; line-height: 1.1; }
.dashboard-kpi span { color: #21445c; font-size: 12px; font-weight: 800; }
.dashboard-kpi-month { margin-top: 7px; padding-top: 8px; border-top: 1px solid #e2edf3; color: #146da8; font-size: 13px; font-weight: 700; }
.dashboard-kpi small { color: #698092; font-size: 11px; }
.dashboard-card { margin-top: 14px; }
.dashboard-card h4 { margin: 0 0 12px; color: var(--navy); font-size: 16px; }
.dashboard-report-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.dashboard-report-filters label { display: grid; gap: 6px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.dashboard-report-filters input, .dashboard-report-filters select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #c9dce6; border-radius: 6px; background: white; color: #17354b; font: inherit; }
.dashboard-card ol { margin: 0; padding-left: 22px; line-height: 2; color: #405e72; font-size: 13px; }
.dashboard-rankings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dashboard-table-wrap { overflow-x: auto; }
.finance-settings-tabs { display: flex; align-items: center; gap: 14px; padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid #cde7da; color: #245746; font-weight: 700; }
.finance-settings-tabs .secondary-action { border-color: #99cbb2; background: #e8f6ee; color: #14563d; }
.finance-centers-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.finance-centers-heading h2 { margin: 0 0 5px; }
.finance-centers-heading p { max-width: 720px; }
.finance-centers-total { flex: none; padding: 8px 12px; border-radius: 999px; background: #e8f6ee; color: #14563d; font-size: 12px; font-weight: 800; }
.finance-center-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 22px 0; padding: 18px; border: 1px solid #cde7da; border-radius: 10px; background: #f6fbf8; }
.finance-center-form label, .finance-center-filters label { display: grid; gap: 6px; min-width: min(100%, 290px); color: #245746; font-size: 12px; font-weight: 700; }
.finance-center-form label { flex: 1; }
.finance-center-form input, .finance-center-filters input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #a6cbb7; border-radius: 7px; background: #fff; color: #173b2d; font: inherit; }
.finance-center-form-actions, .finance-center-filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.finance-center-filters { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 14px; margin: 0 0 13px; }
.finance-center-filter-buttons .active { border-color: #196847; background: #196847; color: #fff; }
.finance-centers-table { width: 100%; border-collapse: collapse; color: #27493b; font-size: 12px; }
.finance-centers-table th, .finance-centers-table td { padding: 11px 10px; border-bottom: 1px solid #dcece2; text-align: left; vertical-align: middle; }
.finance-centers-table th { background: #eaf6ef; color: #14563d; white-space: nowrap; }
.finance-center-name { min-width: 175px; font-weight: 700; }
.finance-center-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-weight: 800; }
.finance-center-status.is-active { background: #e1f4e7; color: #17623d; }
.finance-center-status.is-inactive { background: #f6e7e6; color: #a13e38; }
.finance-center-actions { display: flex; gap: 6px; white-space: nowrap; }
.finance-center-actions button { padding: 7px 9px; font-size: 11px; }
.finance-center-dialog { width: min(92vw, 460px); border: 1px solid #9dcbb0; border-radius: 12px; padding: 24px; color: #173b2d; box-shadow: 0 18px 60px #0b362d44; }
.finance-center-dialog::backdrop { background: #08291fb3; }
.finance-center-dialog h3 { margin: 0 0 10px; }
.finance-center-dialog p { margin: 0 0 18px; line-height: 1.5; }
.finance-center-dialog > div { display: flex; justify-content: flex-end; gap: 8px; }
.finance-center-form select { width: 100%; min-height: 42px; padding: 9px 36px 9px 11px; border: 1px solid #a6cbb7; border-radius: 7px; background: #fff; color: #173b2d; font: inherit; }
.finance-center-form small { color: inherit; font-weight: 500; opacity: .78; }
.finance-center-tree-label { display: grid; grid-template-columns: 24px minmax(150px,1fr) auto; align-items: center; gap: 7px; }
.finance-center-tree-label.depth-1 { padding-left: 25px; font-weight: 600; }
.finance-center-tree-label small { padding: 3px 7px; border: 1px solid currentColor; border-radius: 999px; opacity: .65; font-size: 9px; white-space: nowrap; }
.finance-center-expand { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 1px solid #8ebba5; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; font-weight: 900; }
.finance-center-tree-spacer { display: grid; place-items: center; width: 24px; opacity: .7; }
.finance-center-child-row .finance-center-name { border-left: 3px solid #f2a51a; }
.finance-center-usage { padding: 4px 8px; border: 1px solid #9bc4af; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }
.finance-center-usage:hover, .finance-center-usage:focus-visible { border-color: #f2a51a; color: #f2a51a; }
.finance-center-dialog #financeCenterDialogDetails { display: block; max-height: 40vh; overflow: auto; margin: 0 0 18px; }
.finance-center-dialog footer { display: flex; justify-content: flex-end; gap: 8px; }
.finance-center-usage-list, .finance-center-history-list { margin: 8px 0 16px; padding-left: 20px; line-height: 1.75; }

/* Configuração financeira: superfície azul e destaques dourados do padrão aprovado. */
#finance-administration .controller-next { border: 1px solid #2b6794; background: linear-gradient(145deg,#082846 0%,#031d35 100%); color: #f6fbff; box-shadow: inset 0 1px 0 #ffffff12,0 18px 45px #00122635; }
#finance-administration .finance-settings-tabs { border-color: #285575; color: #dceeff; }
#finance-administration .finance-settings-tabs .secondary-action,
#finance-administration .finance-center-filter-buttons .active { border-color: #f0a51a; background: linear-gradient(180deg,#ffc148,#ee9f0c); color: #08233d; box-shadow: 0 0 14px #f0a51a55; }
#finance-administration .finance-centers-heading p,
#finance-administration .form-hint { color: #bdd2e5; }
#finance-administration .finance-centers-total { border: 1px solid #477ca5; background: #0a2c4d; color: #eaf6ff; }
#finance-administration .finance-center-form { border-color: #2d668e; background: linear-gradient(145deg,#0c3356cc,#062744cc); }
#finance-administration .finance-center-form label,
#finance-administration .finance-center-filters label { color: #e9f4ff; }
#finance-administration .finance-center-form input,
#finance-administration .finance-center-form select,
#finance-administration .finance-center-filters input { border-color: #3d739d; background: #0a2b4a; color: #f7fbff; }
#finance-administration .finance-center-form input::placeholder,
#finance-administration .finance-center-filters input::placeholder { color: #91acc3; }
#finance-administration .finance-centers-table { color: #dceafa; }
#finance-administration .finance-centers-table th { border-color: #285678; background: #103655; color: #d9ebfb; }
#finance-administration .finance-centers-table td { border-color: #184462; }
#finance-administration .finance-center-root-row { background: #08274488; }
#finance-administration .finance-center-child-row { background: #0b315133; }
#finance-administration .finance-center-status.is-active { border: 1px solid #00b779; background: #004f3c80; color: #52e1ad; }
#finance-administration .finance-center-status.is-inactive { border: 1px solid #b24a54; background: #5d202c70; color: #ff9da4; }
#finance-administration .finance-center-expand,
#finance-administration .finance-center-usage { border-color: #477ca5; color: #cfe6f9; }
#finance-administration .secondary-action { border-color: #4281ae; background: #0b3152; color: #dcefff; }
#finance-administration .danger-action { border-color: #d8515c; background: #351e2b; color: #ff9ba3; }
.finance-center-dialog { border-color: #3f80ad; background: linear-gradient(145deg,#0b2c4a,#061d35); color: #f4f9ff; box-shadow: 0 18px 60px #00101dcc; }
.finance-center-dialog::backdrop { background: #001425cc; }

@media (max-width: 900px) {
  .finance-center-form { display: grid; grid-template-columns: 1fr; }
  .finance-center-form-actions { width: 100%; }
  .finance-center-actions { flex-wrap: wrap; white-space: normal; min-width: 190px; }
}
@media (max-width: 620px) {
  .finance-centers-heading { display: grid; }
  .finance-center-filters { align-items: stretch; }
  .finance-center-filter-buttons { display: grid; grid-template-columns: repeat(3,1fr); width: 100%; }
  .finance-center-tree-label { grid-template-columns: 24px minmax(120px,1fr); }
  .finance-center-tree-label small { grid-column: 2; width: fit-content; }
}
.dashboard-table { width: 100%; border-collapse: collapse; font-size: 12px; color: #365569; }
.dashboard-table th, .dashboard-table td { padding: 10px 11px; border-bottom: 1px solid #e2edf3; text-align: left; white-space: nowrap; }
.dashboard-table th { background: #f0f7fb; font-weight: 800; }
.dashboard-daily-table th:not(:first-child), .dashboard-daily-table td:not(:first-child) { text-align: center; }
.criticality-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 14px 0; }
.criticality-legend-item { display: inline-flex; align-items: center; gap: 6px; color: #365569; font-size: 12px; font-weight: 700; }
.criticality-legend-item::before { content: ''; width: 11px; height: 11px; border-radius: 3px; background: var(--criticality-color); }
.criticality-legend-item[data-level="Crítico"], .criticality-chart-segment[data-level="Crítico"], .criticality-requester-group[data-level="Crítico"] { --criticality-color: #b52f52; }
.criticality-legend-item[data-level="Urgente"], .criticality-chart-segment[data-level="Urgente"], .criticality-requester-group[data-level="Urgente"] { --criticality-color: #d66c27; }
.criticality-legend-item[data-level="Importante"], .criticality-chart-segment[data-level="Importante"], .criticality-requester-group[data-level="Importante"] { --criticality-color: #d9aa20; }
.criticality-legend-item[data-level="Planejado"], .criticality-chart-segment[data-level="Planejado"], .criticality-requester-group[data-level="Planejado"] { --criticality-color: #3c9a62; }
.criticality-chart { display: grid; gap: 8px; margin: 0 0 18px; }
.criticality-chart-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) 30px; align-items: center; gap: 10px; color: #365569; font-size: 12px; }
.criticality-chart-row > strong { text-align: right; }
.criticality-chart-track { display: flex; min-height: 20px; overflow: hidden; border-radius: 4px; background: #edf4f8; }
.criticality-chart-segment { flex: 0 0 auto; background: var(--criticality-color); min-height: 20px; }
.criticality-ranking-period { display: grid; gap: 5px; flex: 0 0 180px; color: #344d60; font-size: 12px; font-weight: 700; }
.criticality-ranking-period select { min-height: 40px; padding: 7px 10px; border: 1px solid #c9dce6; border-radius: 6px; background: white; color: #17354b; font: inherit; }
.criticality-requester-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.criticality-requester-group { min-width: 0; padding: 13px 14px; border: 1px solid #dce8ef; border-top: 4px solid var(--criticality-color); border-radius: 8px; background: #f8fcfe; }
.criticality-requester-group h5 { margin: 0 0 10px; color: #17354b; font-size: 14px; }
.criticality-requester-group ol { padding-left: 19px; line-height: 1.5; }
.criticality-requester-group li { margin: 0 0 10px; padding-left: 2px; overflow-wrap: anywhere; }
.criticality-requester-group li strong, .criticality-requester-group li span { display: block; }
.criticality-requester-group li span, .criticality-requester-group p { color: #607b8c; font-size: 12px; }
.dashboard-metric-link { color: #146da8; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.dashboard-metric-link:hover, .dashboard-metric-link:focus-visible { color: #0b4c78; }
.dashboard-lifecycle-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0 20px; }
.dashboard-lifecycle-stat { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 13px 14px; border: 1px solid #dce8ef; border-radius: 8px; background: #f8fcfe; }
.dashboard-lifecycle-stat span { color: #547083; font-size: 12px; }
.dashboard-lifecycle-stat strong { color: #146da8; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.dashboard-lifecycle-stat strong .dashboard-metric-link { color: inherit; }
.dashboard-lifecycle-stat small { color: #607b8c; font-size: 11px; }
.dashboard-lifecycle-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dashboard-lifecycle-lists > section { min-width: 0; }
.dashboard-lifecycle-lists h5 { margin: 0 0 9px; color: var(--navy); font-size: 14px; }
.admin-identity { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-identity label { display: grid; gap: 4px; font-size: 12px; }
.admin-identity input, .admin-identity select { width: 100%; min-width: 0; min-height: 38px; padding: 8px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; }
.admin-identity button { justify-self: start; }
.summary-card, .content-card { border: 1px solid #e2e9ee; border-radius: 11px; background: white; box-shadow: 0 4px 18px rgba(18,48,70,.035); }
.summary-card { min-height: 218px; padding: 22px; }
.summary-card > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 8px; background: #e9f3f9; color: #0c679e; font-size: 12px; font-weight: 800; }
.summary-card h3 { margin: 24px 0 9px; color: var(--navy); font-size: 18px; }
.summary-card p { margin: 0; color: #657788; font-size: 13px; line-height: 1.55; }
.two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.content-card { padding: 26px; }
.content-card h3 { margin: 0 0 16px; color: var(--navy); font-size: 18px; }
.help-search-card { display: grid; gap: 9px; }
.help-search-card label { color: var(--navy); font-size: 14px; font-weight: 800; }
.help-search-card input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #bfd4e1; border-radius: 7px; background: #fff; color: var(--ink); font: inherit; }
.help-search-card .form-hint { margin: 0; }
.help-shortcuts-jump { justify-self: start; margin-top: 2px; }
.help-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 8px; }
.help-tab { min-height: 37px; padding: 7px 13px; border: 1px solid #bfd4e1; border-radius: 999px; background: #fff; color: #28536e; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.help-tab.is-active { border-color: #126eaa; background: #126eaa; color: #fff; }
.help-result-count { margin: 10px 0 14px; }
.help-topics { display: grid; gap: 9px; }
.help-topic { overflow: hidden; border: 1px solid #d9e7ef; border-radius: 9px; background: #fff; }
.help-topic#helpKeyboardShortcuts { border-color: #a9cce1; }
.help-topic > summary { padding: 15px 18px; color: var(--navy); cursor: pointer; font-size: 14px; font-weight: 800; }
.help-topic > summary:hover, .help-topic > summary:focus-visible { background: #f0f7fb; }
.help-topic[open] > summary { border-bottom: 1px solid #e0ebf1; background: #f3f9fc; }
.help-topic > div { padding: 5px 18px 15px; color: #425e71; font-size: 13px; line-height: 1.7; }
.help-topic > div p { margin: 10px 0 0; }
.shortcut-list { display: grid; gap: 7px; padding-left: 20px; }
.help-topic kbd { display: inline-block; min-width: 1.5em; padding: 1px 5px; border: 1px solid #cadbe5; border-radius: 4px; background: #f5f9fb; color: #244d67; font: inherit; font-size: 11px; font-weight: 800; text-align: center; white-space: nowrap; }
.help-empty { margin: 0; }
.help-video-section { margin-top: 22px; }
.help-video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 11px; margin-top: 16px; }
.help-video-placeholder { display: grid; align-content: center; gap: 5px; min-height: 98px; padding: 15px; border: 1px dashed #b7cbd8; border-radius: 8px; background: #f7fbfd; color: #31566d; font-size: 13px; }
.help-video-placeholder span { color: #698094; font-size: 12px; }
.help-video-link { display: grid; align-content: start; gap: 7px; min-height: 115px; padding: 15px; border: 1px solid #bdd8e8; border-radius: 8px; background: #f4faff; color: #24536f; text-decoration: none; }
.help-video-link:hover, .help-video-link:focus-visible { border-color: #247eb4; background: #ebf6fd; }
.help-video-link small { color: #668398; font-size: 11px; font-weight: 700; }
.help-video-link strong { font-size: 14px; }
.help-video-link span { font-size: 12px; line-height: 1.5; }
.help-video-link .help-video-open { align-self: end; color: #126ba5; font-weight: 800; }
.training-admin-card { margin-top: 16px; }
.training-admin-card #trainingVideoForm { max-width: 740px; margin: 20px 0; }
.training-admin-card textarea { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; font: inherit; }
.training-form-actions, .training-video-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.training-admin-card h4 { margin: 24px 0 8px; color: var(--navy); }
.training-video-list { display: grid; gap: 10px; }
.training-video-item { display: grid; gap: 5px; padding: 14px; border: 1px solid #d8e7ef; border-radius: 8px; background: #f9fcfe; overflow-wrap: anywhere; }
.training-video-item small { color: #698294; }
.training-video-item strong { color: #254861; }
.training-video-item a { color: #166fa9; font-size: 12px; }
.training-video-item span { color: #61798b; font-size: 12px; }
.training-video-actions { margin-top: 7px; }
.content-card p { color: #627688; font-size: 14px; line-height: 1.7; }
.card-heading { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.card-heading span { color: #7790a2; font-size: 12px; white-space: nowrap; }
.check-list { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 24px; color: #4a6172; font-size: 14px; line-height: 1.5; }
.check-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: #1781b1; font-weight: 800; }
.accent-card { background: #edf6fa; border-color: #d8eaf3; }
.accent-card > p { margin: 0; }
.mini-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 30px; color: #416e8a; font-size: 12px; font-weight: 800; }
.mini-flow i { color: #d8564d; font-style: normal; }
.form-card { max-width: 1050px; }
.form-section-title { display: flex; align-items: center; gap: 13px; margin: 5px 0 20px; padding-top: 12px; }
.form-section-title:not(:first-child) { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 28px; }
.form-section-title > span { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%; background: #e6f3f9; color: #096f9e; font-size: 12px; font-weight: 800; }
.form-section-title h3 { margin: 0; font-size: 17px; }
.form-section-title p { margin: 3px 0 0; font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px 17px; }
.request-kind-row { width: calc(50% - 8.5px); margin-bottom: 18px; }
.request-kind-row label { display: grid; gap: 7px; color: #344d60; font-size: 13px; font-weight: 700; }
.request-content-types { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 26px; margin: 0 0 18px; padding: 12px 15px; border: 1px solid #d6e2e9; border-radius: 7px; }
.request-content-types legend { padding: 0 5px; color: #344d60; font-size: 13px; font-weight: 700; }
.form-card .request-content-types label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.form-grid > .request-content-types { grid-column: 1 / -1; margin: 0; }
.request-content-types input[type="checkbox"] { width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: #0d71b5; }
.form-grid > label, .form-grid > .requester-contact { min-width: 0; align-self: start; align-content: start; }
.form-card > .full-field + .form-grid { margin-top: 20px; }
.recurrence-duration { min-width: 0; }
.form-card .recurrence-duration .recurrence-indefinite { display: inline-flex; width: fit-content; align-items: center; gap: 8px; margin-top: 9px; color: #344d60; font-size: 13px; font-weight: 600; cursor: pointer; }
.form-card .recurrence-duration .recurrence-indefinite input[type="checkbox"] { display: inline-block; width: 16px; min-width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: 0; padding: 0; border-radius: 3px; accent-color: #0d71b5; }
.requester-contact { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; align-items: start; align-content: start; }
.requester-contact > label { min-width: 0; white-space: nowrap; }
.requester-contact .field-help { grid-column: 1 / -1; }
.department-field { grid-column: 1 / -1; }
.field-help { color: #657e8e; font-size: 11px; font-weight: 500; }
.field-guidance { display: block; max-width: 65ch; margin: 2px 0 6px; color: #617689; font-size: 11px; font-weight: 400; line-height: 1.4; letter-spacing: normal; }
.supplier-quotation-card .field-guidance, .supplier-portal .field-guidance { color: #736381; }
label:has(> .field-guidance) { min-width: 0; }
.fieldset-guidance { grid-column: 1 / -1; margin: 2px 0 7px; }
.criticality-field { position: relative; display: grid; align-content: start; gap: 7px; min-width: 0; }
.criticality-field::before { content: ''; position: absolute; z-index: 0; inset: -9px; border: 1px solid transparent; border-radius: 8px; pointer-events: none; }
.criticality-field > * { position: relative; z-index: 1; }
.criticality-field > label { display: block; }
.criticality-indicator { display: inline-flex; width: fit-content; padding: 5px 9px; border-radius: 999px; background: #edf3f6; color: #577083; font-size: 11px; font-weight: 800; }
.criticality-field .criticality-native { position: absolute; width: 1px; min-width: 1px; height: 1px; min-height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.criticality-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.form-card .criticality-choice { --criticality-color: #66879b; display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 58px; padding: 8px 10px; border: 1px solid #d5e0e8; border-left: 5px solid var(--criticality-color); border-radius: 8px; background: #fff; color: #244257; cursor: pointer; transition: border-color .16s, box-shadow .16s, background .16s; }
.form-card .criticality-choice[data-level="Planejado"] { --criticality-color: #3c9a62; --criticality-tint: #eefaf1; }
.form-card .criticality-choice[data-level="Importante"] { --criticality-color: #d9aa20; --criticality-tint: #fffbeb; }
.form-card .criticality-choice[data-level="Urgente"] { --criticality-color: #d66c27; --criticality-tint: #fff4ea; }
.form-card .criticality-choice[data-level="Crítico"] { --criticality-color: #b52f52; --criticality-tint: #fff0f3; }
.form-card .criticality-choice:hover, .form-card .criticality-choice:has(input:checked) { border-color: var(--criticality-color); background: var(--criticality-tint); }
.form-card .criticality-choice:has(input:checked) { box-shadow: 0 0 0 2px color-mix(in srgb, var(--criticality-color) 24%, transparent); }
.form-card .criticality-choice:focus-within { outline: 2px solid var(--criticality-color); outline-offset: 2px; }
.form-card .criticality-choice input { flex: none; width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: var(--criticality-color); }
.criticality-choice-swatch { flex: none; width: 11px; height: 11px; border-radius: 50%; background: var(--criticality-color); }
.criticality-choice-text { display: grid; gap: 2px; min-width: 0; }
.criticality-choice-text strong { font-size: 12px; line-height: 1.2; }
.criticality-choice-text small { color: #516a7b; font-size: 10px; font-weight: 600; white-space: nowrap; }
.criticality-field.field-invalid .criticality-indicator { color: #a62435; }
@media(max-width:600px) { .criticality-choices { grid-template-columns: 1fr; } }
.criticality-field[data-priority="Crítico"]::before { border-color: #efb3c0; background: #fff0f3; }
.criticality-field[data-priority="Crítico"] .criticality-indicator { background: #fbd4dd; color: #9d2545; }
.criticality-field[data-priority="Urgente"]::before { border-color: #f2c39d; background: #fff4ea; }
.criticality-field[data-priority="Urgente"] .criticality-indicator { background: #ffdfc2; color: #a45117; }
.criticality-field[data-priority="Importante"]::before { border-color: #ecd989; background: #fffbeb; }
.criticality-field[data-priority="Importante"] .criticality-indicator { background: #fff0b9; color: #816100; }
.criticality-field[data-priority="Planejado"]::before { border-color: #a7d8b7; background: #eefaf1; }
.criticality-field[data-priority="Planejado"] .criticality-indicator { background: #d4f0dc; color: #236b38; }
.form-card label, .search-row label { display: grid; align-content: start; gap: 7px; color: #344d60; font-size: 13px; font-weight: 700; }
.form-card input, .form-card select, .form-card textarea, .search-row input, .search-row > select { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; outline: none; background: white; color: #17354b; font-size: 14px; }
.form-card :is(input,select,textarea):focus, .search-row input:focus, .search-row > select:focus { border-color: #1385bd; box-shadow: 0 0 0 3px #d7effa; }
.item-rows { display: grid; gap: 12px; }
.item-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px minmax(175px, 210px) 42px; align-items: end; gap: 12px; }
.item-lookup, .service-lookup { position: relative; min-width: 0; }
.unit-field { display: flex; align-items: end; gap: 6px; min-width: 0; }
.unit-field label { flex: 1; min-width: 0; }
#materialSection[hidden], #serviceSection[hidden], #revisionMaterialSection[hidden], #revisionServiceSection[hidden] { display: none; }
.request-registry-dialog { width: min(460px, calc(100vw - 30px)); padding: 22px; border: 1px solid #b9d1df; border-radius: 12px; color: #17354b; box-shadow: 0 25px 65px #102e4266; }
.request-registry-dialog::backdrop { background: #102e4288; }
.catalog-field-with-action { display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: end; gap: 8px; }
.catalog-field-with-action > label { min-width: 0; }
.catalog-inline-add { width: 42px; height: 43px; padding: 0; border: 1px solid #0d78ad; border-radius: 7px; background: #eaf6fc; color: #075d89; font-size: 25px; font-weight: 800; line-height: 1; cursor: pointer; }
.catalog-inline-add:hover, .catalog-inline-add:focus-visible { background: #0d78ad; color: #fff; box-shadow: 0 0 0 3px #cdeafb; outline: none; }
.catalog-quick-create { padding: 12px; border: 1px solid #b9d6e7; border-radius: 8px; background: #f3f9fc; }
.catalog-quick-create[hidden] { display: none; }
.catalog-quick-create > div { display: flex; justify-content: flex-end; gap: 8px; }
.catalog-quick-create .compact-action { margin-top: 8px; }
.request-registry-actions { display: flex; justify-content: flex-end; gap: 10px; }
.request-registry-actions button { margin: 0; }
.item-suggestions { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; max-height: 290px; overflow-y: auto; border: 1px solid #bfd4e0; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px #17354b24; }
.item-suggestions[hidden] { display: none; }
.catalog-option { display: grid; width: 100%; gap: 3px; padding: 10px 12px; border: 0; border-bottom: 1px solid #edf2f5; background: #fff; color: #17354b; text-align: left; cursor: pointer; }
.catalog-option:last-child { border-bottom: 0; }
.catalog-option:hover, .catalog-option.is-active { background: #eaf5fb; }
.catalog-option strong { font-size: 13px; line-height: 1.35; }
.catalog-option small { color: #61798a; font-size: 11px; }
.catalog-empty { padding: 12px; color: #61798a; font-size: 12px; line-height: 1.45; }
.remove-item { height: 43px; border: 1px solid #e4d4d2; border-radius: 6px; background: #fff7f6; color: #b44b45; font-size: 21px; cursor: pointer; }
.secondary-action { margin-top: 15px; padding: 10px 13px; border: 1px solid #afcbdc; border-radius: 6px; background: #f6fbfe; color: #0d6e9d; cursor: pointer; font-size: 13px; font-weight: 800; }
.request-report-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0 18px; }
.request-report-actions a { margin: 0; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.full-field { margin-top: 4px; }
.form-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 26px; }
.form-footer span { color: #8494a0; font-size: 12px; }
.search-row { display: grid; gap: 10px; }
.archive-search-form { display: grid; gap: 8px; margin: 16px 0 4px; }
.archive-search-form > label { color: #17354b; font-size: 13px; font-weight: 700; }
.archive-search-controls { display: flex; align-items: stretch; gap: 12px; }
.archive-search-controls .request-number-lookup { flex: 1 1 auto; min-width: 0; }
.archive-search-controls input { width: 100%; min-width: 0; min-height: 43px; padding: 9px 12px; border: 1px solid #c9dbe7; border-radius: 7px; }
.archive-search-controls button { flex: 0 0 auto; margin: 0; }
#archiveMore { margin-top: 16px; }
.search-row > div:not(.search-result) { display: flex; gap: 10px; }
.request-number-lookup { position: relative; flex: 1 1 auto; min-width: 0; }
.request-number-lookup .item-suggestions { max-height: 280px; }
.queue-filter-area { margin-bottom: 18px; }
.queue-filter-area.content-card { padding: 16px 20px; }
.queue-filter-toolbar { display: flex; align-items: center; gap: 14px; }
.queue-filter-toolbar .queue-filter-count { margin-left: auto; }
.queue-filter-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; min-height: 43px; margin: 0; white-space: nowrap; }
.queue-filter-toggle.is-filtered { border-color: #12689d; background: #e8f5fb; color: #105783; }
.queue-filter-count { color: #607b8c; font-size: 13px; }
.queue-filter-panel { margin-top: 16px; padding-top: 16px; border-top: 1px solid #dce9f1; }
.queue-filter-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.queue-filter-form label { display: grid; align-content: start; gap: 6px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.queue-filter-form :is(input,select) { width: 100%; min-width: 0; min-height: 43px; padding: 9px 10px; border: 1px solid #cfdae2; border-radius: 6px; background: white; color: #17354b; font: inherit; font-weight: 400; }
.queue-filter-form :is(input,select):focus { outline: 2px solid #1385bd; outline-offset: 1px; }
.queue-filter-footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.queue-filter-footer p { margin: 0; }
.queue-filter-footer button { flex: 0 0 auto; margin: 0; }
.queue-filter-empty { padding: 14px; border: 1px dashed #bfd5e3; border-radius: 7px; color: #5e7788; }
#view-tracking .search-row > div:first-of-type { align-items: stretch; }
#view-tracking .search-row > div:first-of-type > .queue-filter-toggle { min-width: 105px; }
#view-tracking .queue-filter-area { margin: 10px 0 0; }
#view-tracking .queue-filter-area .queue-filter-count { display: block; text-align: right; }
.report-actions { justify-content: flex-start; }
#dashboardReportCard .report-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-top: 16px; }
#dashboardReportCard .report-actions > a { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 190px; height: 42px; min-height: 42px; margin: 0; padding: 0 12px; font-size: 13px; text-decoration: none; }
.search-row .report-actions > button { width: 92px; height: 40px; min-height: 40px; margin: 0; padding: 0; font-size: 13px; }
.search-row > .search-result { display: block; min-width: 0; }
.search-result { margin-top: 22px; padding: 18px; border: 1px solid #dbeaf2; border-radius: 7px; background: #f4f9fc; color: #456477; font-size: 14px; line-height: 1.6; }
.search-result p { margin: 0; }
.search-result h3 { margin: 0 0 12px; }
.request-people { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 18px; }
.request-person { display: grid; grid-template-rows: 1fr auto; gap: 9px; width: 210px; max-width: 100%; min-width: 0; padding: 9px 12px; border: 1px solid #c8dbe6; border-radius: 9px; background: #fff; color: #17354b; }
.request-person-main { display: flex; align-items: center; gap: 11px; min-width: 0; }
.request-person-main > div:last-child { min-width: 0; overflow-wrap: anywhere; }
.request-person-contact { justify-content: center; min-height: 35px; width: 100%; padding: 5px 7px; font-size: 11px; text-align: center; }
.teams-link { display: inline-flex; align-items: center; border: 1px solid #aaa6d9; border-radius: 6px; background: #f2f0ff; color: #4b428d; font-weight: 800; text-decoration: none; }
.teams-link:hover, .teams-link:focus-visible { border-color: #6e65b6; background: #e7e3ff; color: #342a75; outline-offset: 2px; }
.request-person-contact-unavailable { display: grid; place-items: center; min-height: 35px; padding: 5px 7px; border: 1px solid #b9cbd5; border-radius: 6px; background: #f7fafc; color: #405f72; font-size: 11px; font-weight: 700; text-align: center; }
.request-person-photo { position: relative; display: grid; place-items: center; flex: 0 0 72px; width: 72px; height: 96px; overflow: hidden; border-radius: 6px; background: #e9f2f7; color: #607d90; font-size: 10px; text-align: center; }
.request-person-photo.has-initials { color: #315f7d; font-size: 23px; font-weight: 800; }
.request-person-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.request-person small, .request-person strong { display: block; }
.request-person small { color: #405f72; font-weight: 700; line-height: 1.35; }
.request-person strong { line-height: 1.3; color: #193e57; }
.search-result p { margin: 7px 0; }
.search-result ul { margin: 14px 0; padding-left: 22px; }
.search-result .history-note { padding-top: 11px; border-top: 1px solid #d8e8f0; color: #668293; font-size: 12px; }
.item-change-notice { margin: 16px 0; padding: 14px 16px; border: 1px solid #e6bc7b; border-left: 4px solid #d99431; border-radius: 7px; background: #fff9ec; color: #624717; }
.item-change-notice strong { color: #704b14; }
.item-change-notice ul { margin: 8px 0 0; padding-left: 20px; }
.item-change-notice li { margin: 5px 0; overflow-wrap: anywhere; }
.purchase-source-editor { display: grid; gap: 16px; min-width: 0; margin: 24px 0; padding: 20px; border: 1px solid #d8e8f0; border-radius: 9px; background: #fff; }
.purchase-source-editor h4 { margin: 0; color: #193e57; font-size: 16px; }
.purchase-source-editor label { display: grid; gap: 7px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.purchase-source-editor :is(input:not([type="checkbox"]), select, textarea) { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font: inherit; }
.purchase-source-editor textarea { resize: vertical; }
.purchase-recurrence-fields[hidden] { display: none; }
.purchase-indefinite { display: flex !important; align-items: center; gap: 8px; }
.purchase-indefinite input { width: 17px; height: 17px; margin: 0; }
.purchase-edit-items { display: grid; gap: 10px; }
.purchase-edit-item { display: grid; grid-template-columns: 120px minmax(0, 1fr) 100px 130px auto; gap: 10px; align-items: end; }
.purchase-edit-item label[hidden] { display: none; }
.purchase-edit-item .secondary-action { margin-top: 0; }
.brand-select-actions { display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 8px; align-items: stretch; }
.purchase-source-editor .brand-select-actions .compact-icon-action { width: 42px; min-width: 42px; min-height: 43px; margin: 0; padding: 0; font-size: 22px; line-height: 1; }
.purchase-source-editor > .primary-action, .purchase-source-editor > .secondary-action { justify-self: start; margin-top: 0; }
.purchase-return-box { display: grid; gap: 12px; min-width: 0; margin: 20px 0 24px; padding: 20px; border: 1px solid #d8e8f0; border-radius: 9px; background: #fff; }
.purchase-return-box h4, .purchase-return-box p { margin: 0; }
.purchase-return-box h4 { color: #193e57; font-size: 16px; }
.purchase-return-box label { display: grid; gap: 7px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.purchase-return-box textarea { display: block; width: 100%; min-width: 0; min-height: 90px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font: inherit; resize: vertical; }
.purchase-return-box .dictation-tools { margin: 0; }
.purchase-return-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.purchase-return-actions .secondary-action { margin: 0; }
.quick-register-field { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.quick-register-field select { flex: 1; width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; }
.quick-register-button { flex: 0 0 43px; width: 43px; min-height: 43px; margin: 0; padding: 0; font-size: 22px; line-height: 1; }
.request-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 8px 0; }
.finance-receipt-chip { display:inline-flex; align-items:center; width:fit-content; max-width:100%; padding:7px 12px; border:1px solid #73b893; border-radius:8px; background:#e2f5e9; color:#145b35; font-size:12px; font-weight:800; line-height:1.5; }
.delivery-update-chip { display: inline-flex; align-items: center; margin-left: auto; padding: 4px 9px; color: #315673; font-size: 11px; font-weight: 800; text-align: right; }
.priority-chip, .deadline-chip, .deadline-alert-chip, .returned-chip, .pickup-chip { display: inline-flex; width: fit-content; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.pickup-chip { border: 1px solid #9bc5df; background: #e9f5fc; color: #165f8b; }
.pickup-pending-notice { margin-bottom: 16px; border-color: #ddbf7e; background: #fffaf0; }
.pickup-pending-notice strong { color: #695016; }
.pickup-pending-notice p { margin: 8px 0 0; }
.pickup-confirm-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.pickup-confirm-actions:empty { display: none; }
.pickup-pending-notice .secondary-action { margin-top: 12px; }
.warehouse-handover-button { margin: 0 18px 18px; }
.returned-chip { background: #e9ddfa; color: #5d3485; border: 1px solid #b995df; }
.priority-chip[data-value="Crítico"] { background: #fbd4dd; color: #9d2545; }
.priority-chip[data-value="Urgente"] { background: #ffdfc2; color: #a45117; }
.priority-chip[data-value="Importante"] { background: #fff0b9; color: #816100; }
.priority-chip[data-value="Planejado"] { background: #d4f0dc; color: #236b38; }
.field-invalid { border-color: #bb2b38 !important; box-shadow: 0 0 0 2px #f8d7db !important; }
.finance-pending-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 15px 0; }
.finance-pending-filters label { display: grid; gap: 5px; min-width: 150px; flex: 1; }
.finance-pending-filters select,
.finance-pending-filters input { width: 100%; }
.finance-schedule-card { margin-top: 18px; }
.finance-schedule-period[hidden] { display: none; }
.finance-schedule-table td:nth-child(1),
.finance-schedule-table td:nth-child(4),
.finance-schedule-table td:nth-child(5),
.finance-schedule-table td:nth-child(6) { white-space: nowrap; }
.finance-pending-table td { vertical-align: top; min-width: 105px; }
.finance-pending-table td:first-child { min-width: 210px; }
.finance-row-action { margin-top: 7px; font-size: .82rem; }
.finance-overdue-row { background: #fff0f1; border-left: 4px solid #bc3140; }
.finance-overdue-row td:last-child { color: #a22031; font-weight: 700; }
.director-approval-notice { margin: 0 0 14px; padding: 9px 12px; background: #eef5fa; border-left: 3px solid #85abc2; border-radius: 4px; color: #3a5a6f; font-size: .9rem; }
.order-approval-total { display: block; margin: 14px 0; padding: 14px 16px; border: 1px solid #d0e3ef; border-radius: 8px; background: #eff8fc; color: #06446b; font-size: 1.12rem; }
.payment-supplier-groups { display: grid; gap: 12px; margin: 12px 0 18px; }
.payment-supplier-group { min-width: 0; margin: 12px 0; padding: 14px 16px; border: 1px solid #cbdde8; border-left: 4px solid #1675a9; border-radius: 9px; background: #fff; }
.payment-supplier-groups .payment-supplier-group { margin: 0; }
.payment-supplier-group h5 { margin: 0 0 3px; color: #113d59; font-size: 1rem; }
.payment-supplier-group .payment-supplier-summary { margin: 0 0 9px; color: #4c6a7d; font-size: .88rem; }
.payment-supplier-group > p:not(.payment-supplier-summary) { padding: 5px 0; border-top: 1px solid #e8f0f5; }
.deadline-chip[data-value="VENCIDO"] { background: #202124; color: #fff; }
.deadline-chip[data-value="PRÓXIMO"] { background: #fff0b9; color: #816100; }
.deadline-chip[data-value="NO PRAZO"] { background: #d4f0dc; color: #236b38; }
.deadline-alert-chip { border: 1px solid transparent; }
.deadline-alert-chip[data-value="WEEK"] { background: #fff7d9; border-color: #e8d78a; color: #775d00; }
.deadline-alert-chip[data-value="THREE_DAYS"] { background: #ffead7; border-color: #f3bd88; color: #9b4d12; }
.deadline-alert-chip[data-value="CRITICAL"] { background: #ffe2d7; border-color: #e89a7e; color: #9c2f1b; }
.deadline-alert-chip[data-value="OVERDUE"] { background: #202124; border-color: #202124; color: #fff; }
.request-list-item[data-deadline-alert="OVERDUE"] { border-color: #202124; background: #fff; }
.request-list-item[data-deadline-alert="CRITICAL"] { border-color: #e89a7e; background: #fff8f3; }
.request-list { display: grid; gap: 8px; color: #607586; font-size: 14px; }
.purchase-queue { display: grid; gap: 8px; margin-top: 16px; color: #607586; }
.purchase-queue-item .approval-queue-body > button { justify-self: start; margin-left: 18px; }
.purchase-queue-summary { display: grid; grid-template-columns: minmax(105px, 1fr) 105px minmax(165px, 1.3fr) minmax(145px, 1fr) 18px; align-items: center; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; color: #294c63; font-size: 13px; }
.purchase-queue-summary::-webkit-details-marker { display: none; }
.purchase-queue-summary::after { content: '⌄'; justify-self: end; grid-column: 5; font-size: 19px; color: #53809a; }
.purchase-queue-item[open] .purchase-queue-summary::after { transform: rotate(180deg); }
.purchase-queue-summary strong { color: #163f5a; font-size: 15px; }
.purchase-queue-summary:hover { background: #edf7fb; }
.purchase-queue-details { display: grid; gap: 8px; padding: 0 18px 18px; border-top: 1px solid #e2edf2; color: #415d70; font-size: 13px; }
.purchase-queue-details p { margin: 8px 0 0; }
.purchase-queue-details ul { margin: 5px 0; padding-left: 20px; }
.purchase-queue-details button { justify-self: start; }
.request-list-item { padding: 13px 15px; border: 1px solid #dce8ee; border-radius: 6px; background: #f8fcfe; color: #214d68; text-align: left; cursor: pointer; font-size: 14px; }
.request-list-item:hover { background: #eaf5fb; }
.request-list-item[aria-expanded="true"] { background: #eaf5fb; border-color: #9dc9df; }
.request-detail-panel { display: grid; gap: 16px; min-width: 0; padding: 8px 0 16px; }
.request-detail-panel .search-result { margin-top: 0; }
.admin-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 15px; min-width: 0; }
.profile-password-form { align-self: start; }
.profile-password-form .field-help { color: #536f80; font-size: 12px; line-height: 1.5; }
.profile-password-form input:focus-visible { border-color: #a22a33; outline: 3px solid #f4dadd; outline-offset: 1px; }
.profile-password-form [role="status"] { min-height: 1.5em; }
.profile-photo-frame { display: grid; place-items: center; width: 180px; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid #c9dce6; border-radius: 10px; background: #eef5f8; color: #6d8798; font-size: 13px; }
.profile-photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.dictation-tools { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.dictation-tools .secondary-action { display: inline-flex; align-items: center; flex: 0 1 auto; margin-top: 0; text-decoration: none; }
#dictationStatus { margin: 10px 0 0; }
.admin-form > label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.admin-form > label input { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; font-size: 14px; }
.admin-form > label select { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; }
#corporateApprovalsPanel .content-card { padding: clamp(22px, 2.5vw, 34px); }
#corporateApprovalsPanel .content-card > h3 { margin-bottom: 8px; color: var(--navy); font-size: 20px; }
#corporateApprovalsPanel .content-card > .form-hint { max-width: 920px; margin: 0 0 24px; color: #627688; font-size: 13px; line-height: 1.6; }
#approvalRouteForm .form-grid { gap: 19px 22px; }
#approvalRouteForm .form-grid > label { display: grid; align-content: start; gap: 8px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; line-height: 1.35; }
#approvalRouteForm .form-grid select { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 46px; padding: 10px 38px 10px 13px; border: 1px solid #cbd8e1; border-radius: 7px; outline: none; background-color: #fff; color: #17354b; font: inherit; font-size: 14px; font-weight: 500; text-overflow: ellipsis; box-shadow: 0 1px 2px #102c3d0a; }
#approvalRouteForm .form-grid select:hover { border-color: #8fb5c9; }
#approvalRouteForm .form-grid select:focus-visible { border-color: #b32831; box-shadow: 0 0 0 3px #f8e1e2; }
#approvalRouteForm .revision-actions { margin-top: 5px; }
#approvalRouteForm .revision-actions button { min-height: 43px; }
@media (max-width: 700px) { #approvalRouteForm .form-grid { grid-template-columns: 1fr; } }
.new-unit-fields { display: grid; gap: 12px; padding: 12px; border: 1px solid #c9dce6; border-radius: 8px; background: #f6fbfe; }
.new-unit-fields label { display: grid; gap: 7px; color: #344d60; font-size: 13px; font-weight: 700; }
.new-unit-fields input { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; }
.admin-form fieldset { display: grid; gap: 8px; padding: 14px; border: 1px solid #d6e2e9; border-radius: 7px; }
.admin-form fieldset[hidden] { display: none; }
.admin-form legend { padding: 0 4px; color: #344d60; font-size: 13px; font-weight: 700; }
.admin-form fieldset label { color: #496273; font-size: 13px; }
.admin-form .form-hint { margin: 0; color: #8796a1; font-size: 12px; }
.admin-backup-card { display: grid; gap: 14px; }
.admin-backup-card > p { margin: 0; }
.backup-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; }
.backup-actions > button { min-height: 43px; }
.backup-import-label { display: grid; gap: 6px; min-width: min(100%, 260px); color: #344d60; font-size: 13px; font-weight: 700; }
.backup-import-label input { max-width: 100%; min-height: 43px; padding: 8px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; }
#backupRestoreDialog label { display: grid; gap: 7px; }
#backupRestoreDialog input { min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; }
.checkbox-grid { display: grid; gap: 9px; }
.checkbox-grid[hidden] { display: none; }
.checkbox-grid label { display: flex; align-items: flex-start; gap: 9px; color: #344d60; font-size: 12px; font-weight: 600; line-height: 1.4; }
.checkbox-grid input { width: 16px; height: 16px; flex: 0 0 16px; margin: 1px 0 0; accent-color: #0d71b5; }
.admin-portal-guides { display: grid; gap: 8px; }
.portal-guide-tree, .portal-guide-subtree { border: 1px solid #c9d9e6; border-radius: 10px; background: #f8fbfd; overflow: clip; }
.portal-guide-tree > summary, .portal-guide-subtree > summary { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 12px; color: #173d59; cursor: pointer; list-style: none; }
.portal-guide-tree > summary::-webkit-details-marker, .portal-guide-subtree > summary::-webkit-details-marker { display: none; }
.portal-guide-tree > summary::before, .portal-guide-subtree > summary::before { content: '›'; flex: 0 0 12px; font-size: 19px; line-height: 1; transform-origin: center; transition: transform .16s ease; }
.portal-guide-tree[open] > summary::before, .portal-guide-subtree[open] > summary::before { transform: rotate(90deg); }
.permission-tree-toggle { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; accent-color: #0d71b5; cursor: pointer; }
.permission-tree-icon { display: inline-grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border-radius: 5px; color: #0f679e; background: #e6f2fa; font-size: 12px; font-weight: 800; }
.permission-tree-icon-portal { color: #94570c; background: #fff0d8; }
.permission-tree-icon-screen { color: #557086; background: #edf3f7; }
.portal-guide-tree-count { margin-left: auto; color: #60798c; font-size: 11px; font-weight: 700; white-space: nowrap; }
.portal-guide-tree-grid { gap: 4px; padding: 2px 12px 12px 38px; }
.portal-guide-tree-grid > label { min-height: 34px; align-items: center; padding: 5px 8px; border-radius: 7px; }
.portal-guide-tree-grid > .permission-tree-treatment { margin-left: 28px; border-left: 2px solid #b7cbd7; border-radius: 0 7px 7px 0; padding-left: 14px; font-size: .91rem; }
.portal-guide-tree-grid > .permission-tree-coordinator { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:9px; margin:4px 0 8px; padding:10px 12px; border:1px solid #c9dce7; border-radius:8px; background:#eef7fb; }
.permission-tree-coordinator > span:last-child { display:grid; gap:2px; }
.permission-tree-coordinator strong { color:#173f59; }
.permission-tree-coordinator small { color:#60798a; font-weight:500; line-height:1.35; }
.permission-tree-coordinator:has(input:checked) { border-color:#c47b13; background:#fff7e9; }
.permission-tree-coordinator:has(input:disabled:not(:checked)) { cursor:not-allowed; opacity:.72; }
.permission-tree-treatment:focus-within { outline: 2px solid #20729f; outline-offset: 2px; }
.portal-guide-subtree { grid-column: 1 / -1; background: #fff; }
.portal-guide-subtree > summary { min-height: 36px; padding: 6px 8px; }
.portal-guide-screen-grid { padding: 2px 10px 10px 42px; }
.portal-guide-screen-grid label { min-height: 32px; align-items: center; }
.permission-tree-mandatory { border: 1px solid #d8b26d; background: #fff8ea; color: #704916 !important; }
.permission-tree-mandatory input:disabled, .portal-guide-tree input:disabled { cursor: not-allowed; }
.portal-guide-tree input:disabled + .permission-tree-icon { opacity: .78; }
.user-request-type-fieldset { margin-top: 14px; }
@media (max-width: 650px) { .portal-guide-tree-grid { padding-left: 16px; } .portal-guide-screen-grid { padding-left: 22px; } .portal-guide-tree-count { white-space: normal; text-align: right; } }
.approval-scope-field { min-width:0; margin:0; padding:12px; border:1px solid #bfd3e4; border-radius:10px; background:#f8fbfd; }
.approval-scope-field legend { padding:0 5px; color:#173d59; font-size:13px; font-weight:800; }
.approval-scope-field > small { display:block; margin:0 0 9px; color:#60788b; font-size:11px; line-height:1.4; }
.approval-scope-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; max-height:210px; padding:2px 4px 2px 1px; overflow:auto; scrollbar-width:thin; }
.approval-scope-options label { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:8px 9px; border:1px solid #d8e4ed; border-radius:8px; background:#fff; color:#27475e; font-size:12px; font-weight:650; line-height:1.3; cursor:pointer; }
.approval-scope-options label:has(input:checked) { border-color:#cf7d17; background:#fff7eb; color:#163c57; }
.approval-scope-options input { width:17px; height:17px; flex:0 0 17px; margin:0; accent-color:#c87816; }
.approval-scope-options span { overflow-wrap:anywhere; }
.approval-scope-options .approval-scope-all { grid-column:1 / -1; font-weight:800; }
.group-permissions label { display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; width: 100%; gap: 12px; text-align: left; }
.group-permissions input { margin: 0; }
.invitation-result { padding: 13px; border: 1px solid #e6cc8e; border-radius: 7px; background: #fffaf0; color: #6d5b30; font-size: 12px; }
.invitation-result[hidden] { display: none; }
.invitation-result p { margin: 7px 0; }
.invitation-result input { width: 100%; padding: 8px; border: 1px solid #d6cda8; border-radius: 5px; font-size: 12px; }
.group-list { display: grid; gap: 12px; }
.group-card { padding: 14px; border: 1px solid #dce8ee; border-radius: 7px; background: #f9fcfd; }
.group-card h4 { margin: 0 0 10px; color: #254861; }
.group-card button, .user-list-item button { margin-top: 10px; }
.user-list-item .checkbox-grid { margin-top: 8px; }
.supplier-permission-fieldset { display: grid; gap: 10px; min-width: 0; margin: 8px 0; padding: 14px; border: 1px solid #cfdfe9; border-radius: 9px; background: #f6fafc; }
.supplier-permission-fieldset legend { padding: 0 5px; color: #254861; font-size: 13px; font-weight: 700; }
.supplier-permission-fieldset .form-hint { margin: 0; color: #536f80; font-size: 12px; }
.supplier-permission-row { display: grid; gap: 5px; padding: 9px 0; border-top: 1px solid #e0ebf1; }
.supplier-permission-row strong { color: #254861; font-size: 13px; }
.supplier-permission-row label { display: flex; align-items: flex-start; gap: 9px; color: #344d60; font-size: 12px; line-height: 1.45; cursor: pointer; }
.supplier-permission-row input { width: 17px; height: 17px; flex: 0 0 17px; margin: 0; accent-color: #0d71b5; }
.supplier-permission-row input:focus-visible { outline: 2px solid #0d71b5; outline-offset: 2px; }
.user-list-item { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 3px 8px; padding: 12px 0; border-bottom: 1px solid #e6edf1; }
.user-list-item > .registry-select { grid-column: 1; grid-row: 1; align-self: center; }
.user-list-item > strong { grid-column: 2; grid-row: 1; }
.user-list-item > :not(.registry-select):not(strong) { grid-column: 2; }
.user-list-item strong { color: #254861; font-size: 14px; }
.portal-access-control { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 6px 0; }
.user-list-item .portal-access-control span { color: #254861; font-weight: 700; }
.portal-access-control button { margin-top: 0; }
.registry-card { min-width: 0; }
.registry-create { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; margin: 16px 0; }
.registry-create label { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; min-width: 0; color: #344d60; font-size: 13px; font-weight: 700; }
.registry-create input { width: 100%; min-width: 0; min-height: 43px; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; }
.registry-create button { width: 100%; white-space: nowrap; }
.registry-list { max-height: 400px; overflow-y: auto; padding-right: 6px; scrollbar-gutter: stable; }
.registry-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 8px 10px; border: 1px solid #dce8ee; border-radius: 7px; background: #f9fcfd; }
.registry-row span { min-width: 0; overflow-wrap: anywhere; }
.registry-row button { flex: none; }
.registry-select { width: 17px; height: 17px; flex: 0 0 17px; margin: 0 4px 0 0; accent-color: #be3434; cursor: pointer; }
.registry-select:disabled { opacity: .4; cursor: not-allowed; }
.registry-list + .danger-action { margin-top: 12px; }
.danger-action { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 8px 13px; border: 1px solid #ce7a7a; border-radius: 6px; background: #fff4f4; color: #a12d2d; cursor: pointer; font-size: 12px; font-weight: 800; }
.danger-action:hover, .danger-action:focus-visible { background: #ffe6e6; }
.registry-delete-dialog { width: min(500px, calc(100vw - 32px)); max-height: min(80vh, 600px); overflow-y: auto; padding: 24px; border: 1px solid #dce8ee; border-radius: 10px; color: #193e57; box-shadow: 0 18px 60px #102f4d4d; }
.registry-delete-dialog::backdrop { background: #102f4d99; }
.registry-delete-dialog h3 { margin: 0 0 12px; }
.registry-delete-dialog p { line-height: 1.5; }
.generated-password-field { display: grid; gap: 6px; }
.manual-user-create-layout { display: flex; justify-content: center; }
.manual-user-create-layout #manualUserForm { width: min(100%, 700px); box-sizing: border-box; }
.generated-password-field > label { margin: 0; }
.generated-password-field small { display: block; margin-top: 3px; color: #607a8c; font-size: 12px; font-weight: 400; }
.generated-password-control { display: flex; align-items: stretch; gap: 6px; }
.generated-password-control input { flex: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
#manualUserDeliveryPasswordBlock { margin: 14px 0; }
.user-password-reset-dialog .registry-delete-actions > button { min-height: 44px; }
.password-icon-action { flex: 0 0 34px; width: 34px; min-height: 34px; padding: 0; border: 1px solid #b5ccd9; border-radius: 6px; background: #f7fbfd; color: #1a5376; font-size: 18px; cursor: pointer; }
.password-icon-action:hover { background: #eaf4f9; }
.password-icon-action:focus-visible { outline: 3px solid #80c6ed; outline-offset: 2px; }
.manual-user-delivery-options { display: grid; gap: 10px; margin: 14px 0; padding: 12px; border: 1px solid #d1e1ea; border-radius: 8px; }
.manual-user-delivery-options legend { padding: 0 5px; font-weight: 700; }
.registry-delete-dialog .manual-user-delivery-options label { display: flex; align-items: center; gap: 9px; margin: 0; }
.registry-delete-dialog .manual-user-delivery-options input[type="checkbox"] { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; padding: 0; accent-color: #136ba0; }
.manual-user-delivery-options label:has(input:disabled) { color: #758997; }
.request-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.request-actions .request-archive-action { margin-left: auto; }
.registry-delete-dialog label { display: block; margin: 16px 0; }
.registry-delete-dialog label :is(input,textarea) { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 10px 12px; border: 1px solid #c9dbe7; border-radius: 6px; font: inherit; }
.registry-delete-dialog ul { max-height: 210px; overflow: auto; padding-left: 20px; overflow-wrap: anywhere; }
.registry-delete-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
#manualUserDeliveryDialog .registry-delete-actions > button { display:inline-flex; flex:1 1 0; align-items:center; justify-content:center; min-width:155px; min-height:46px; margin:0; padding:10px 16px; line-height:1.2; text-align:center; }
.registry-row input:not(.registry-select) { min-width: 0; flex: 1; }
.registry-editor { display: grid; gap: 8px; width: 100%; }
.registry-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.registry-section-title { margin: 28px 0 12px; color: #183955; font-size: 18px; }
.supplier-form { display: grid; gap: 18px; }
.supplier-step-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.supplier-step-track span { padding: 9px 6px; border-bottom: 3px solid #dce8ee; color: #607c90; text-align: center; font-size: 12px; font-weight: 700; }
.supplier-step-track span.active { border-color: #1773b4; color: #0a5182; }
.supplier-step { min-width: 0; border: 1px solid #dce8ee; border-radius: 8px; padding: 16px; }
.supplier-step legend { padding: 0 6px; font-weight: 800; }
.supplier-step label { display: grid; gap: 6px; min-width: 0; }
.supplier-step :is(input,select,textarea) { box-sizing: border-box; width: 100%; min-height: 41px; padding: 9px 11px; border: 1px solid #c9dbe7; border-radius: 6px; background: #fff; color: #17354b; font: inherit; }
.supplier-step [type="checkbox"] { width: auto; min-height: 0; }
.supplier-step .checkbox-grid label, .supplier-step .supplier-consent { display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.supplier-document-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.supplier-document-inputs label { padding: 10px; border: 1px solid #dce8ee; border-radius: 6px; }
.supplier-wizard-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.supplier-registry-row { padding: 13px; border: 1px solid #dce8ee; border-radius: 8px; background: #f9fcfd; }
.supplier-registry-row + .supplier-registry-row { margin-top: 8px; }
.supplier-registry-heading { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.supplier-registry-heading strong { flex: 1; }
.supplier-complete, .supplier-pending { padding: 4px 8px; border-radius: 20px; font-size: 12px; font-weight: 800; }
.supplier-complete { background: #dbf6e8; color: #176043; }
.supplier-pending { background: #fff0d9; color: #8b5700; }
.supplier-choice-fieldset { margin: 12px 0; padding: 12px 14px; border: 1px solid #cbd9e6; border-radius: 8px; }
.supplier-choice-fieldset legend { padding: 0 6px; color: #26445f; font-weight: 700; }
.supplier-choice-fieldset .checkbox-grid { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.supplier-choice-fieldset label { display: inline-flex; align-items: center; gap: 7px; }
.quick-register-field > input { flex: 1; width: 100%; min-width: 0; }
.quick-register-button { flex: 0 0 42px; min-width: 42px; padding-inline: 0; font-size: 20px; font-weight: 700; }
#supplierAutosaveStatus { min-height: 1.5em; margin: 8px 0 0; }
.supplier-review-dialog { width: min(760px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; }
.supplier-review-dialog select { width: 100%; padding: 9px; border: 1px solid #c9dbe7; border-radius: 6px; }
@media (max-width: 650px) { .supplier-step-track { grid-template-columns: repeat(2, 1fr); } .supplier-document-inputs { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .registry-row { flex-wrap: wrap; } }
.user-list-item span { color: #718694; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.attachment-selection { padding: 10px 12px; border: 1px solid #dce8ee; border-radius: 6px; color: #4f6c7e; font-size: 12px; overflow-wrap: anywhere; }
.attachment-selection:empty { display: none; }
.attachment-type-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(180px, 1fr) auto; align-items: center; gap: 10px; min-width: 0; margin: 0 0 10px; color: #344d60; font-size: 13px; font-weight: 700; }
.attachment-type-row:last-child { margin-bottom: 0; }
.attachment-type-row span { overflow-wrap: anywhere; }
.attachment-type-row input { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; font-weight: 400; }
.attachment-type-row button { white-space: nowrap; }
.revision-existing-attachment.marked-for-deletion { opacity: .55; background: #fff4f4; }
.revision-existing-attachment.marked-for-deletion span { text-decoration: line-through; }
.revision-existing-attachment.marked-for-deletion input { pointer-events: none; }
.add-more-attachments { margin: 4px 0 16px; }
#requestAttachments, #revisionAttachmentsFiles { display: none; }
@media (max-width: 650px) { .attachment-type-row { grid-template-columns: minmax(0, 1fr) auto; } .attachment-type-row input { grid-column: 1 / -1; grid-row: 2; } }
.request-attachments { display: grid; gap: 7px; margin: 15px 0; }
.request-attachments a { color: #0d71b5; overflow-wrap: anywhere; }
.approval-item { display: grid; gap: 10px; padding: 18px 0; border-bottom: 1px solid #dfe8ed; }
.approval-item h4 { margin: 0; color: #183d56; }
.approval-item p { margin: 0; color: #627d8d; }
.approval-check { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; }
.approval-check input { margin-top: 2px; accent-color: #0d71b5; }
.approval-item textarea { display: block; width: 100%; min-height: 65px; margin-top: 6px; padding: 9px; border: 1px solid #cfdae2; border-radius: 6px; }
.approval-item > button { justify-self: start; }
.approval-queue-item { min-width: 0; }
.approval-queue-summary { display: grid; gap: 7px; width: 100%; list-style: none; }
.approval-queue-summary::-webkit-details-marker { display: none; }
.approval-queue-item[open] .approval-queue-summary { background: #eaf5fb; border-color: #9dc9df; }
.approval-queue-body { display: grid; gap: 12px; min-width: 0; padding: 0 0 16px; }
.approval-queue-body .search-result { margin-top: 10px; min-width: 0; }
.approval-queue-body .approval-item { padding: 8px 18px 16px; border: 1px solid #dbeaf2; border-radius: 7px; background: #fff; }
.approval-queue-body .approval-item .dictation-tools { margin-top: 0; }
.finance-queue-item .finance-payment-form { margin: 0 18px 16px; padding: 18px; border: 1px solid #dbeaf2; border-radius: 7px; background: #fff; }
.finance-installment-form { margin: 10px 0; padding: 15px; border: 1px solid #dbeaf2; border-radius: 8px; background: #fff; }
.finance-installment-form.is-paid { border-color: #a8d3c5; background: #f8fdfa; }
.finance-paid-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; margin: 10px 0; }
.finance-paid-summary[hidden], .finance-installment-editor[hidden], .finance-proof-edit-toggle[hidden] { display: none; }
.finance-paid-info { min-width: 0; overflow-wrap: anywhere; }
.finance-paid-info p { margin: 0 0 7px; }
.finance-paid-stamp { display: inline-block; padding: 5px 15px; transform: rotate(-13deg); border: 4px double #bb3030; border-radius: 5px; color: #bb3030; font-size: clamp(23px,3vw,36px); font-weight: 900; letter-spacing: .12em; line-height: 1.15; text-transform: uppercase; }
.finance-installment-editor { display: grid; gap: 12px; margin-top: 10px; }
.finance-installment-editor label { display: grid; gap: 5px; color: #17354b; font-size: 13px; font-weight: 700; }
.finance-installment-editor :is(input,textarea) { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid #c9dbe7; border-radius: 7px; background: #fff; color: #17354b; font: inherit; }
.finance-installment-editor :is(input,textarea):focus-visible { outline: 2px solid #2382bb; outline-offset: 2px; }
.finance-correction-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.finance-correction-actions button { margin: 0; }
.finance-proof-history { margin-top: 9px; font-size: 12px; }
.finance-proof-history p { margin-top: 6px; }
@media (max-width: 560px) { .finance-paid-summary { grid-template-columns: 1fr; } .finance-paid-stamp { justify-self: end; } }
.finance-proof-rows { display: grid; gap: 12px; }
.finance-proof-row { display: grid; grid-template-columns: 160px minmax(0, 1fr) minmax(190px, 0.7fr) auto; gap: 14px; align-items: end; }
.finance-proof-row label { min-width: 0; }
.finance-proof-row input, .finance-proof-row select { width: 100%; min-width: 0; }
@media (max-width: 900px) { .finance-proof-row { grid-template-columns: 1fr; } }
.workflow-action { margin-top: 10px; padding: 14px; border: 1px solid #dce8ee; border-radius: 8px; background: #f8fcfe; }
.workflow-action > label { display: grid; gap: 6px; color: #344d60; font-size: 13px; font-weight: 700; }
.workflow-action :is(input,textarea) { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #cfdae2; border-radius: 6px; background: #fff; color: #17354b; font-size: 14px; }
.workflow-action .primary-action { justify-self: start; }
.warehouse-receipt-form { margin: 0 18px 16px; }
.warehouse-return-form { border-color: #efb5ae; background: #fffafa; }
.warehouse-return-form h4 { margin: 0; color: #933b35; }
.warehouse-return-form .quick-register-field select { min-width: 0; }
.warehouse-received-note { margin: 0 18px 16px; }
#revisionItems .item-row input { width: 100%; min-width: 0; min-height: 43px; padding: 9px 11px; border: 1px solid #cfdae2; border-radius: 6px; }
.revision-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.revision-actions button { margin-top: 0; }
.audit-list { display: grid; margin: 14px 0; }
.audit-entry { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid #e6edf1; overflow-wrap: anywhere; }
.audit-entry strong { color: #254861; font-size: 13px; }
.audit-entry span, .audit-entry small { color: #617b8c; font-size: 12px; }
.audit-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-bottom:18px; }
.audit-filter-grid label { display:grid; gap:6px; font-weight:700; color:var(--ink); }
.audit-filter-grid input, .audit-filter-grid select { width:100%; }
.audit-filter-actions { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.administrative-audit-entry { gap:5px; }
.audit-document-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.audit-document-actions .secondary-action, .audit-document-actions .primary-action { display:inline-flex; align-items:center; text-decoration:none; width:auto; }
.br-date-control { position:relative; display:flex; align-items:stretch; width:100%; min-width:0; }
.br-date-display { flex:1 1 auto; width:100%; min-width:0; padding-right:45px !important; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.br-date-picker { position:absolute; z-index:2; top:50%; right:7px; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; min-height:0; margin:0; padding:6px; transform:translateY(-50%); border:0; border-radius:6px; background:transparent; color:#56748a; cursor:pointer; }
.br-date-picker:hover { background:#eaf3f8; color:#174f73; }
.br-date-picker:focus-visible { outline:3px solid #80c6ed; outline-offset:1px; }
.br-date-picker svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.br-date-native { position:absolute !important; right:8px !important; bottom:2px !important; width:1px !important; height:1px !important; min-width:0 !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; opacity:0 !important; pointer-events:none !important; }
.br-date-control:has(.br-date-display:disabled) .br-date-picker { cursor:not-allowed; opacity:.5; }
#view-tracking .content-card + .content-card { margin-top: 16px; }
.timeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 24px; }
.stage-card { position: relative; display: grid; align-content: start; gap: 6px; min-height: 92px; padding: 12px 10px; border: 1px solid #c8d6df; border-top: 4px solid #718a9b; border-radius: 6px; background: #f7fafb; color: #263f52; }
.stage-card strong { padding-right: 27px; font-size: 12px; line-height: 1.3; }
.stage-number { position: absolute; top: 6px; right: 7px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 3px; border: 1px solid currentColor; border-radius: 999px; background: #fff; color: inherit; font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.stage-card small { color: #405b6f; font-size: 11px; font-weight: 700; }
.stage-card.is-done { border-color: #8fc9a2; border-top-color: #247d47; background: #eaf8ee; color: #19572f; }
.stage-card.is-stopped { border-color: #b8c7d1; border-top-color: #607887; background: #f0f4f6; color: #324b5d; }
.stage-card.is-current { border-color: #68a8d0; border-top-color: #075f94; background: #eaf5fc; color: #0b496b; box-shadow: 0 0 0 2px #cde8f8; }
.stage-card.is-next { border-color: #d8be76; border-top-color: #a97d0d; background: #fff9e9; color: #614800; }
.stage-milestone.is-pending { border-top-style: dashed; }
.order-progress { margin: 14px 0; }
.order-progress > summary { cursor: pointer; font-weight: 700; color: #145b85; }
.order-progress .timeline { margin: 14px 0; }
.request-origin-section { border-top: 2px solid #c8d9e5; margin-top: 20px; padding-top: 13px; }
.request-origin-section h4 { margin: 0 0 12px; color: #145b85; font-size: 14px; }
.request-origin-section p { margin: 6px 0; }
.technical-pending-alert { margin: 16px 0; padding: 18px 20px; border: 2px solid #d98a22; border-left-width: 6px; border-radius: 10px; background: #fff8e9; color: #513612; box-shadow: 0 8px 20px rgba(92, 61, 18, .08); }
.technical-pending-alert h3 { margin: 0 0 7px; color: #754614; font-size: 17px; }
.technical-pending-alert p { margin: 0 0 10px; }
.technical-pending-numbers { font-weight: 700; overflow-wrap: anywhere; }
.technical-pending-alert .primary-action { margin-top: 3px; }
.action-items-panel { margin: 16px 0; padding: 18px 20px; border: 1px solid #dba74d; border-left: 6px solid #d58a1d; border-radius: 12px; background: #fff9ec; color: #243547; box-shadow: 0 8px 22px rgba(72, 48, 12, .09); }
.action-items-panel h3 { margin: 0 0 5px; font-size: 18px; color: #6b4214; }
.action-items-panel > p { margin: 0 0 12px; }
.action-items-list { display: grid; gap: 9px; max-height: 360px; overflow: auto; }
.action-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; border: 1px solid #ead9b5; border-radius: 9px; background: #fff; }
.action-item strong { display: block; font-size: 13px; }
.action-item p { margin: 3px 0 0; font-size: 12px; }
.action-item .primary-action { flex: none; white-space: nowrap; }
.action-target-highlight { outline: 3px solid #d58a1d; outline-offset: 3px; }
@media (max-width: 650px) { .action-item { align-items: stretch; flex-direction: column; } .action-item .primary-action { white-space: normal; } }
.request-list-item.needs-technical-approval { border: 2px solid #d98a22; background: #fff8e9; }
.purchase-edit-item .item-lookup, .purchase-edit-item .service-lookup { min-width: 230px; }
.purchase-next-stage { border-left: 5px solid #2383b6; }
.purchase-next-stage h3 { margin-top: 6px; }
.purchase-quotation-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.purchase-quotation-preview > div { border: 1px solid #c8dbe8; border-radius: 9px; padding: 14px; background: #f3f9fd; }
.purchase-quotation-preview strong, .purchase-quotation-preview span { display: block; }
.purchase-quotation-preview span { margin-top: 6px; color: #466075; }
.purchase-legacy-stage > summary { cursor: pointer; font-weight: 700; color: #1b5372; }
.purchase-legacy-stage[open] > summary { margin-bottom: 12px; }
.purchase-legacy-stage .purchase-details-form { margin-top: 16px; }
.purchase-return-mount .purchase-return-box { border: 0; padding: 0; margin: 0; }
@media (max-width: 760px) { .purchase-quotation-preview { grid-template-columns: 1fr; } }
.request-attachment-entry { margin: 7px 0; overflow-wrap: anywhere; }
.workflow-summary { margin: 10px 0 0; color: #3d647b; font-size: 13px; line-height: 1.5; }
.notice { margin-top: 17px; padding: 17px 21px; border-left: 3px solid #e5685f; border-radius: 4px; background: #fff7f5; color: #6d5a58; font-size: 13px; line-height: 1.6; }
.notice.compact { padding: 12px 16px; }
.approval-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 17px; }
.approval-flow > div { display: flex; flex-direction: column; gap: 12px; min-height: 165px; padding: 22px; border: 1px solid #dfe9ef; border-radius: 10px; background: white; }
.approval-flow b { color: #e26156; font-size: 12px; }
.approval-flow strong { color: #193b57; font-size: 16px; }
.approval-flow span { color: #607687; font-size: 13px; line-height: 1.5; }
.field-preview { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid var(--line); }
.field-preview span { color: #7b8d99; font-size: 12px; }
.field-preview strong { color: #365569; font-size: 14px; font-weight: 700; }

@media (max-width: 1200px) {
  .criticality-requester-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-rankings { grid-template-columns: 1fr; }
  .summary-grid, .approval-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .criticality-requester-grid { grid-template-columns: 1fr; }
  .criticality-ranking-period { flex-basis: 100%; }
  .dashboard-lifecycle-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-lifecycle-lists { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-report-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-sla-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-queue-summary { grid-template-columns: minmax(0, 1fr) auto 18px; }
  .purchase-queue-summary::after { grid-column: 3; grid-row: 1; }
  .purchase-queue-summary > span:not(.priority-chip) { grid-column: 1 / -1; }
  .portal { display: block; height: auto; min-height: 100vh; overflow: visible; }
  .portal-sidebar { position: relative; top: auto; z-index: 20; height: auto; max-height: none; min-height: 0; overflow-y: visible; padding: 15px; }
  .portal-main { overflow: visible; }
  .portal-brand { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 13px; }
  .portal-brand img { width: 135px; }
  .portal-nav { display: flex; flex-wrap: wrap; gap: 5px; padding: 12px 0 0; }
  .nav-link { flex: 1 1 auto; width: auto; min-width: 110px; white-space: normal; padding: 10px 12px; text-align: center; }
  .sidebar-note { display: none; }
  .portal-topbar { min-height: 68px; }
  .two-column { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .dashboard-report-filters { grid-template-columns: 1fr; }
  .requester-contact { grid-template-columns: minmax(0, 1fr); }
  .requester-contact > label { white-space: normal; }
  .finance-sla-values { grid-template-columns: 1fr; }
  .purchase-edit-item { grid-template-columns: minmax(0, 1fr) 90px; }
  .purchase-edit-item .secondary-action { grid-column: 1 / -1; justify-self: start; }
  .dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar-identity small { max-width: 100px; }
  .topbar-identity small { display: none; }
  .admin-identity { grid-template-columns: 1fr; }
  .purchase-queue-summary { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; }
  .purchase-queue-summary::after { grid-column: 2; grid-row: 1; }
  .purchase-queue-summary .priority-chip { grid-column: 1; }
  .purchase-queue-summary > span:not(.priority-chip) { grid-column: 1 / -1; }
  .portal-content { padding: 27px 16px 55px; }
  .portal-topbar { padding: 13px 16px; }
  .topbar-kicker { display: none; }
  .topbar-actions { gap: 10px; }
  .fullscreen-label { display: none; }
  .demo-pill { display: none; }
  .page-heading { display: block; }
  .page-heading .primary-action, .page-heading .status-tag { margin-top: 16px; }
  .summary-grid, .approval-flow, .form-grid { grid-template-columns: 1fr; }
  .summary-card { min-height: 0; }
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .request-kind-row { width: 100%; }
  .item-row { grid-template-columns: minmax(0, 1fr) 85px; gap: 8px; }
  .item-row .unit-field { grid-column: 1; }
  .item-row .remove-item { grid-column: 2; }
  .purchase-edit-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-card { padding: 19px; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .search-row > div:not(.search-result) { flex-direction: column; }
}

@media (max-width: 900px) {
  .queue-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .queue-filter-toolbar { flex-wrap: wrap; }
  .queue-filter-toolbar .queue-filter-count { margin-left: 0; }
}
@media (max-width: 600px) {
  .queue-filter-form { grid-template-columns: 1fr; }
  .queue-filter-footer { align-items: stretch; flex-direction: column; }
  .queue-filter-toolbar .queue-filter-toggle { margin-left: auto; }
}
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }
  .brand-panel { display: none; }
  .login-panel { padding: 24px; background: linear-gradient(180deg, #eef6fa 0, white 35%); }
  .mobile-brand { display: flex; align-items: center; justify-content: center; margin: 8px 0 38px; }
  .mobile-brand .official-logo { width: min(235px, 68vw); }
  .login-card { margin: 0 auto auto; padding: 29px 24px; background: white; border: 1px solid #e1e9ee; border-radius: 16px; box-shadow: 0 18px 45px rgba(26,62,88,.09); }
  .product-icon { margin-bottom: 22px; }
  h2 { font-size: 30px; }
  .legal { margin-top: 28px; }
}

@media (max-width: 420px) {
  .login-panel { padding: 18px 14px; }
  .login-card { padding: 26px 20px; }
  .microsoft-button { font-size: 12px; padding: 0 14px; }
  .toast { left: 14px; right: 14px; bottom: 14px; }
}

/* Corporate login: architectural background with accessible live form. */
.shell { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 100vh; min-height: 100svh; isolation: isolate; overflow: hidden; background: #10243a; }
.login-backdrop { position: absolute; z-index: -1; inset: 0; overflow: hidden; background: url('corporate-login-connected-logistics-v1.webp') center center / cover no-repeat, #10243a; }
.login-side-note { position: absolute; top: 44px; margin: 0; color: #d4dfeb; font-size: 11px; font-weight: 700; line-height: 1.65; letter-spacing: .38em; text-shadow: 0 1px 7px #0c1a31; }
.login-side-note::after { content: ''; display: block; width: 32px; height: 1px; margin-top: 14px; background: #e9a448; }
.login-side-note-left { left: clamp(24px, 4vw, 60px); }
.login-side-note-right { right: 18px; max-width: 120px; font-size: 10px; letter-spacing: .25em; text-align: right; }
.login-side-note-right::after { margin-left: auto; }
.login-panel { position: relative; z-index: 1; display: block; width: min(100%, 440px); min-height: 0; margin: 0 clamp(26px, 10vw, 154px) 0 24px; padding: 0; background: transparent; }
.login-card { width: 100%; max-width: none; margin: 0; padding: clamp(30px, 3.2vw, 45px) clamp(28px, 3.1vw, 46px) 29px; border: 1px solid #abc4d05e; border-radius: 23px; background: linear-gradient(160deg, #071b30f2, #0b1c2ce8 63%, #34291ee8); box-shadow: 0 28px 80px #061121a8, inset 0 1px #ffffff1f; color: #fff; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.login-logo { display: block; width: min(248px, 100%); height: auto; padding: 8px 10px; border-radius: 5px; background: #fff; }
.login-card-rule { display: block; width: 34px; height: 2px; margin: 25px 0 14px; background: #df3b42; }
.login-card .kicker { margin-bottom: 12px; color: #fff; font-size: 10px; letter-spacing: .31em; }
.login-card h1 { margin: 23px 0 0; color: #fff; font-size: clamp(29px, 2.5vw, 39px); line-height: 1.13; letter-spacing: -.04em; font-weight: 700; text-shadow: 0 2px 9px #061727; }
.login-card h1 span { color: #f5af61; }
.login-card .intro { margin: 17px 0 26px; color: #d2dae5; font-size: 13px; line-height: 1.55; }
.login-card .auth-form { gap: 15px; }
.login-card .auth-form > div { gap: 7px; }
.login-card .auth-form label { color: #f0f3f7; font-size: 12px; font-weight: 600; }
.login-input-wrap { display: flex; align-items: center; gap: 9px; min-height: 49px; padding: 0 13px; border: 1px solid #ffffff25; border-radius: 7px; background: #374655; }
.login-input-wrap:focus-within { border-color: #ffbf75; box-shadow: 0 0 0 2px #f5af6138; }
.login-input-wrap > svg { flex: none; width: 18px; height: 18px; fill: none; stroke: #e7eef7; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#authForm .login-input-wrap input { min-width: 0; min-height: 47px; padding: 0; border: 0; outline: 0; background: transparent; color: #fff; box-shadow: none; }
#authForm .login-input-wrap input::placeholder { color: #b5c0ce; opacity: 1; }
#authForm .login-input-wrap input:-webkit-autofill, #authForm .login-input-wrap input:-webkit-autofill:hover, #authForm .login-input-wrap input:-webkit-autofill:focus { -webkit-text-fill-color: #fff; caret-color: #fff; border-radius: 0; -webkit-box-shadow: 0 0 0 1000px #374655 inset; box-shadow: 0 0 0 1000px #374655 inset; transition: background-color 9999s ease-out 0s; }
.login-password-toggle { display: grid; place-items: center; flex: none; width: 32px; height: 32px; margin-right: -5px; padding: 5px; border: 0; border-radius: 5px; background: transparent; color: #d5deea; cursor: pointer; }
.login-password-toggle:hover, .login-password-toggle:focus-visible { background: #ffffff20; color: white; }
.login-password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.login-card .microsoft-button { min-height: 49px; margin-top: 6px; border-radius: 7px; background: linear-gradient(95deg, #c9272e, #e12f37); box-shadow: 0 10px 23px #0b0e1b55; font-size: 14px; font-weight: 800; }
.login-card .microsoft-button:not(#authSubmit) { display: flex; align-items: center; justify-content: center; text-align: center; white-space: nowrap; }
.login-card .microsoft-button:hover { background: linear-gradient(95deg, #ac2028, #c9272e); }
.password-recovery-trigger { justify-self: center; margin: -2px 0 0; padding: 4px 8px; border: 0; background: transparent; color: #b7e1ff; font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.password-recovery-trigger:hover, .password-recovery-trigger:focus-visible { color: #fff; }
.password-recovery-trigger:focus-visible { outline: 2px solid #b7e1ff; outline-offset: 3px; border-radius: 4px; }
.password-recovery-dialog { width: min(520px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 1px solid #b8cedb; border-radius: 16px; background: #fff; color: #17354b; box-shadow: 0 24px 80px #06112199; }
.password-recovery-dialog::backdrop { background: #07182bc7; backdrop-filter: blur(4px); }
.password-recovery-dialog form { display: grid; gap: 16px; padding: 28px; }
.password-recovery-dialog .kicker { margin: 0; color: #a96308; font-size: 11px; letter-spacing: .18em; }
.password-recovery-dialog h2, .password-recovery-dialog p { margin: 0; }
.password-recovery-dialog p { line-height: 1.5; }
.password-recovery-dialog label { display: grid; gap: 7px; font-weight: 700; }
.password-recovery-dialog label small { color: #647d8e; font-weight: 400; }
.password-recovery-dialog input { min-height: 46px; padding: 10px 12px; border: 1px solid #b8cedb; border-radius: 7px; font: inherit; }
.password-recovery-dialog input:focus { outline: 3px solid #d8effa; border-color: #1675ba; }
.password-recovery-warning { padding: 12px 14px; border-left: 4px solid #c97a16; border-radius: 6px; background: #fff5e7; }
.password-recovery-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.password-recovery-actions .primary-action, .password-recovery-actions .secondary-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: none; }
.user-login-locked { margin: 8px 0; padding: 10px 12px; border-left: 4px solid #b7272d; border-radius: 5px; background: #fff0f0; color: #7b1d22; font-weight: 700; line-height: 1.4; }
@media (max-width: 520px) { .password-recovery-dialog form { padding: 22px 18px; } .password-recovery-actions > * { width: 100%; } }
.login-preview-access { position: absolute; top: calc(100% + 6px); left: 0; width: 100%; text-align: center; }
.login-preview-access .demo-button { width: auto; padding: 7px 13px; border-color: #ffffff33; border-radius: 20px; background: #07192eb3; color: #e7eef9; font-size: 10px; }
.login-preview-access .demo-button:hover { background: #142f4eea; }
.public-entry-hub { margin-top: 15px; padding-top: 12px; border-top: 1px solid #ffffff22; }
.public-entry-title { margin: 0 0 8px; color: #dbe5ef; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.public-entry-menu { display: grid; gap: 6px; }
.public-entry-group { position: relative; }
.public-entry-group > summary, .public-entry-direct { display: grid; grid-template-columns: 18px minmax(0,1fr) 14px; align-items: center; gap: 9px; min-height: 36px; padding: 7px 9px; border: 1px solid #a9bdd14d; border-radius: 6px; background: #07182a99; color: #eef4fa; font-size: 11px; font-weight: 650; line-height: 1.25; text-decoration: none; cursor: pointer; list-style: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.public-entry-group > summary::-webkit-details-marker { display: none; }
.public-entry-group > summary:hover, .public-entry-group > summary:focus-visible, .public-entry-group[open] > summary, .public-entry-direct:hover, .public-entry-direct:focus-visible { border-color: #f5af61b8; background: #112b43e8; outline: none; }
.public-entry-group > summary:active, .public-entry-direct:active { transform: translateY(1px); }
.public-entry-group svg, .public-entry-direct svg, .public-entry-popover svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.public-entry-chevron { justify-self: end; color: #dbe5ef; font-size: 20px; font-weight: 400; line-height: 1; transition: transform .16s ease; }
.public-entry-group[open] > summary .public-entry-chevron { transform: rotate(90deg); }
.public-entry-popover { position: absolute; z-index: 20; top: 0; right: calc(100% + 11px); display: grid; width: 245px; padding: 7px; border: 1px solid #c5d5e2; border-radius: 9px; background: #f8fbfd; box-shadow: 0 18px 45px #06112173; color: #18364d; }
.public-entry-popover a { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 9px; min-height: 52px; padding: 7px 8px; border-radius: 6px; color: #18364d; text-decoration: none; }
.public-entry-popover a:hover, .public-entry-popover a:focus-visible { background: #e7f0f6; outline: none; }
.public-entry-popover a > svg { justify-self: center; }
.public-entry-popover a span { display: grid; gap: 2px; min-width: 0; }
.public-entry-popover strong { font-size: 12px; }
.public-entry-popover small { color: #637b8c; font-size: 9px; }
.public-entry-popover p { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 3px 3px 0; padding-top: 7px; border-top: 1px solid #dce6ed; color: #667d8e; font-size: 9px; }
.public-entry-popover p svg { width: 13px; height: 13px; }
@media (max-width: 1050px) { .public-entry-popover { right: 0; top: calc(100% + 6px); } }
@media (max-width: 750px) { .public-entry-popover { position: relative; top: auto; right: auto; width: 100%; margin-top: 5px; } }
.login-card .legal { margin: 12px 0 0; color: #aab8c6; font-size: 10px; }
.login-card .auth-message { background: #411e24; color: #fff2ed; }
.login-card #setupFields input, .login-card #inviteAcceptForm input { border-color: #ffffff4a; background: #ffffff20; color: #fff; }
.login-card #setupFields input::placeholder { color: #c6d0db; }
@media (max-width: 1050px) {
  .portal-topbar, .topbar-actions { flex-wrap: wrap; }
  .topbar-actions { justify-content: flex-end; }
  .supplier-portal-actions { width: 100%; }
}
@media (max-width: 620px) {
  .corporate-fullscreen { display: inline-flex; }
  .corporate-identity, .topbar-identity, .supplier-portal-identity, .controller-identity { max-width: min(250px, 55vw); }
  .topbar-identity small { display: block; max-width: none; }
  .topbar-identity strong { max-width: none; }
  .topbar-actions { justify-content: flex-start; width: 100%; }
  .supplier-portal-actions .supplier-portal-stage { display: none; }
}
.supplier-portal-main :is(section, .content-card) { scroll-margin-top: 125px; }
:is(.corporate-identity, .controller-identity, .supplier-portal-identity, .topbar-identity) .person-name-line strong { overflow: visible; max-width: none; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 1450px) { .login-side-note-right { display: none; } }
@media (max-width: 1050px) { .login-panel { margin-right: clamp(22px, 5vw, 70px); } }
@media (max-width: 750px) { .shell { justify-content: center; padding: 25px 18px 60px; } .login-backdrop { background: linear-gradient(#071b3088, #071b30bb), url('corporate-login-connected-logistics-v1.webp') 39% center / cover no-repeat; } .login-side-note { display: none; } .login-panel { width: min(100%, 440px); margin: 0; } }
@media (max-width: 420px) { .shell { padding: 16px 12px; } .login-panel { padding: 0; } .login-card { padding: 27px 23px; border-radius: 16px; } .login-card h1 { font-size: 30px; } .login-card .microsoft-button { font-size: 12px; } }
@media (min-width: 751px) and (max-height: 820px) {
  .login-card { padding: 18px 38px 16px; }
  .login-logo { width: min(210px, 100%); }
  .login-card-rule { margin: 12px 0 8px; }
  .login-card .kicker { margin-bottom: 7px; }
  .login-card h1 { margin-top: 18px; font-size: clamp(27px, 2.25vw, 34px); }
  .login-card .intro { margin: 10px 0 14px; }
  .login-card .auth-form { gap: 10px; }
  .login-input-wrap, .login-card .microsoft-button { min-height: 46px; }
  #authForm .login-input-wrap input { min-height: 44px; }
  .login-card .legal { margin-top: 8px; }
  .public-entry-hub { margin-top: 9px; padding-top: 8px; }
  .public-entry-menu { gap: 4px; }
  .public-entry-group > summary, .public-entry-direct { min-height: 32px; padding: 5px 8px; }
}
@media (prefers-reduced-motion: reduce) { .shell *, .shell *::before, .shell *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.guide-denied { display: none !important; }
#view-users.supplies-settings-limited > :not(#suppliesLimitedSettings) { display: none !important; }
.reorderable-guide-nav > button[draggable="true"] { cursor: grab; }
.reorderable-guide-nav > button.guide-dragging { opacity: .55; cursor: grabbing; outline: 2px dashed currentColor; outline-offset: -2px; }
.reorderable-guide-nav .director-sector-heading { display: none; }
.guide-order-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.supplier-quotation-card { border: 1px solid #d9c9eb; border-top: 4px solid #7844af; border-radius: 14px; background: #fff; box-shadow: 0 12px 30px #35204d14; }
.supplier-quotation-card > h3 { margin-bottom: 8px; color: #392052; font-size: clamp(18px, 1.6vw, 23px); }
.supplier-quotation-card > .form-hint { margin: 0 0 20px; color: #68567b; }
.supplier-buyer-whatsapp { display: inline-flex; align-items: center; width: fit-content; min-height: 40px; margin: 0 0 18px; padding: 8px 12px; border: 1px solid #28a86a; border-radius: 7px; background: #eaf8f0; color: #126c40; font-size: 12px; font-weight: 800; text-decoration: none; }
.supplier-buyer-whatsapp:hover, .supplier-buyer-whatsapp:focus-visible { border-color: #177a49; background: #d6f1e2; color: #0e5833; outline-offset: 2px; }
.supplier-quote-form { gap: 14px; }
.supplier-quote-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(125px, .8fr) repeat(2, minmax(145px, 1fr)); align-items: end; gap: 12px 18px; min-width: 0; padding: 17px 19px; border: 1px solid #e4d9ef; border-radius: 11px; background: linear-gradient(125deg, #fbf9fe, #f5effb); }
.supplier-quote-row > strong { align-self: center; color: #392052; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.supplier-quote-requested { display: grid; gap: 7px; padding: 9px 12px; border: 1px solid #ded1eb; border-radius: 7px; background: #fff; color: #574369; font-size: 12px; }
.supplier-quote-requested strong { color: #301d46; font-size: 14px; font-variant-numeric: tabular-nums; }
.supplier-quote-row > label { display: grid; gap: 7px; min-width: 0; color: #574369; font-size: 12px; font-weight: 750; }
.supplier-quote-row input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 43px; padding: 9px 12px; border: 1px solid #cbb8dd; border-radius: 7px; background: #fff; color: #301d46; font: inherit; font-size: 14px; font-variant-numeric: tabular-nums; }
.supplier-quote-row input:disabled { background: #eee9f3; color: #5c5267; }
.supplier-quote-row > span { grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid #e5d9ef; color: #65477f; text-align: right; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.supplier-quote-total { display: block; padding: 16px 20px; border-radius: 9px; background: #382151; color: #fff; text-align: right; font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.supplier-request-summary { margin: 0 0 14px; padding: 11px 13px; border: 1px solid #dce8ee; border-radius: 7px; background: #f8fcfe; }
.supplier-request-summary[data-deadline-alert="CRITICAL"] { border-color: #e89a7e; background: #fff8f3; }
.supplier-request-summary[data-deadline-alert="OVERDUE"] { border-color: #202124; }
.supplier-request-summary .request-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.supplier-order-card { border-top: 4px solid #7844af; }
.supplier-order-controls { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; margin: 18px 0; }
.supplier-order-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.supplier-order-tabs [aria-selected="true"] { background: #6d39a3; border-color: #6d39a3; color: #fff; }
.supplier-order-controls > label { display: grid; gap: 4px; min-width: 190px; color: #392052; font-weight: 700; }
.supplier-order-controls > label .field-guidance { font-weight: 400; }
.supplier-order-shell { margin: 12px 0; border: 1px solid #d8c5e9; border-radius: 12px; background: #fff; overflow: clip; }
.supplier-order-shell > summary { display: block; padding: 17px 46px 17px 18px; color: #392052; font-size: 15px; font-weight: 800; cursor: pointer; position: relative; overflow-wrap: anywhere; }
.supplier-order-shell > summary::-webkit-details-marker { display: none; }
.supplier-order-shell > summary::after { content: '⌄'; position: absolute; right: 18px; top: 13px; font-size: 22px; line-height: 1; transition: transform .2s; }
.supplier-order-shell[open] > summary::after { transform: rotate(180deg); }
.supplier-order-shell > .content-card { margin: 0; border: 0; border-top: 1px solid #e9dcf4; border-radius: 0; box-shadow: none; }
.supplier-payment-progress { margin: 16px 0; padding: 15px; border: 1px solid #d9c9eb; border-radius: 10px; background: #f8f3fd; }
.supplier-payment-progress h4 { margin: 0 0 8px; }
.supplier-payment-progress p { margin: 7px 0; }
.supplier-users-config { display: grid; gap: 18px; }
.supplier-users-config > label { display: grid; gap: 5px; max-width: 520px; font-weight: 700; }
.supplier-users-config .supplier-user-editor { display: grid; gap: 12px; min-width: 0; }
.supplier-users-config .supplier-user-editor > label { display: grid; gap: 4px; min-width: 0; }
.supplier-users-config .supplier-user-editor input { width: 100%; }
.supplier-users-config fieldset, .supplier-role-fieldset { display: grid; gap: 8px; min-width: 0; padding: 14px; border: 1px solid #d9c9eb; border-radius: 9px; }
.supplier-users-config fieldset > label, .supplier-role-fieldset > label { display: flex; align-items: center; gap: 7px; font-weight: 500; }
.supplier-users-config fieldset input[type="checkbox"], .supplier-role-fieldset input[type="checkbox"] { width: auto; }
.supplier-users-list { display: grid; gap: 10px; }
.supplier-user-person { margin: 0; }
.supplier-user-person > summary { cursor: pointer; font-weight: 800; color: #392052; }
.supplier-user-person > form { margin-top: 16px; }
.supplier-users-visibility { display: grid; gap: 10px; }
.supplier-users-visibility > label { display: flex; gap: 9px; align-items: center; justify-self: start; font-weight: 500; }
.supplier-users-visibility > label input[type="checkbox"] { box-sizing: border-box; flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #176fae; }
.invitation-resend-panel { margin-top: 10px; padding: 10px 12px; border: 1px solid #cfdfe9; border-radius: 9px; }
.invitation-resend-panel > summary { cursor: pointer; color: #254861; font-weight: 700; }
.invitation-resend-editor { display: grid; gap: 10px; margin-top: 12px; }
.invitation-resend-editor > label { display: grid; gap: 4px; min-width: 0; }
@media (max-width: 640px) { .supplier-order-controls { display: grid; } .supplier-order-controls > label { min-width: 0; } .supplier-order-shell > summary { font-size: 13px; } }
.installment-planner { display: grid; gap: 12px; min-width: 0; padding: 14px 16px 16px; border: 1px solid #d8c5e9; border-radius: 9px; background: #f8f3fd; }
.installment-planner legend { padding: 0 6px; color: #392052; font-size: 13px; font-weight: 800; }
.installment-planner-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 10px 13px; }
.installment-planner-grid label { display: grid; gap: 6px; min-width: 0; color: #574369; font-size: 12px; font-weight: 700; }
.installment-planner-grid label[hidden] { display: none; }
.installment-planner-grid input, .installment-planner-grid select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 43px; padding: 9px 11px; border: 1px solid #cbb8dd; border-radius: 7px; background: #fff; color: #301d46; font: inherit; font-size: 13px; }
.installment-planner-grid input:focus-visible, .installment-planner-grid select:focus-visible { outline: 2px solid #8754b7; outline-offset: 2px; }
.installment-planner > button { justify-self: start; }
.supplier-installment-check { margin: 10px 0 0; padding: 9px 11px; border: 1px solid #e0b7a4; border-radius: 7px; background: #fff3ed; color: #8b3f24; font-size: 12px; font-weight: 700; }
.supplier-installment-check[data-valid="true"] { border-color: #a9d6bd; background: #effaf2; color: #215a3a; }
.supplier-quote-terms { display: grid; gap: 12px; padding: 18px; border: 1px solid #ddcce9; border-radius: 10px; background: #fcf9ff; }
.supplier-quote-terms h4, .supplier-quote-terms p { margin: 0; }
.supplier-quote-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px 14px; }
.supplier-quote-methods label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e4d9ed; border-radius: 7px; background: #fff; }
.supplier-payment-methods-title { display: grid; gap: 2px; color: #574369; font-size: 13px; }
.supplier-quote-terms > label { max-width: min(100%, 600px); }
.supplier-quote-terms .finance-proof-row { grid-template-columns: minmax(200px, .7fr) minmax(220px, 1fr); max-width: 760px; }
.supplier-quote-upload > label { display: grid; gap: 4px; flex-basis: 100%; max-width: 520px; color: #574369; font-size: 13px; font-weight: 700; }
.supplier-quote-upload input[type="file"] { width: 100%; padding: 8px; border: 1px solid #cbb8dd; border-radius: 7px; background: #fff; color: #392052; font: inherit; }
.supplier-quote-upload input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 10px; border: 1px solid #b492d2; border-radius: 6px; background: #f1e9f9; color: #442264; font: inherit; font-weight: 700; cursor: pointer; }
.supplier-quote-actions, .supplier-quote-upload { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.supplier-quote-upload .form-hint, .supplier-quote-upload [role="status"] { flex-basis: 100%; margin: 0; }
.supplier-quote-actions[hidden] { display: none; }
.supplier-quote-submit-feedback { display: block; margin: 12px 0 0; padding: 12px 14px; border: 1px solid transparent; border-radius: 10px; font-weight: 700; line-height: 1.45; }
.supplier-quote-submit-feedback:empty { display: none; }
.supplier-quote-submit-feedback[data-state="success"] { color: #0b5130; background: #e8f7ee; border-color: #73bd91; }
.supplier-quote-submit-feedback[data-state="error"] { color: #7b1b24; background: #fff0f1; border-color: #dc6a74; }
.portal-shell .supplier-quote-submit-feedback[data-state="success"] { color: #d8ffea; background: rgba(16, 112, 64, .26); border-color: rgba(106, 219, 150, .72); }
.portal-shell .supplier-quote-submit-feedback[data-state="error"] { color: #ffe4e7; background: rgba(144, 31, 44, .28); border-color: rgba(255, 102, 115, .76); }
.supplier-order-stage { padding: 12px 14px; border-left: 3px solid #b47d49; border-radius: 4px; background: #f8f2e9; color: #4b3220; font-weight: 700; }
.quotation-response-card { margin-top: 12px; }
.quotation-table-scroll { max-width: 100%; margin: 12px 0; overflow-x: auto; border: 1px solid #dfd5e8; border-radius: 9px; background: #fff; }
.quotation-table-scroll:focus-visible { outline: 2px solid #7951a7; outline-offset: 2px; }
.quotation-response-table { width: 100%; min-width: 790px; border-collapse: collapse; color: #30233d; font-size: 13px; }
.quotation-response-table caption { padding: 12px 14px 6px; text-align: left; color: #3d2651; font-weight: 800; }
.quotation-response-table thead { background: #f2ebf8; }
.quotation-response-table thead th { padding: 11px 12px; color: #4a3261; font-size: 11px; font-weight: 800; text-align: right; vertical-align: bottom; }
.quotation-response-table thead th:first-child, .quotation-response-table thead th:nth-child(2) { text-align: left; }
.quotation-response-table tbody tr { border-top: 1px solid #e9e0ef; }
.quotation-response-table tbody tr:nth-child(even) { background: #fcfaff; }
.quotation-response-table tbody th, .quotation-response-table tbody td { padding: 12px; vertical-align: middle; }
.quotation-response-table tbody th { min-width: 220px; color: #302044; font-weight: 700; text-align: left; overflow-wrap: anywhere; }
.quotation-response-table tbody td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.quotation-response-table tbody td:nth-child(2) { text-align: left; }
.quotation-response-table tbody td:last-child { color: #452360; font-weight: 800; }
.quotation-quantity-warning { display: block; width: fit-content; margin-top: 5px; padding: 3px 7px; border-radius: 99px; background: #fff0df; color: #874b1a; font-size: 10px; font-weight: 800; }
.quotation-response-table tfoot { border-top: 2px solid #c9b5da; background: #f3ecf9; }
.quotation-response-table tfoot th, .quotation-response-table tfoot td { padding: 12px; color: #392052; font-weight: 900; text-align: right; font-variant-numeric: tabular-nums; }
.quotation-table-explanation { margin: 0; padding: 9px 12px; border-top: 1px solid #e9e0ef; color: #654e75; font-size: 11px; line-height: 1.45; }
@media (max-width: 700px) {
  .quotation-table-scroll { overflow-x: visible; }
  .quotation-response-table { display: block; min-width: 0; }
  .quotation-response-table caption { display: block; box-sizing: border-box; width: 100%; }
  .quotation-response-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .quotation-response-table tbody { display: block; }
  .quotation-response-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 10px 12px; gap: 7px 12px; }
  .quotation-response-table tbody th { grid-column: 1 / -1; min-width: 0; padding: 3px 2px 8px; }
  .quotation-response-table tbody td { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 8px 9px; border: 1px solid #e8ddef; border-radius: 6px; background: #fff; text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .quotation-response-table tbody td::before { content: attr(data-label); color: #705b80; font-size: 10px; font-weight: 700; }
  .quotation-response-table tbody td:nth-child(2) { text-align: left; }
  .quotation-response-table tbody td:last-child { grid-column: 1 / -1; background: #f7f0fc; }
  .quotation-response-table tfoot, .quotation-response-table tfoot tr { display: block; }
  .quotation-response-table tfoot tr { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .quotation-response-table tfoot th, .quotation-response-table tfoot td { padding: 11px 12px; text-align: left; }
  .quotation-response-table tfoot td { text-align: right; white-space: nowrap; }
}
.quotation-offered-terms { margin: 14px 0; padding: 12px 16px; border: 1px solid #cfdeea; border-radius: 8px; background: #f7fbfe; color: #24445c; }
.quotation-offered-terms p { margin: 4px 0; }
.quotation-offered-terms ul { margin: 7px 0 0; padding-left: 19px; }
.quotation-buyer-payment { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin: 10px 0; padding: 14px; border: 1px solid #d6e6ef; border-radius: 8px; background: #fff; }
.quotation-buyer-payment h5, .quotation-buyer-payment > p, .quotation-payment-preview { grid-column: 1 / -1; margin: 0; }
.quotation-buyer-payment h5 { color: #153f59; font-size: 14px; }
.quotation-buyer-payment label { display: grid; gap: 5px; min-width: 0; color: #24445c; font-weight: 700; }
.quotation-buyer-payment select, .quotation-buyer-payment input { width: 100%; min-width: 0; min-height: 42px; }
.quotation-payment-offered { grid-column: 1 / -1; padding: 10px 12px; border: 1px solid #dce8ee; border-radius: 7px; background: #f8fbfd; color: #24445c; font-size: 12px; }
.quotation-payment-offered p { margin: 5px 0; }
.quotation-payment-offered ol { display: flex; flex-wrap: wrap; gap: 5px 22px; margin: 6px 0 0; padding-left: 20px; }
.quotation-buyer-dates { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.quotation-payment-preview { padding: 10px 12px; border-radius: 7px; background: #f4f9fc; font-size: 12px; }
.quotation-payment-preview ol, .quotation-award-review-supplier ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 6px 18px; margin: 8px 0 0; padding-left: 20px; }
.quotation-award-facts { padding: 10px 12px; border-radius: 7px; background: #f2f7fa; color: #24445c; }
.quotation-award-lines { display: grid; gap: 5px; margin: 12px 0; }
.quotation-award-lines p { margin: 0; padding: 8px 10px; border: 1px solid #dce8ee; border-radius: 6px; }
.quotation-award-review-supplier { margin: 10px 0; padding: 12px 14px; border: 1px solid #d6e6ef; border-radius: 8px; background: #fbfdff; }
.quotation-award-review-supplier h5, .quotation-award-review-supplier p { margin: 0 0 6px; }
.quotation-term-confirmed, .quotation-term-pending { display: block; margin-top: 8px; font-size: 12px; }
.quotation-term-confirmed { color: #236d3d; }
.quotation-term-pending { color: #9b4d12; }
.quotation-award-grand-total { display: block; margin: 12px 0; padding: 11px 14px; border-radius: 7px; background: #153f59; color: #fff; text-align: right; }
.quotation-award-review-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.purchase-queue-overview { display: grid; gap: 13px; min-width: 0; margin: 9px 18px 0; padding: 16px; border: 1px solid #dbeaf2; border-radius: 8px; background: #fff; }
.buyer-takeover-box { display:grid; gap:12px; min-width:0; margin:14px 18px 4px; padding:18px; border:1px solid #e3b158; border-left:4px solid #c47b13; border-radius:9px; background:#fffaf0; color:#17354b; }
.buyer-takeover-box h4,.buyer-takeover-box p,.buyer-takeover-box blockquote { margin:0; }
.buyer-takeover-box blockquote { padding:10px 12px; border-left:3px solid #d8a13c; background:#fff; color:#3f5666; }
.buyer-takeover-box label { display:grid; gap:6px; font-weight:700; }
.buyer-takeover-box textarea,.buyer-takeover-box input { width:100%; box-sizing:border-box; }
.buyer-takeover-presential { padding:10px 12px; border:1px solid #d6e4ec; border-radius:8px; background:#fff; }
.buyer-takeover-presential summary { cursor:pointer; color:#175b7e; font-weight:800; }
.buyer-takeover-presential[open] { display:grid; gap:10px; }
.purchase-queue-status { display: grid; gap: 3px; padding: 11px 13px; border-left: 4px solid #0879bd; border-radius: 5px; background: #edf7fc; color: #214d68; }
.purchase-queue-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
.purchase-queue-facts > div { display: grid; gap: 2px; min-width: 0; }
.purchase-queue-facts small { color: #607586; }
.purchase-queue-facts strong { overflow-wrap: anywhere; color: #153f59; }
.purchase-queue-overview > h4 { margin: 4px 0 0; }
.purchase-queue-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.purchase-queue-flow > section { min-width: 0; padding: 10px; border: 1px solid #dbeaf2; border-radius: 7px; background: #f9fcfe; }
.purchase-queue-flow h5 { margin: 0 0 9px; color: #214d68; }
.purchase-queue-flow ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.purchase-queue-flow li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto 22px; align-items: start; gap: 5px; color: #677986; font-size: 11px; }
.purchase-queue-flow li small { white-space: nowrap; font-size: 10px; }
.purchase-queue-step-number { display: grid; place-items: center; min-width: 21px; height: 21px; border: 1px solid currentColor; border-radius: 999px; background: #fff; font-size: 10px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.purchase-queue-flow li.is-done { color: #236d3d; }
.purchase-queue-flow li.is-current { color: #105981; font-weight: 800; }
.purchase-queue-document-links .request-report-actions { margin: 0; }
.purchase-queue-document-links .form-hint { margin-bottom: 0; }
@media (max-width: 900px) { .purchase-queue-flow { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .quotation-buyer-payment, .quotation-buyer-dates, .purchase-queue-facts { grid-template-columns: 1fr; } .purchase-queue-overview { margin-inline: 8px; padding: 12px; } .purchase-queue-flow li { grid-template-columns: 16px minmax(0, 1fr) 22px; } .purchase-queue-flow li small { grid-column: 2; } .purchase-queue-step-number { grid-column: 3; grid-row: 1; } }
.quotation-payment-choices { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid #cfdeea; border-radius: 8px; }
.quotation-payment-choices legend { padding: 0 5px; color: #28465d; font-weight: 800; }
.quotation-payment-choices label { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid #cfdeea; border-radius: 7px; background: #f7fbfe; cursor: pointer; }
.quotation-payment-choices label:has(input:checked) { border-color: #247aaf; background: #e8f4fc; }
.quotation-transfer-bank { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 14px 0; padding: 15px; border: 1px solid #d5c9e7; border-radius: 9px; background: #fbf8ff; }
.quotation-transfer-bank legend { padding: 0 6px; color: #55337c; font-weight: 800; }
.quotation-transfer-bank label { display: grid; gap: 5px; min-width: 0; }
.quotation-transfer-bank input { box-sizing: border-box; width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #cdbfdb; border-radius: 6px; }
.quotation-transfer-bank input[readonly] { background: #f0edf4; }
.quotation-transfer-bank[hidden] { display: none; }
@media (max-width: 650px) { .quotation-transfer-bank { grid-template-columns: 1fr; } }
.quotation-return-area { display: grid; grid-template-columns: minmax(190px, max-content) minmax(280px, 1fr); align-items: center; gap: clamp(22px, 4vw, 52px); margin-top: 18px; padding-top: 18px; border-top: 1px solid #d9e5ed; }
.quotation-return-action { display: flex; align-items: center; min-width: 0; }
.quotation-return-action .secondary-action { margin: 0; min-height: 44px; white-space: normal; text-align: center; }
.quotation-return-reason { display: grid; gap: 8px; min-width: 0; }
.quotation-return-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; }
.quotation-return-heading label { color: #28465d; font-size: 13px; font-weight: 800; }
.quotation-return-heading .secondary-action { margin: 0; padding: 7px 10px; white-space: nowrap; }
.quotation-return-reason textarea { box-sizing: border-box; width: 100%; min-height: 92px; padding: 11px 12px; border: 1px solid #b7ccda; border-radius: 8px; background: #fbfdff; color: #17354b; font: inherit; line-height: 1.45; resize: vertical; }
.quotation-return-reason textarea:focus-visible { outline: 2px solid #9dcae3; border-color: #247aaf; }
.quotation-return-reason .field-help, .quotation-return-reason .form-hint { margin: 0; font-size: 11px; line-height: 1.45; }
@media (max-width: 700px) { .quotation-return-area { grid-template-columns: 1fr; gap: 15px; } }
.quotation-selection-form { display: grid; gap: 14px; }
.quotation-supplier-slot { display: grid; gap: 12px; min-width: 0; padding: 17px 18px; border: 1px solid #cfdeea; border-left: 4px solid #1979ae; border-radius: 10px; background: #fbfdff; box-shadow: 0 2px 10px #173c6010; }
.quotation-slot-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #173a55; }
.quotation-slot-heading strong { font-size: 15px; }
.quotation-slot-heading span { padding: 4px 9px; border-radius: 20px; background: #e8f3fa; color: #28627f; font-size: 11px; font-weight: 800; }
.quotation-supplier-search { position: relative; width: min(100%, 650px); min-width: 0; }
.quotation-supplier-search:focus-within { z-index: 31; }
.quotation-supplier-search label { display: grid; gap: 6px; margin: 0; }
.quotation-supplier-suggestions { max-height: 280px; }
.quotation-supplier-suggestions .catalog-option { font: inherit; font-size: 13px; line-height: 1.4; }
.quotation-supplier-suggestions .catalog-option:focus-visible { outline: 2px solid #1979ae; outline-offset: -2px; background: #eaf5fb; }
.quotation-supplier-slot input[type="search"] { width: 100%; min-height: 42px; }
.quotation-missing-choice { display: inline-flex; align-items: center; gap: 9px; width: fit-content; padding: 8px 11px; border: 1px solid #d2dfe8; border-radius: 6px; background: #f3f8fb; color: #244762; font-weight: 700; }
.quotation-missing-choice input { width: 17px; height: 17px; margin: 0; accent-color: #126eaa; }
.quotation-supplier-preview { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px; border: 1px solid #d8e7ee; border-radius: 8px; background: #f0f7fb; }
.quotation-supplier-preview[hidden] { display: none; }
.quotation-supplier-logo { display: grid; place-items: center; width: 64px; height: 54px; flex: 0 0 auto; object-fit: contain; border: 1px solid #d4e1eb; border-radius: 6px; background: white; color: #12577c; font-weight: 900; }
.quotation-seller-avatar { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; object-fit: cover; border-radius: 50%; background: #cbdfe9; color: #184666; font-weight: 800; }
.quotation-supplier-details { display: grid; gap: 2px; flex: 1 1 160px; font-size: 12px; }
.quotation-supplier-details strong { font-size: 14px; color: #173a55; }
.quotation-whatsapp { display: inline-flex; align-items: center; margin: 0; text-decoration: none; }
.supplier-own-visuals { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 14px; margin-top: 18px; }
.supplier-visual-form { padding: 15px; border: 1px solid #dbcbea; border-radius: 9px; background: #fcf9ff; }
.supplier-visual-form .primary-action, .supplier-visual-form .secondary-action { justify-self: start; margin-top: 8px; }
.timeline-group-heading { grid-column: 1 / -1; margin: 10px 0 0; padding: 9px 0 5px; border-bottom: 1px solid #cddce5; color: #254864; font-size: 13px; }
@media (max-width: 700px) { .supplier-quote-row { grid-template-columns: repeat(2,minmax(0,1fr)); } .supplier-quote-row > strong { grid-column: 1 / -1; } }
@media (max-width: 700px) { .supplier-quote-terms .finance-proof-row { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 430px) { .supplier-quote-row { grid-template-columns: 1fr; padding: 15px; } .supplier-quote-row > label, .supplier-quote-requested { grid-column: 1 / -1; } .supplier-quote-row > span { text-align: left; } .supplier-quote-total { text-align: left; } }
.hr-panel-content{display:grid;gap:14px;padding:18px 0}.hr-list{display:grid;gap:10px}.hr-record,.hr-task{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d8e1e9;border-radius:9px;background:#fff;padding:14px}.hr-record strong,.hr-record span,.hr-task strong,.hr-task span{display:block}.hr-record span,.hr-task span{color:#586b79;font-size:12px;margin-top:5px}.hr-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.hr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.hr-kpi{background:#fff;border:1px solid #d8e1e9;border-radius:9px;padding:15px}.hr-kpi strong{display:block;font-size:23px}.hr-kpi span{font-size:12px;color:#586b79}.hr-details{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:7px 18px;background:#fff;border:1px solid #d8e1e9;border-radius:9px;padding:16px}.hr-details dt{font-weight:700}.hr-details dd{margin:0;overflow-wrap:anywhere}.hr-history,.hr-tasks,.hr-attachments{background:#fff;border:1px solid #d8e1e9;border-radius:9px;padding:16px}.hr-history p{border-bottom:1px solid #e5edf2;padding:6px 0}.hr-editor-dialog{border:0;border-radius:12px;box-shadow:0 18px 60px #11253c77;width:min(760px,calc(100vw - 24px));max-height:90vh;padding:0}.hr-editor-dialog::backdrop{background:#11253c99}.hr-dialog-shell{padding:22px}.hr-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.hr-dialog-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;max-height:62vh;overflow:auto;padding:8px}.hr-dialog-body label,.hr-admin-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.hr-dialog-body input,.hr-dialog-body select,.hr-dialog-body textarea,.hr-admin-form input,.hr-admin-form select,.hr-admin-form textarea{width:100%;border:1px solid #bdcbd7;border-radius:6px;padding:9px;font:inherit}.hr-dialog-body textarea{min-height:80px}.hr-dialog-actions{display:flex;align-items:center;gap:12px;padding-top:13px}.hr-dialog-message{color:#b4232a}.hr-admin-form,.hr-acl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.hr-acl-editor{border-top:1px solid #dce5ed;padding-top:16px;margin-top:16px}.hr-acl-grid fieldset{border:1px solid #dce5ed;border-radius:8px;padding:12px}.hr-acl-grid fieldset label{display:flex;align-items:center;gap:7px;font-size:12px;margin:4px 0}.hr-acl-grid .hr-scope,.hr-acl-grid .hr-scope-value{width:100%;margin:4px 0;padding:7px;border:1px solid #bdcbd7;border-radius:5px}@media(max-width:700px){.hr-record,.hr-task{align-items:flex-start;flex-direction:column}.hr-dialog-body{grid-template-columns:1fr}.hr-details{grid-template-columns:1fr}}
.hr-resume-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hr-resume-title h2{margin:0 0 4px}.hr-resume-state{flex:none;border-radius:999px;background:#fbe7c4;color:#75480a;font-size:11px;font-weight:700;padding:7px 10px}.hr-resume-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:10px;margin:14px 0}.hr-resume-filters input,.hr-resume-filters select{width:100%;min-height:42px;border:1px solid #bdcbd7;border-radius:7px;background:#fff;padding:9px 11px;font:inherit}.hr-resume-record{border-left:3px solid #d08b26}.hr-resume-file{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5edf2;padding:10px 0}.hr-resume-file a{font-weight:700;color:#155f91}.hr-resume-file span{color:#586b79;font-size:12px}.hr-careers-policy{grid-column:1/-1;border:1px solid #d8e1e9;border-radius:8px;padding:12px}.hr-careers-policy summary{cursor:pointer;font-weight:700}.hr-careers-policy h3{font-size:14px;margin:14px 0 4px}.hr-careers-policy p{font-size:12px;line-height:1.55;margin:0}@media(max-width:700px){.hr-resume-heading,.hr-resume-file{align-items:flex-start;flex-direction:column}.hr-resume-filters{grid-template-columns:1fr}}
.workforce-kpis{margin-block:18px;padding:20px}
.workforce-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.workforce-filter{display:flex;flex-direction:column;gap:5px;font-size:.84rem;font-weight:600;color:#24445c}
.workforce-filter input,.workforce-filter select{min-width:0;width:100%;min-height:36px;box-sizing:border-box;padding:6px 9px;border:1px solid #bfd1df;border-radius:6px;background:#fff;color:#183149;font:inherit}
.workforce-warning{padding:10px 12px;border-left:4px solid #bd6620;background:#fff5e8;color:#703e18;border-radius:4px}
.workforce-chart{margin-top:16px;padding:14px;border:1px solid #d5e3ed;border-radius:8px}
.workforce-chart-row{display:grid;grid-template-columns:75px minmax(80px,1fr) 70px;gap:10px;align-items:center;margin-top:9px;font-size:.84rem}
.workforce-chart-track{height:13px;border-radius:20px;background:#e9f0f5;overflow:hidden}
.workforce-chart-fill{height:100%;border-radius:20px;background:#2d6787}
.workforce-meta{margin-top:14px;font-size:.85rem;color:#526a7c}
.workforce-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin-top:12px}
.workforce-access-grid .workforce-filter{flex-direction:row;align-items:center;padding:9px;border:1px solid #d5e3ed;border-radius:6px}
.workforce-access-grid .workforce-filter input{width:auto;min-height:auto;margin-right:8px}

/* Alerta de atenção e caixa de Comunicação */
.portal-nav button,.controller-sidebar nav button,.supplier-portal-nav button{position:relative;padding-right:30px}
.guide-notification-dot{position:absolute;right:11px;top:9px;width:9px;height:9px;border-radius:50%;background:#ed3345;box-shadow:0 0 0 3px #fff4,0 0 8px #ed334577;pointer-events:none}
#corporateCommunicationsButton{position:relative;padding-right:20px;border-radius:4px}
#corporateCommunicationsButton .guide-notification-dot{right:3px;top:4px}
.attention-banner[hidden]{display:none}
.attention-banner{box-sizing:border-box;position:fixed;z-index:10000;top:66px;right:18px;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 90px);overflow:auto;padding:0 24px 14px;border:1px solid #6385a8;border-radius:19px;background:linear-gradient(125deg,#102738f5,#15344ff5);color:#f6f9fe;box-shadow:0 18px 55px #03101fc4,inset 0 1px 0 #bdd6ed33;backdrop-filter:blur(18px);animation:attention-slide .42s cubic-bezier(.2,.8,.2,1) both;scrollbar-color:#6385a8 #102738}
@keyframes attention-slide{from{opacity:0;transform:translateX(110%)}to{opacity:1;transform:translateX(0)}}
.attention-banner.is-leaving{animation:attention-recede .28s ease-in both;pointer-events:none}
@keyframes attention-recede{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(110%)}}
.attention-banner-summary{border-color:#7d9cb7}
.attention-banner-summary-body{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:11px;margin:7px 0 9px}
.attention-banner-illustration{display:block;width:86px;height:86px;object-fit:contain;opacity:0;filter:drop-shadow(0 6px 7px #604b3433)}
.attention-banner-illustration.is-ready{opacity:1;transition:opacity .12s ease-out}
.attention-banner-summary .attention-banner-copy h3{margin:0 0 8px;font-size:22px}
.attention-banner-summary .attention-banner-copy p{margin:0;max-height:none;font-size:14px}
.attention-banner-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0 17px;border-bottom:1px solid #92b4d13b}
.attention-banner-heading strong{display:flex;align-items:center;gap:12px;font-size:21px;letter-spacing:-.02em;color:#f8fbff;line-height:1.25}
.attention-banner-symbol{display:inline-flex;color:#ffb93f;flex:none}
.attention-banner-symbol svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.attention-view-all{flex:none;min-height:40px;border:0;border-radius:7px;padding:5px 0 5px 7px;background:transparent;color:#b9dbff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.attention-banner-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 14px}
.attention-banner-tag{display:inline-block;padding:7px 11px;border:1px solid #dc8f6344;border-radius:8px;background:#743829;color:#ffe1cd;font-size:11px;font-weight:800;letter-spacing:.07em}
.attention-banner-summary .attention-banner-tag{background:#3a4f68;border-color:#8cacca66;color:#e2f0ff}
.attention-banner-meta time{color:#b9d4ee;font-size:12px;white-space:nowrap}
.attention-banner h3{margin:10px 0;font-size:22px;line-height:1.35;color:#fff;overflow-wrap:anywhere}
.attention-banner p{margin:0 0 18px;font-size:15px;line-height:1.6;color:#bed4e9;max-height:170px;overflow:auto;overflow-wrap:anywhere}
.attention-banner-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;padding-top:18px;margin-top:18px;border-top:1px solid #92b4d13b}
.attention-banner-actions button{min-height:48px;width:100%;margin:0;align-self:stretch;padding:11px 15px;border-radius:10px;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.attention-banner-actions .primary-action{border:1px solid #ffd478;background:linear-gradient(135deg,#ffc148,#efa72d);color:#102c43;box-shadow:inset 0 1px 0 #ffe8ad77}
.attention-banner-actions .primary-action:hover{background:#ffd16e}
.attention-banner-actions .secondary-action{border:1px solid #829db9;background:#c5e0ff08;color:#f0f6ff}
.attention-banner-actions .secondary-action:hover{background:#b2d2f321}
.attention-banner-footer{display:flex;justify-content:flex-end;margin-top:9px}
.attention-mute{min-height:34px;border:0;border-radius:6px;padding:5px 0 5px 8px;background:transparent;color:#b9cfdf;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}
.attention-banner button:focus-visible{outline:3px solid #ffd16e;outline-offset:3px}
.attention-view-all:hover,.attention-mute:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.communication-inbox-shell,.communication-dialog.corporate-inbox-dialog,dialog#communicationDialog{--communication-accent:#ff9f1a;--communication-text:#f4f8ff;--communication-muted:#b9cbe0;--communication-line:#47779e;background:radial-gradient(circle at 18% 0,#12385d 0,transparent 42%),linear-gradient(135deg,#031b30 0%,#062640 58%,#101e2e 100%);color:var(--communication-text);border:1px solid #38556d;border-radius:16px;box-shadow:0 22px 70px #020d178f}
.communication-inbox-shell{padding:26px 30px}
.communication-inbox-shell :is(h1,h2,h3),.communication-dialog.corporate-inbox-dialog h2,dialog#communicationDialog h2{color:var(--communication-text)}
.communication-inbox-shell :is(.section-kicker,.controller-welcome>p),.communication-dialog.corporate-inbox-dialog>.section-kicker,dialog#communicationDialog>.section-kicker{color:var(--communication-accent)}
.communication-inbox-shell :is(.form-hint,p,span),.communication-dialog.corporate-inbox-dialog>.form-hint,dialog#communicationDialog :is(.form-hint,.communication-dialog-body){color:var(--communication-muted)}
.communication-inbox-mount{display:grid;gap:11px;margin-top:20px;min-width:0}
.communication-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:3px}
.communication-inbox-toolbar p{margin:0;color:var(--communication-text);font-size:16px}
.communication-clear-box{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid var(--communication-accent)!important;background:#ff9f1a0b!important;color:#ffb143!important;font-weight:800}
.communication-clear-box:hover{background:#ff9f1a1f!important;color:#ffc56b!important}
.communication-clear-box svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.communication-message{display:flex;align-items:center;gap:16px;min-height:84px;border:1px solid #47779e;border-left:8px solid #b9d3ed;border-radius:13px;background:linear-gradient(100deg,#102b46e8,#0d2841cf);padding:13px 18px;box-shadow:inset 0 1px 0 #ffffff0a;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.communication-message:hover{border-color:#6d9dc3;background:linear-gradient(100deg,#153652f2,#102f4bed);transform:translateY(-1px)}
.communication-message.unread{border-color:#794640;border-left-color:#ff443d;background:linear-gradient(100deg,#17293fe8,#35272de8)}
.communication-message-open{display:grid;gap:5px;flex:1;min-width:0;border:0;background:transparent;text-align:left;color:var(--communication-text);cursor:pointer;font:inherit}
.communication-message-open strong{font-size:16px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.communication-message.unread .communication-message-open strong{font-weight:850}
.communication-message-open small{font-size:13px;color:#a8c0d9}
.communication-message-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c2d2e3;font-size:14px}
.communication-message .secondary-action{flex:none;min-width:112px;min-height:46px;border:1px solid #4c8dc1;background:#153a5f;color:#f1f7ff;font-weight:800}
.communication-message .secondary-action:hover{background:#1d4a75;border-color:#72acda}
.communication-message-open:focus-visible,.communication-message .secondary-action:focus-visible,.communication-clear-box:focus-visible{outline:3px solid #ffbd55;outline-offset:3px}
.communication-dialog{width:min(740px,calc(100vw - 24px));max-height:88vh;border:0;border-radius:15px;padding:27px;background:#fff;color:#1e384e;box-shadow:0 22px 70px #13283e88;overflow:auto}
.communication-dialog::backdrop{background:#102538ad}
.communication-dialog-close{position:absolute;right:15px;top:12px;border:0;background:#edf3f6;color:#23455d;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}
.communication-dialog h2{margin:6px 38px 7px 0;font-size:24px;overflow-wrap:anywhere}
.communication-dialog-body{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}
.corporate-inbox-dialog{width:min(1180px,calc(100vw - 24px));padding:30px}
.corporate-inbox-dialog .communication-dialog-close,#communicationDialog .communication-dialog-close{background:#ffffff12;color:#eaf4ff;border:1px solid #ffffff1f}
.corporate-inbox-dialog .communication-dialog-close:hover,#communicationDialog .communication-dialog-close:hover{background:#ffffff24}
#communicationDialog{padding:30px;width:min(760px,calc(100vw - 24px))}
#communicationDialog .primary-action{border:1px solid #ffc86c;background:linear-gradient(135deg,#ffb32c,#ef8d13);color:#10263a;font-weight:850}
#communicationDialog .communication-gallery figure,#communicationDialog .communication-video-section{border-color:#47779e;background:#0a2137}
#communicationDialog .communication-gallery figcaption,#communicationDialog .communication-video-section h3{color:#c6d8e8}
.communication-preview-dialog{width:min(760px,calc(100vw - 24px))}
.communication-preview-banner{margin:18px 0;padding:18px 19px;border:1px solid #e0c6a7;border-left:5px solid #cc4d36;border-radius:14px;background:#fffdf9;box-shadow:0 12px 30px #11263822}
.communication-preview-banner strong{font-size:11px;letter-spacing:.12em;color:#b43f31}
.communication-preview-banner h3{margin:9px 0 6px;font-size:17px}
.communication-preview-banner p{max-height:100px;overflow:auto;color:#536779;font-size:13px;line-height:1.45}
.communication-preview-full{border-top:1px solid #dbe5eb;margin-top:18px;padding-top:15px}
.communication-preview-full[hidden]{display:none}
.communication-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}
.communication-gallery figure{margin:0;padding:8px;border:1px solid #dae5eb;border-radius:9px;background:#f6f9fb}
.communication-gallery img{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:5px}
.communication-gallery figcaption{font-size:11px;color:#536f81;margin-top:5px;overflow-wrap:anywhere}
.communication-video-section{margin:18px 0;padding:14px;border:1px solid #d8e6ee;border-radius:12px;background:#f5f9fc}
.communication-video-section h3{margin:0 0 10px;color:#244158;font-size:15px}
.communication-video-section video,.communication-video-section iframe{display:block;width:100%;aspect-ratio:16/9;max-height:420px;border:0;border-radius:8px;background:#0c1b29}
.communication-video-section a{display:inline-block;margin-top:9px;color:#096a9a;font-size:12px;font-weight:700}
.finance-bi{display:grid;gap:18px;margin-top:20px;color:#233d4d}
.finance-bi-heading h3{margin:0 0 5px;font-size:22px}
.finance-bi-heading p{margin:0;color:#617487;font-size:13px}
.finance-bi-kpis{margin:0}
.finance-bi-summary strong{font-variant-numeric:tabular-nums}
.finance-bi-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.shared-request-bi { margin-top: 22px; }
.shared-request-bi-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.shared-request-bi-bar { display: grid; grid-template-columns: 95px minmax(0, 1fr) 34px; align-items: center; gap: 12px; margin: 12px 0; color: #365569; font-size: 12px; }
.shared-request-bi-bar strong { text-align: right; }
.sector-breakdown-bi { margin-top: 18px; }
.sector-breakdown-row { display: grid; grid-template-columns: 12px minmax(110px, 220px) minmax(80px, 1fr) 42px; align-items: center; gap: 10px; margin: 11px 0; color: #365569; font-size: 12px; }
.sector-breakdown-row i { width: 11px; height: 11px; border-radius: 3px; }
.sector-breakdown-row strong { text-align: right; }
@media (max-width: 850px) { .shared-request-bi-grid { grid-template-columns: 1fr; } }
.finance-bi-chart,.finance-bi-centers,.finance-bi-priorities{min-width:0;padding:20px}
.finance-bi-chart h4,.finance-bi-centers h4,.finance-bi-priorities h4{margin:0 0 16px;font-size:17px}
.finance-bi-columns{display:flex;align-items:end;justify-content:space-around;gap:8px;min-height:200px}
.finance-bi-column{display:flex;align-items:center;flex:1;flex-direction:column;gap:7px;min-width:0;font-size:11px;text-align:center}
.finance-bi-column>span{color:#426173;white-space:nowrap;font-variant-numeric:tabular-nums}
.finance-bi-column-track{height:145px;width:min(100%,50px);border-radius:7px 7px 0 0;background:#e8eff1;display:flex;align-items:end;overflow:hidden}
.finance-bi-column-track>div{width:100%;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#37a79d,#13796f)}
.finance-bi-column small{color:#617487;font-weight:700}
.finance-bi-distribution{display:flex;align-items:center;gap:20px;min-height:200px}
.finance-bi-donut{width:168px;height:168px;flex:none;border-radius:50%;display:grid;place-items:center}
.finance-bi-donut span{width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:800;color:#234251}
.finance-bi-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;min-width:0;flex:1}
.finance-bi-legend li{display:flex;align-items:center;gap:8px;font-size:12px}
.finance-bi-legend i{width:11px;height:11px;flex:none;border-radius:3px}
.finance-bi-legend span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-bi-legend strong{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.finance-bi-center-list{display:grid;gap:12px;max-height:660px;overflow:auto;padding-right:5px}
.finance-bi-center{padding:12px 14px;border:1px solid #dce8eb;border-radius:10px;background:#f9fcfc}
.finance-bi-center-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.finance-bi-center-top span{color:#4c6878;font-variant-numeric:tabular-nums}
.finance-bi-bar-track{height:9px;margin-top:9px;border-radius:99px;background:#e3edf0;overflow:hidden}
.finance-bi-bar-track>div{height:100%;border-radius:99px;background:linear-gradient(90deg,#168c81,#7bc7bc)}
.finance-bi-center .kpi-standard{margin-top:10px}
.finance-bi-priorities ol{margin:0;padding-left:23px;display:grid;gap:8px}
.finance-bi-priorities li{padding-left:4px;line-height:1.5}
.finance-bi-warning{margin:0;padding:12px 15px;border-radius:9px;background:#fff5e5;color:#76531e;font-size:13px}
@media(max-width:850px){.finance-bi-chart-grid{grid-template-columns:1fr}.finance-bi-distribution{flex-wrap:wrap}.finance-bi-legend{width:100%}}
.communications-editor form{display:grid;gap:15px}
.communications-editor form>label{display:grid;gap:6px;font-size:13px;font-weight:700}
.communications-editor input:not([type=radio]):not([type=checkbox]),.communications-editor textarea{width:100%;padding:10px;border:1px solid #b9cedd;border-radius:7px;font:inherit}
.communications-editor input[type=file]::file-selector-button{margin-right:12px;border:1px solid #a9c7d8;border-radius:6px;padding:7px 11px;background:#eef8fd;color:#115579;font:inherit;font-weight:700;cursor:pointer}
.communications-editor form>label small{color:#647789;font-size:11px;font-weight:400;line-height:1.4}
.communications-audience,.communications-targets{border:1px solid #ccdae5;border-radius:8px;padding:12px}
.communications-audience label,.communications-target-grid label,.communications-notify{display:flex!important;align-items:center;gap:8px;margin:6px 0;font-weight:500!important}
.communications-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 14px;max-height:220px;overflow:auto}
.communications-target-grid .communication-target-unavailable{color:#788999;cursor:not-allowed}
.communications-target-grid .communication-target-unavailable input{opacity:.55}
.communications-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.communications-actions [role=status]{font-size:13px;font-weight:700;line-height:1.4}
.communications-actions [data-state=error]{color:#a5222a}
.communications-actions [data-state=success]{color:#176b45}
.communication-history-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 16px;margin:18px 0 12px;padding:18px;border:1px solid #d7e4ec;border-radius:12px;background:#f5f9fc}
.communication-history-filters label{display:grid;align-content:start;gap:6px;min-width:0;color:#29465c;font-size:12px;font-weight:700}
.communication-history-filters .communication-history-search{grid-column:span 2}
.communication-history-filters input,.communication-history-filters select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #afc6d7;border-radius:8px;background:#fff;color:#183149;font:inherit;font-size:13px;outline:none}
.communication-history-filters input:focus-visible,.communication-history-filters select:focus-visible{border-color:#1683b2;box-shadow:0 0 0 3px #1683b226}
.communication-history-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.communication-history-filter-actions button{min-height:42px}
.communication-history-summary{margin:8px 0;color:#597185;font-size:12px;font-weight:700}
.communication-history-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px;color:#435d71;font-size:12px;font-weight:700}
.communication-history-pagination[hidden]{display:none}
.communication-history-pagination button{min-height:38px}
.communication-history-card{border-top:1px solid #dbe5eb;padding:12px 0}
.communication-history-card strong,.communication-history-card small{display:block}
.communication-history-card p{margin:5px 0;white-space:pre-wrap}
.communication-history-card small{color:#647789}
.communication-history-attachments{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:12px;font-size:12px}
.communication-history-attachments span{font-weight:700;color:#28485e}
.communication-history-attachments a{color:#096a9a;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.communication-history-attachments a:hover,.communication-history-attachments a:focus-visible{color:#ba2632}

/* Evidências do suporte: seleção, arrastar/soltar e colar antes do envio atômico. */
.it-attachment-field{display:grid;gap:8px}.it-attachment-field>small{color:#607487;font-size:12px;line-height:1.45}.it-attachment-dropzone{display:flex;align-items:center;justify-content:center;gap:10px;min-height:92px;padding:16px;border:2px dashed #9ab6c9;border-radius:10px;background:#f5f9fc;color:#29475c;text-align:center;transition:border-color .16s,background .16s,box-shadow .16s}.it-attachment-dropzone:hover,.it-attachment-dropzone:focus-visible,.it-attachment-dropzone.is-dragging{border-color:#d1871d;background:#fff8ec;box-shadow:0 0 0 3px rgba(209,135,29,.16);outline:0}.it-attachment-dropzone input[hidden]{display:none}.it-attachment-queue{display:grid;gap:7px;margin:0;padding:0;list-style:none}.it-attachment-queue li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #d6e1e9;border-radius:8px;background:#fff}.it-attachment-queue li>span{display:grid;gap:2px;min-width:0}.it-attachment-queue strong{overflow-wrap:anywhere}.it-attachment-queue small{color:#526b7d}.it-attachment-queue .secondary-action{flex:0 0 auto;margin:0}@media(max-width:640px){.it-attachment-dropzone{align-items:stretch;flex-direction:column}.it-attachment-queue li{align-items:stretch;flex-direction:column}.it-attachment-queue .secondary-action{width:100%}}
.communication-history-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
.communication-history-revoked{display:inline-block!important;margin:10px 0 0!important;padding:8px 10px;border:1px solid #dccbbd;border-radius:8px;background:#fff7ef;color:#784c29;font-size:12px;font-weight:700}
.communication-history-card.is-revoked{background:linear-gradient(90deg,#fffaf5,transparent 40%)}
.communication-revoke-action{border-color:#d58a8a!important;background:#fff2f2!important;color:#9e2329!important}
.communication-revoke-action:hover:not(:disabled){background:#ffe5e5!important}
.communication-revoke-dialog{width:min(520px,calc(100vw - 28px));max-width:520px}
.communication-revoke-dialog form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#233e54}
.communication-revoke-dialog form input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #afc6d7;border-radius:8px;background:#fff;color:#183149;font:inherit}
.communication-revoke-dialog form input:focus-visible{outline:2px solid #1683b2;outline-offset:2px}
.communication-revoke-status{min-height:20px;color:#a5222a;font-size:12px}
.communication-revoke-buttons{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.communication-publish-dialog{width:min(600px,calc(100vw - 28px))}
.communication-publish-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;max-height:220px;overflow:auto;margin:11px 0 14px;padding:12px 12px 12px 29px;border:1px solid #d7e4ed;border-radius:10px;background:#f7fafc;color:#294c63;font-size:13px}
.communication-publish-dialog .communication-revoke-buttons{margin-top:18px}
.portal-terms-dialog{width:min(760px,calc(100vw - 24px));max-height:92vh;border-top:5px solid #c72935}
.portal-terms-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.portal-terms-dialog>p{line-height:1.5}
.portal-terms-scope{margin:0 0 5px;color:#2c536b;font-size:12px}.portal-terms-scope summary{cursor:pointer;font-weight:700}.portal-terms-scope ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;max-height:120px;overflow:auto;margin:7px 0;padding-left:20px}
.portal-terms-draft{padding:10px 13px;border:1px solid #e8c994;border-radius:9px;background:#fff7e7;color:#78501d;font-weight:700;font-size:12px}
.portal-terms-content{flex:1;min-height:110px;overflow:auto;margin:13px 0;padding:16px 19px;border:1px solid #d9e5ec;border-radius:11px;background:#f8fbfc;line-height:1.55}
.portal-terms-content h3{margin:0 0 12px;font-size:17px}.portal-terms-content section+section{border-top:1px solid #e0e9ef;margin-top:12px;padding-top:12px}
.portal-terms-content h4{margin:0 0 5px;color:#183d56;font-size:14px}.portal-terms-content p{margin:0;color:#476172;font-size:13px}
.portal-terms-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #b6ccd8;border-radius:9px;font-weight:700;color:#183d56;cursor:pointer}
.portal-terms-choice input{flex:none;width:19px;height:19px;margin:1px 0 0;accent-color:#bd2d37}
.portal-terms-status{min-height:17px;color:#ae2431;font-size:12px}.portal-terms-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.communication-publish-destinations{grid-template-columns:1fr}.portal-terms-dialog[open]{overflow:auto}.portal-terms-content{flex:none;max-height:33vh}.portal-terms-actions button{width:100%}}
@media(max-width:900px){.communication-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.communication-history-filters{grid-template-columns:minmax(0,1fr);padding:14px}.communication-history-filters .communication-history-search{grid-column:auto}.communication-history-filter-actions>*{flex:1}}
@media(max-width:700px){.attention-banner{top:12px;right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0 17px 10px;border-radius:15px}.attention-banner-heading{gap:8px;padding-block:16px}.attention-banner-heading strong{font-size:18px;gap:8px}.attention-banner-symbol svg{width:26px;height:26px}.attention-view-all{font-size:12px}.attention-banner h3,.attention-banner-summary .attention-banner-copy h3{font-size:19px}.attention-banner-actions{gap:9px}.attention-banner-actions button{font-size:13px;padding:10px}.attention-banner-summary-body{grid-template-columns:60px minmax(0,1fr)}.attention-banner-illustration{width:60px;height:60px}.communication-inbox-shell,.communication-dialog.corporate-inbox-dialog,dialog#communicationDialog{border-radius:12px;padding:19px 15px}.communication-inbox-toolbar{align-items:stretch}.communication-clear-box{width:100%}.communication-message{align-items:stretch;flex-direction:column;min-height:0;padding:14px;border-left-width:6px}.communication-message-open strong{font-size:15px}.communication-message-open span{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.communication-message .secondary-action{align-self:stretch;width:100%}}
@media(prefers-reduced-motion:reduce){.attention-banner,.attention-banner.is-leaving{animation:none}}

/* Novidades de versão publicadas pelo Portal de Marketing e Comunicação. */
.marketing-communication-window-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.marketing-communication-window-button{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:72px;padding:12px 14px;border:1px solid #547891;border-radius:11px;background:#0b2a43;color:#eaf5ff;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.marketing-communication-window-button>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#a76817;color:#fff;font-size:18px}
.marketing-communication-window-button strong{font-size:14px}.marketing-communication-window-button small{color:#a9bfd1;font-size:11px}
.marketing-communication-window-button:hover,.marketing-communication-window-button:focus-visible,.marketing-communication-window-button.active{border-color:#ffad22;background:#123b5a;transform:translateY(-1px);outline:0}
.release-news-management{border:1px solid #315976!important;background:radial-gradient(circle at 85% 0,#173d5e 0,transparent 38%),linear-gradient(135deg,#071c2d,#0a2b45)!important;color:#eef7ff!important}
.release-news-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.release-news-heading h2{margin:4px 0 7px;color:#fff}.release-news-heading .form-hint{color:#afc5d7}.release-news-empty{padding:18px;border:1px dashed #55758d;border-radius:11px;color:#b8cbda;text-align:center}
.release-news-version{overflow:hidden;margin:0 0 18px;border:1px solid #3b5d73;border-radius:15px;background:#111b22;color:#f5fbff;box-shadow:0 12px 28px #0003}
.release-news-version-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 22px 13px;background:#1c272d}.release-news-version-header h3{margin:0 0 5px;color:#fff;font-size:22px}.release-news-version-header p{margin:0;color:#bed0dc;font-size:12px}.release-news-version-number{color:#eef7ff;font-size:18px;font-weight:700;white-space:nowrap}
.release-news-portals{margin:0;padding:0 22px 16px;background:#1c272d;color:#9fb5c5;font-size:12px;line-height:1.45}
.release-news-list{display:grid;gap:12px;padding:0 12px 14px}.release-news-item{overflow:hidden;border:1px solid #26343d;border-radius:13px;background:#151f25}.release-news-item summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-height:64px;padding:11px 16px;cursor:pointer;list-style:none}.release-news-item summary::-webkit-details-marker{display:none}.release-news-item summary:hover,.release-news-item summary:focus-visible{background:#1a282f;outline:0}.release-news-badge{min-width:88px;padding:7px 11px;border-radius:3px;background:#aee9e7;color:#08767a;font-size:11px;text-align:center}.release-news-correcao .release-news-badge{background:#ffe3af;color:#8a5700}.release-news-seguranca .release-news-badge{background:#ffd3d7;color:#9d2431}.release-news-melhoria .release-news-badge{background:#cfe2ff;color:#215a9d}.release-news-item summary strong{color:#fff;font-size:14px}.release-news-chevron{color:#d8e8f2;font-size:22px;transition:transform .16s}.release-news-item[open] .release-news-chevron{transform:rotate(180deg)}
.release-news-content{padding:2px 36px 20px;color:#d9e6ee;line-height:1.55}.release-news-content p{margin:8px 0;color:inherit!important}.release-news-content strong{display:block;margin-top:14px;color:#ffb028}.release-news-summary{font-weight:700;color:#fff!important}.communication-release-news{margin-top:18px}.communication-release-news .release-news-version{margin-bottom:0}.communication-release-news .release-news-portals{display:none}
@media(max-width:780px){.marketing-communication-window-nav{grid-template-columns:1fr}.release-news-heading{align-items:stretch;flex-direction:column}.release-news-heading button{width:100%}.release-news-version-header{align-items:flex-start;flex-direction:column}.release-news-item summary{grid-template-columns:auto minmax(0,1fr);gap:10px}.release-news-chevron{grid-column:2;grid-row:2}.release-news-content{padding-inline:17px}.release-news-badge{min-width:78px}.release-news-portals{overflow-wrap:anywhere}}

/* Marca oficial colorida: a própria superfície clareia sob a marca e o nome do portal. */
:is(.corporate-brand > .corporate-logo, .controller-brand > img, .supplier-portal-brand > img, .portal-brand > img, .login-logo){
  display:block;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
  filter:none;
}

.login-card {
  padding-top:22px;
  background:
    linear-gradient(180deg, #f5f6f7 0, #eef1f3 194px, #697887 212px, #0b1c2c 237px, transparent 277px),
    linear-gradient(160deg, #071b30f2, #0b1c2ce8 63%, #34291ee8);
}
.login-logo { width:min(260px,100%); margin-inline:auto; }
@media (min-width:751px) and (max-height:820px) {
  .login-card {
    padding-top:12px;
    background:
      linear-gradient(180deg, #f5f6f7 0, #eef1f3 168px, #697887 187px, #0b1c2c 214px, transparent 254px),
      linear-gradient(160deg, #071b30f2, #0b1c2ce8 63%, #34291ee8);
  }
  .login-logo { width:min(250px,100%); }
}

:is(.corporate-header, .controller-header, .supplier-portal-header) { overflow: clip; }
:is(.corporate-brand, .controller-brand, .supplier-portal-brand) {
  position: relative;
  z-index: 0;
  --brand-side: clamp(18px, 3vw, 48px);
  --brand-fade: clamp(100px, 12vw, 210px);
}
.corporate-brand { --brand-side: clamp(22px, 3.4vw, 56px); }
.supplier-portal-brand { --brand-side: clamp(20px, 4vw, 64px); }
:is(.corporate-brand, .controller-brand, .supplier-portal-brand)::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -32px;
  bottom: -32px;
  left: calc(-1 * var(--brand-side));
  width: calc(100% + var(--brand-side) + var(--brand-fade));
  pointer-events: none;
  background: linear-gradient(90deg, rgba(247,248,250,.96) 0, rgba(238,241,244,.86) calc(100% - var(--brand-fade)), transparent 100%);
}
.corporate-header .corporate-brand-caption,
.controller-header .controller-brand strong,
.supplier-portal-header .supplier-portal-brand strong { color: #17232c; }
.controller-header .controller-brand small,
.supplier-portal-header .supplier-portal-brand small { color: #526271; }
.corporate-header .corporate-brand-divider { background: #7d899280; }

/* Em Compras e Contratos, a marca fica no alto da barra lateral. */
.portal-brand { position: relative; z-index: 0; }
.portal-brand::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -30px -18px 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(247,248,250,.96) 0, rgba(238,241,244,.86) 72%, transparent 100%);
}
.portal-brand span { color: #17232c; }

@media (min-width: 1101px) and (max-width: 1200px) {
  :is(.corporate-brand, .controller-brand, .supplier-portal-brand) { --brand-fade: clamp(45px, 5vw, 70px); }
}
@media (max-width: 850px) { .portal-brand::before { inset: -15px -15px 0; } }
@media (max-width: 1100px) {
  :is(.controller-header, .supplier-portal-header) { flex-wrap: wrap; }
  :is(.corporate-brand, .controller-brand, .supplier-portal-brand) { width: 100%; }
  :is(.corporate-brand, .controller-brand, .supplier-portal-brand)::before {
    top: -18px;
    bottom: -16px;
    width: 100vw;
    background: linear-gradient(180deg, #f5f6f8 0, #f5f6f8 calc(100% - 16px), transparent 100%);
  }
}
@media (max-width: 700px) {
  .controller-brand div { min-width: 0; }
  .controller-header .controller-brand strong { white-space: normal; overflow-wrap: break-word; line-height: 1.2; }
}
.request-destination-settings { margin-top: 18px; }
.request-destination-settings h2 { margin: 0 0 8px; color: var(--navy, #17354b); font-size: 20px; }
.request-destination-form { display: grid; gap: 13px; max-width: 900px; }
.request-destination-form > label { display: grid; gap: 7px; color: #344d60; font-size: 13px; font-weight: 700; }
.request-destination-form select { box-sizing: border-box; width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #bdcbd7; border-radius: 7px; background: #fff; color: #17354b; font: inherit; font-size: 14px; }
.request-destination-form select:focus-visible, .request-destination-choice:focus-within { outline: 3px solid #1683b24d; outline-offset: 2px; border-color: #1683b2; }
.request-destination-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; max-height: 280px; overflow: auto; padding: 4px; }
.request-destination-choice { display: flex; align-items: center; gap: 9px; min-height: 39px; padding: 7px 10px; border: 1px solid #d7e2e9; border-radius: 7px; background: #f8fbfd; color: #28475d; font-size: 13px; }
.request-destination-choice input { width: 17px; height: 17px; margin: 0; accent-color: #0d71b5; flex: none; }
.request-destination-form > .primary-action { justify-self: start; }
.request-destination-form [hidden] { display: none; }
.approval-return-section { margin-top: 18px; padding: 15px; border: 1px solid #cbdce6; border-radius: 9px; background: #f6fafc; }
.approval-return-section h4 { margin: 0 0 6px; color: #17354b; font-size: 15px; }
.approval-return-section .field-help { margin: 0 0 12px; }
.approval-return-section label { display: grid; gap: 6px; color: #344d60; font-size: 13px; font-weight: 700; }
.approval-return-section textarea { box-sizing: border-box; width: 100%; min-height: 66px; padding: 9px 11px; border: 1px solid #bdcbd7; border-radius: 7px; background: #fff; color: #17354b; font: inherit; font-size: 14px; }
.approval-return-section textarea:focus-visible { border-color: #1683b2; outline: 3px solid #1683b24d; outline-offset: 1px; }
.approval-return-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.approval-document-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); gap: 10px; margin: 18px 0; }
.approval-document-stage { padding: 12px 14px; border: 1px solid #d7e5ed; border-radius: 8px; background: #f8fbfd; }
.approval-document-stage h5 { margin: 0 0 8px; color: #17354b; font-size: 14px; }
.approval-document-stage p { margin: 5px 0; font-size: 12px; line-height: 1.5; }

/* Entrada corporativa: os cards ficam no fluxo e empurram os painéis inferiores. */
.corporate-modules { display: block; min-height: calc(100svh - 76px); overflow: visible; background-attachment: fixed; }
.corporate-modules-inner, .corporate-modules.few-portals .corporate-modules-inner { display: block; width: min(100%, 1320px); min-height: 0; margin: auto; padding: 40px 20px 28px; }
.corporate-hero, .corporate-modules.few-portals .corporate-hero { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(200px, .66fr) minmax(190px, .58fr); align-items: center; max-width: none; min-height: 178px; margin: 0 0 16px; padding: 22px 30px; border: 1px solid #e9a05e90; border-radius: 13px; background: linear-gradient(115deg, #0a1d32dc, #14253bd9 70%, #1b293dc9); box-shadow: 0 11px 28px #07132180, 0 0 16px #f3983b45; text-align: left; backdrop-filter: blur(10px); }
.corporate-hero-intro { min-width: 0; padding-left: 25px; border-left: 2px solid #ff9b31; }
.corporate-hero .corporate-eyebrow { margin: 0 0 9px; color: #eef6ff; font-size: 10px; letter-spacing: .36em; }
.corporate-hero h1 { font-size: clamp(27px, 2.4vw, 38px); line-height: 1.12; letter-spacing: -.03em; }
.corporate-hero h1 span { color: #f6a03b; }
.corporate-hero-intro > p:not(.corporate-eyebrow) { margin: 12px 0 0; color: #e2eaf3; font-size: 15px; line-height: 1.5; }
.corporate-hero-date, .corporate-hero-weather { display: flex; min-height: 120px; padding: 14px 20px; border-left: 1px solid #d1d9e64d; }
.corporate-hero-date { align-items: center; gap: 17px; }
.corporate-hero-date-icon { color: #eff7ff; font-size: 36px; }
.corporate-hero-date div { display: grid; gap: 4px; }
.corporate-hero-date small { color: #b6c7d9; font-size: 12px; }
.corporate-hero-date strong { color: #fff; font-size: clamp(16px, 1.65vw, 23px); line-height: 1.18; }
.corporate-hero-date div > span { width: fit-content; padding-bottom: 4px; border-bottom: 2px solid #ed9a32; color: #b8cbe0; font-size: 12px; }
.corporate-hero-weather { display: grid; align-content: center; gap: 7px; border-left-color: #f0a34e8a; }
.corporate-hero-weather strong { font-size: 15px; }
.corporate-hero-weather span { color: #ffbf70; font-size: 13px; font-weight: 700; }
.corporate-hero-weather small { color: #b8cbe0; line-height: 1.35; }
.corporate-module-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 14px; }
.corporate-module-grid > .corporate-module, .corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex: 0 0 calc((100% - 56px) / 5); min-width: 0; }
.corporate-module { min-height: 268px; padding: 22px 20px 16px; border-top-width: 2px; border-radius: 12px; background: linear-gradient(155deg, #243044cb, #091a2deb 82%); }
.corporate-module .corporate-module-icon { width: 57px; height: 57px; border: 1px solid var(--module-accent); border-radius: 14px; box-shadow: 0 0 20px color-mix(in srgb, var(--module-accent), transparent 75%); }
.corporate-module .corporate-module-name { font-size: clamp(16px, 1.35vw, 21px); }
.corporate-theme-warehouse .corporate-module-name, .corporate-theme-controller .corporate-module-name, .corporate-theme-monitoring .corporate-module-name, .corporate-theme-training .corporate-module-name, .corporate-theme-administrative .corporate-module-name, .corporate-theme-marketing .corporate-module-name, .corporate-theme-access .corporate-module-name, .corporate-theme-hr .corporate-module-name, .corporate-theme-personnel .corporate-module-name { font-size: clamp(15px, 1.15vw, 18px); }
.corporate-home-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 15px; }
.corporate-home-panel { min-width: 0; min-height: 176px; padding: 17px 22px; border: 1px solid #ffffff57; border-radius: 12px; background: linear-gradient(125deg, #0b1c30e9, #19273ae0); box-shadow: 0 12px 28px #07132170; backdrop-filter: blur(8px); }
.corporate-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.corporate-panel-heading h2 { display: flex; align-items: center; gap: 10px; margin: 0; color: white; font-size: 17px; }
.corporate-panel-icon { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 9px; background: #a85e0b7a; color: #ffb35e; }
.corporate-panel-heading button { padding: 4px; border: 0; background: transparent; color: #cfe7fb; font: inherit; font-size: 12px; cursor: pointer; }
.corporate-panel-heading button:hover, .corporate-panel-heading button:focus-visible { color: #fff; text-decoration: underline; }
.corporate-panel-heading button:disabled { opacity: .5; cursor: not-allowed; text-decoration: none; }
.corporate-notices-list { color: #cbd9e7; font-size: 13px; }
.corporate-notice { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 37px; padding: 6px 2px; border: 0; border-top: 1px solid #ffffff21; border-radius: 4px; background: transparent; color: #ecf2f8; font: inherit; text-align: left; cursor: pointer; }
.corporate-notice::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #ef9a2b; box-shadow: 0 0 9px #ef9a2b; }
.corporate-notice.read::before { background: #8795a6; box-shadow: none; }
.corporate-notice-title { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.corporate-notice time { flex: none; color: #a8bbcf; font-size: 12px; }
.corporate-notice:hover .corporate-notice-title, .corporate-notice:focus-visible .corporate-notice-title { text-decoration: underline; }
.corporate-shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; }
.corporate-shortcut { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 52px; padding: 7px 12px; border: 1px solid #ffffff32; border-radius: 8px; background: #20314670; color: white; font: inherit; text-align: left; cursor: pointer; }
.corporate-shortcut > span:first-child { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 7px; background: #a05f1270; color: #ffbb67; font-size: 22px; }
.corporate-shortcut > span:nth-child(2) { flex: 1; min-width: 0; font-size: 12px; font-weight: 700; }
.corporate-shortcut small { display: block; margin-top: 2px; color: #adc2d6; font-size: 10px; font-weight: 400; }
.corporate-shortcut b { color: #d9e8f7; font-size: 19px; font-weight: 400; }
.corporate-shortcut:hover:not(:disabled), .corporate-shortcut:focus-visible:not(:disabled) { border-color: #f1a64e; background: #294057aa; }
.corporate-shortcut:disabled { opacity: .66; cursor: not-allowed; }
@media (max-width: 1180px) { .corporate-module-grid > .corporate-module, .corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex-basis: calc((100% - 42px) / 4); } .corporate-hero { grid-template-columns: minmax(0, 1.4fr) minmax(170px, .7fr); } .corporate-hero-weather { grid-column: 1 / -1; min-height: auto; padding: 12px 0 0; border-top: 1px solid #ffffff30; border-left: 0; } }
@media (max-width: 850px) { .corporate-module-grid > .corporate-module, .corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex-basis: calc((100% - 28px) / 3); } .corporate-home-bottom { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .corporate-modules-inner, .corporate-modules.few-portals .corporate-modules-inner { padding: 22px 14px 28px; } .corporate-hero { display: block; padding: 23px; } .corporate-hero-intro { padding-left: 16px; } .corporate-hero h1 { font-size: 30px; } .corporate-hero-date { min-height: 0; margin-top: 18px; padding: 14px 0 0; border-top: 1px solid #ffffff30; border-left: 0; } .corporate-module-grid > .corporate-module, .corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex-basis: calc((100% - 14px) / 2); } .corporate-module { min-height: 235px; padding: 15px 12px; } .corporate-module .corporate-module-icon { width: 45px; height: 45px; } .corporate-module .corporate-module-name { font-size: 16px; } .corporate-module .corporate-module-description { font-size: 11px; } .corporate-module .corporate-module-footer { font-size: 8px; } .corporate-shortcut-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .corporate-modules { background-attachment: scroll; } }
@media (max-width: 410px) { .corporate-module-grid > .corporate-module, .corporate-modules.few-portals .corporate-module-grid > .corporate-module { flex-basis: 100%; } .corporate-shortcut-grid { grid-template-columns: 1fr; } .corporate-notice time { display: none; } }

/* Compras e Contratos: trilho de ícones recolhido e menu sobreposto. */
#portal, #portal:fullscreen { position: relative; display: grid; grid-template-columns: 66px minmax(0, 1fr); height: 100dvh; min-height: 0; overflow: hidden; }
#portal .portal-main { grid-column: 2; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; }
#portal .portal-sidebar { position: absolute; z-index: 90; top: 0; bottom: 0; left: 0; width: 66px; height: 100%; min-height: 0; padding: 0 7px 14px; overflow-x: hidden; overflow-y: auto; background: linear-gradient(180deg, #081b2d, #06223b); box-shadow: 4px 0 18px #07152536; transition: width .26s ease, box-shadow .26s ease; }
#portal.nav-expanded .portal-sidebar { width: 282px; box-shadow: 16px 0 34px #06152874; }
#portal .portal-nav-scrim { position: absolute; z-index: 80; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: #06142580; cursor: pointer; }
#portal .portal-sidebar-head { display: grid; justify-items: center; align-content: center; gap: 5px; flex: none; min-height: 91px; margin: 0 -7px; padding: 10px 7px; background: linear-gradient(180deg, #f7f8f9 0%, #f3f5f7 80%, #d9e2e9 100%); }
#portal .portal-brand, #portal.nav-expanded .portal-brand { min-width: 0; padding: 0; border: 0; }
#portal .portal-brand::before { display: none; }
#portal .portal-brand-logo { display: block; width: 24px; height: 27px; overflow: hidden; flex: none; }
#portal .portal-brand-logo img { display: block; width: 132px; max-width: none; padding: 0; background: transparent; }
#portal .portal-brand > span:last-child { display: none; }
#portal .portal-nav-toggle { display: grid; place-items: center; flex: none; width: 35px; height: 32px; padding: 5px; border: 1px solid #9eb3c3; border-radius: 8px; background: #fff; color: #123951; cursor: pointer; }
#portal .portal-nav-toggle:hover, #portal .portal-nav-toggle:focus-visible { border-color: #1b6d9f; background: #eaf6ff; outline: 2px solid #7db7db66; }
#portal .portal-nav-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#portal.nav-expanded .portal-sidebar-head { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 12px 11px; }
#portal.nav-expanded .portal-brand { display: flex; flex: 1; align-items: center; gap: 9px; }
#portal.nav-expanded .portal-brand-logo { width: 112px; height: auto; overflow: visible; }
#portal.nav-expanded .portal-brand-logo img { width: 112px; }
#portal.nav-expanded .portal-brand > span:last-child { display: block; color: #172b3a; font-size: 9px; letter-spacing: .04em; line-height: 1.25; }
#portal .portal-nav { display: grid; align-content: start; gap: 4px; padding: 16px 0 0; }
#portal .portal-nav .nav-link { position: relative; display: grid; place-items: center; flex: none; width: 49px; min-width: 0; height: 47px; margin: 0 auto; padding: 0; border-radius: 9px; font-size: 0; white-space: nowrap; }
#portal .portal-nav .nav-link::before { content: attr(data-nav-icon); display: grid; place-items: center; width: 25px; height: 25px; color: #dceaf5; font-family: Arial, sans-serif; font-size: 21px; font-weight: 600; line-height: 1; }
#portal .portal-nav .nav-link.active::before { color: #fff; }
#portal.nav-expanded .portal-nav .nav-link { display: flex; justify-content: flex-start; gap: 13px; width: 100%; height: 43px; margin: 0; padding: 7px 12px; font-size: 13px; text-align: left; }
#portal.nav-expanded .portal-nav .nav-link::before { flex: none; width: 23px; font-size: 18px; }
#portal .sidebar-note { display: none; }
#portal.nav-expanded .sidebar-note { display: block; margin-top: auto; padding: 15px 10px 0; font-size: 10px; }
#portal .portal-content.supplies-home-active { max-width: none; padding: 0; }
#portal .supplies-home { min-height: calc(100dvh - 82px); padding: 0; background: linear-gradient(180deg, #04182d6b, #061b31a6), url('supplies-procurement-background-v1.png') center center / cover no-repeat; color: #fff; }
#portal .supplies-home-inner { width: min(100%, 1300px); margin: 0 auto; padding: 48px 30px 20px; }
#portal .supplies-home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .34fr); align-items: center; gap: 24px; min-height: 177px; padding: 25px 38px; border: 1px solid #eea14eaa; border-radius: 12px; background: linear-gradient(115deg, #081d32e9, #10273ce0 72%, #10243ada); box-shadow: 0 0 19px #ed8a2b67, 0 14px 34px #03131f80; backdrop-filter: blur(10px); }
#portal .supplies-home-hero-copy { padding-left: 29px; border-left: 2px solid #ff9d25; }
#portal .supplies-home-hero-copy p { margin: 0 0 13px; color: #e4eef8; font-size: 10px; font-weight: 800; letter-spacing: .29em; }
#portal .supplies-home-hero-copy h2 { margin: 0 0 10px; color: #fff; font-size: clamp(30px, 3vw, 44px); line-height: 1.14; }
#portal .supplies-home-hero-copy h2 span { color: #ff9e2f; }
#portal .supplies-home-hero-copy > span { display: block; max-width: 690px; color: #e6eff7; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.5; }
#portal .supplies-home-hero-side { display: flex; align-items: center; gap: 18px; min-height: 100px; padding-left: 20px; border-left: 1px solid #d7e4ef55; }
#portal .supplies-home-hero-side svg { flex: none; width: 74px; height: 74px; fill: none; stroke: #ffa32d; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
#portal .supplies-home-hero-side span { max-width: 140px; padding-bottom: 12px; border-bottom: 2px solid #ffa32d; color: #e7f1fa; font-size: 14px; line-height: 1.5; }
#portal .supplies-home-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
#portal .supplies-home-kpi { display: flex; flex-direction: column; min-width: 0; min-height: 218px; padding: 21px 22px 16px; border: 1px solid #ffffff43; border-top: 2px solid #e99535; border-radius: 11px; background: linear-gradient(150deg, #172a3de0, #071e33e5); box-shadow: 0 12px 30px #03132162; backdrop-filter: blur(8px); }
#portal .supplies-home-kpi:nth-child(2) { border-top-color: #4284ed; } #portal .supplies-home-kpi:nth-child(3) { border-top-color: #f3b44e; } #portal .supplies-home-kpi:nth-child(4) { border-top-color: #658dff; }
#portal .supplies-home-kpi-icon { display: grid; place-items: center; width: 51px; height: 51px; margin-bottom: 8px; border: 1px solid #efa13a8c; border-radius: 12px; background: #8a530d8c; color: #ffbf65; font-size: 26px; }
#portal .supplies-home-kpi:nth-child(even) .supplies-home-kpi-icon { border-color: #6a94fbad; background: #193f8baa; color: #dce7ff; }
#portal .supplies-home-kpi strong { color: #fff; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.05; }
#portal .supplies-home-kpi h3 { margin: 4px 0 3px; color: #fff; font-size: clamp(14px, 1.15vw, 17px); }
#portal .supplies-home-kpi small { color: #c3d5e4; font-size: 11px; }
#portal .supplies-home-kpi button { align-self: flex-start; margin-top: auto; padding: 12px 0 0; border: 0; border-radius: 4px; background: transparent; color: #d7ebfa; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
#portal .supplies-home-kpi button:hover:not(:disabled), #portal .supplies-home-kpi button:focus-visible:not(:disabled) { color: #ffbb62; text-decoration: underline; }
#portal .supplies-home-kpi button:disabled { opacity: .55; cursor: not-allowed; }
#portal .supplies-home-bottom { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 14px; margin-top: 16px; }
#portal .supplies-home-panel { min-width: 0; min-height: 207px; padding: 18px 20px; border: 1px solid #f0a54e91; border-radius: 12px; background: linear-gradient(125deg, #081e32ed, #10273de6); box-shadow: 0 0 15px #e8943960, 0 12px 30px #0415246d; backdrop-filter: blur(8px); }
#portal .supplies-home-panel-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
#portal .supplies-home-panel-heading h3 { margin: 0; color: #fff; font-size: 18px; }
#portal .supplies-home-panel-heading p { margin: 2px 0 0; color: #d9e8f4; font-size: 11px; }
#portal .supplies-panel-icon { display: grid; place-items: center; flex: none; width: 37px; height: 37px; border-radius: 10px; background: #92541678; color: #ffc170; font-size: 23px; }
#portal .supplies-home-notices .supplies-home-panel-heading > button { margin-left: auto; padding: 5px; border: 0; border-radius: 5px; background: transparent; color: #daefff; font: inherit; font-size: 11px; cursor: pointer; }
#portal .supplies-home-notices .supplies-home-panel-heading > button:hover:not(:disabled), #portal .supplies-home-notices .supplies-home-panel-heading > button:focus-visible:not(:disabled) { color: #ffb85b; text-decoration: underline; }
#portal .supplies-home-notices .supplies-home-panel-heading > button:disabled { opacity: .5; cursor: not-allowed; }
#portal .supplies-home-quick-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
#portal .supplies-home-quick-grid button { display: flex; flex-direction: column; align-items: center; min-width: 0; min-height: 119px; padding: 11px 5px 8px; border: 1px solid #ffffff1f; border-radius: 9px; background: #0c2944c9; color: #fff; font: inherit; font-size: 11px; font-weight: 700; text-align: center; cursor: pointer; }
#portal .supplies-home-quick-grid button > span { display: grid; place-items: center; height: 33px; margin-bottom: 7px; color: #ffb553; font-size: 26px; }
#portal .supplies-home-quick-grid button small { display: block; margin-top: 2px; color: #d7e7f3; font-size: 10px; }
#portal .supplies-home-quick-grid button b { display: grid; place-items: center; width: 27px; height: 27px; margin-top: auto; border: 1px solid #ffffff73; border-radius: 50%; color: #fff; font-size: 18px; font-weight: 400; }
#portal .supplies-home-quick-grid button:hover:not(:disabled), #portal .supplies-home-quick-grid button:focus-visible:not(:disabled) { border-color: #ffae45; background: #173b5ba8; }
#portal .supplies-home-quick-grid button:disabled { opacity: .49; cursor: not-allowed; }
#portal .supplies-home-notice-list { color: #ceddeb; font-size: 12px; }
#portal .supplies-home-notice { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 35px; padding: 6px 3px; border: 0; border-top: 1px solid #ffffff24; border-radius: 4px; background: transparent; color: #f4f8fb; font: inherit; text-align: left; cursor: pointer; }
#portal .supplies-home-notice::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #ff9c20; box-shadow: 0 0 8px #ff9c20; }
#portal .supplies-home-notice.read::before { background: #9ba9b8; box-shadow: none; }
#portal .supplies-home-notice span { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#portal .supplies-home-notice time { flex: none; color: #a8bed1; }
#portal .supplies-home-notice:hover span, #portal .supplies-home-notice:focus-visible span { text-decoration: underline; }
#portal .supplies-home-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 12px 7px 0; border-top: 1px solid #ffffff2d; color: #d4e1eb; font-size: 11px; }
#portal .supplies-home .portal-favorites { margin-top: 18px; border-color: #7198b565; background: #0c2239e8; color: #fff; }
#portal .supplies-home .portal-favorites h2, #portal .supplies-home .portal-favorites h3 { color: #fff; }
@media (max-width: 1150px) { #portal .supplies-home-hero { grid-template-columns: 1fr; } #portal .supplies-home-hero-side { min-height: 0; padding: 12px 0 0; border-top: 1px solid #ffffff35; border-left: 0; } #portal .supplies-home-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } #portal .supplies-home-bottom { grid-template-columns: 1fr; } }
@media (max-width: 700px) { #portal, #portal:fullscreen { grid-template-columns: 56px minmax(0, 1fr); } #portal .portal-sidebar { width: 56px; padding-inline: 4px; } #portal.nav-expanded .portal-sidebar { width: min(282px, 85vw); } #portal .portal-sidebar-head { margin-inline: -4px; } #portal .portal-nav .nav-link { width: 45px; } #portal .portal-content.supplies-home-active { padding: 0; } #portal .supplies-home-inner { padding: 18px 14px 24px; } #portal .supplies-home-hero { padding: 20px; } #portal .supplies-home-hero-copy { padding-left: 15px; } #portal .supplies-home-hero-copy h2 { font-size: 29px; } #portal .supplies-home-kpi { min-height: 190px; padding: 14px; } #portal .supplies-home-kpi h3 { font-size: 13px; } #portal .supplies-home-panel { padding: 16px 13px; } #portal .supplies-home-quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } #portal .supplies-home-footer { flex-direction: column; } }
@media (max-width: 450px) { #portal .supplies-home-kpis { grid-template-columns: 1fr; } #portal .supplies-home-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #portal .supplies-home-notice time { display: none; } }
@media (max-width: 600px) { #portal .portal-topbar { flex-wrap: wrap; align-items: flex-start; gap: 5px; padding: 9px 12px; } #portal .portal-topbar > div:first-child { flex: 0 0 100%; min-width: 0; } #portal .topbar-kicker { font-size: 8px; letter-spacing: .04em; } #portal .topbar-actions { width: 100%; justify-content: flex-end; gap: 6px; } #portal .topbar-person { padding: 2px; } #portal .topbar-identity { display: none; } #portal .fullscreen-label, #portal #modePill { display: none; } #portal .fullscreen-button { min-width: 31px; padding-inline: 6px; } #portal .module-exit { min-height: 34px; padding: 5px 7px; } }
@media (prefers-reduced-motion: reduce) { #portal .portal-sidebar { transition: none; } }

/* Compact desktop density: keep browser zoom at 100% while fitting the
   information density of the reference layouts. Mobile rules remain intact. */
@media (min-width: 701px) {
  .corporate-modules-inner { width: min(100%, 1080px); padding: clamp(30px, 5vh, 52px) 24px 48px; }
  .corporate-hero { margin-bottom: 18px; }
  .corporate-hero h1 { font-size: clamp(36px, 3.1vw, 48px); }
  .corporate-hero > p:not(.corporate-eyebrow) { margin-top: 11px; font-size: 14px; }
  .corporate-module-grid { gap: 10px; }
  .corporate-module-grid > .corporate-module { flex-basis: calc((100% - 40px) / 5); }
  .corporate-module { min-height: 214px; padding: 15px 13px 12px; border-radius: 9px; }
  .corporate-module .corporate-module-icon { width: 47px; height: 47px; font-size: 23px; }
  .corporate-module .corporate-module-name { margin: 13px 0 7px; font-size: clamp(14px, 1.05vw, 18px); }
  .corporate-module .corporate-module-description { font-size: 10px; line-height: 1.4; }
.corporate-module .corporate-module-footer { margin-top: 16px; padding-top: 10px; font-size: 9px; }
  .corporate-home-bottom { gap: 10px; margin-top: 10px; }
  .corporate-home-panel { min-height: 132px; padding: 12px 14px; }
  .corporate-panel-heading { margin-bottom: 7px; }
  .corporate-panel-heading h2 { font-size: 14px; }
  .corporate-panel-icon { width: 27px; height: 27px; }
  .corporate-shortcut-grid { gap: 7px 9px; }
  .corporate-shortcut { min-height: 42px; padding: 5px 8px; gap: 8px; }
  .corporate-shortcut > span:first-child { width: 28px; height: 28px; font-size: 18px; }
  .corporate-shortcut > span:nth-child(2) { font-size: 10px; }
  .corporate-shortcut small { font-size: 8px; }
  .controller-header { padding: 9px 22px; }
  .controller-main { padding: clamp(16px, 2.3vw, 30px); }
  #portal .portal-topbar { min-height: 66px; padding: 9px 22px; }
  #portal .supplies-home-inner { width: min(100%, 1080px); padding: 28px 22px 16px; }
  #portal .supplies-home-hero { min-height: 126px; gap: 16px; padding: 18px 24px; }
  #portal .supplies-home-hero-copy { padding-left: 19px; }
  #portal .supplies-home-hero-copy p { margin-bottom: 8px; font-size: 8px; }
  #portal .supplies-home-hero-copy h2 { margin-bottom: 7px; font-size: clamp(25px, 2.4vw, 34px); }
  #portal .supplies-home-hero-copy > span { font-size: 12px; }
  #portal .supplies-home-hero-side { min-height: 76px; padding-left: 14px; }
  #portal .supplies-home-hero-side svg { width: 54px; height: 54px; }
  #portal .supplies-home-hero-side span { font-size: 11px; }
  #portal .supplies-home-kpis { gap: 9px; margin-top: 10px; }
  #portal .supplies-home-kpi { min-height: 158px; padding: 14px 15px 11px; }
  #portal .supplies-home-kpi-icon { width: 39px; height: 39px; font-size: 20px; }
  #portal .supplies-home-kpi strong { font-size: 30px; }
  #portal .supplies-home-kpi h3 { font-size: 13px; }
  #portal .supplies-home-kpi small { font-size: 9px; }
  #portal .supplies-home-kpi button { padding-top: 8px; font-size: 10px; }
  #portal .supplies-home-bottom { gap: 10px; margin-top: 10px; }
  #portal .supplies-home-panel { min-height: 154px; padding: 13px 15px; }
  #portal .supplies-home-panel-heading { margin-bottom: 9px; }
  #portal .supplies-home-panel-heading h3 { font-size: 15px; }
  #portal .supplies-home-quick-grid { gap: 7px; }
  #portal .supplies-home-quick-grid button { min-height: 86px; padding: 7px 4px 6px; font-size: 9px; }
  #portal .supplies-home-quick-grid button > span { height: 25px; margin-bottom: 4px; font-size: 20px; }
  #portal .supplies-home-quick-grid button small { font-size: 8px; }
  #portal .supplies-home-quick-grid button b { width: 22px; height: 22px; font-size: 14px; }
}

.corporate-hero-date[role="button"], .corporate-hero-weather[role="button"] { cursor: pointer; }
.corporate-hero-date[role="button"]:focus-visible, .corporate-hero-weather[role="button"]:focus-visible { outline: 2px solid #ffb44f; outline-offset: 3px; }
.corporate-weather-live { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; column-gap: 8px; }
.corporate-weather-live .corporate-weather-icon { grid-row: 1 / span 3; font-size: 27px; filter: drop-shadow(0 2px 5px #0006); }
.corporate-weather-live strong, .corporate-weather-live span, .corporate-weather-live small { grid-column: 2; }
.corporate-weather-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 16px; background: #10243a; color: #f3f8ff; box-shadow: 0 24px 70px #000b; }
.corporate-weather-dialog::backdrop { background: #031224b8; backdrop-filter: blur(3px); }
.corporate-weather-dialog-inner { position: relative; display: grid; gap: 14px; padding: 25px; }
.corporate-weather-dialog-inner h2 { margin: 0; color: #f3f8ff; font-size: 27px; }
.corporate-weather-close { position: absolute; top: 10px; right: 12px; border: 0; background: transparent; color: #d7e5f4; font-size: 28px; cursor: pointer; }
.corporate-weather-current { display: flex; align-items: center; gap: 13px; }
.corporate-weather-current > span { font-size: 48px; }
.corporate-weather-current strong { font-size: 38px; }
.corporate-weather-current p { margin: 0; color: #c8d7e8; line-height: 1.4; }
.corporate-weather-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.corporate-weather-days > div { display: grid; gap: 4px; justify-items: center; padding: 9px 4px; border: 1px solid #ffffff2b; border-radius: 9px; background: #ffffff0d; text-align: center; }
.corporate-weather-days b { font-size: 11px; text-transform: capitalize; }
.corporate-weather-days span { font-size: 23px; }
.corporate-weather-days small { font-size: 10px; }
.corporate-weather-days em { min-height: 25px; color: #aebfd2; font-size: 8px; font-style: normal; }
.corporate-weather-dialog .primary-action { justify-self: start; text-decoration: none; }
.corporate-weather-privacy { color: #aebfd2; line-height: 1.45; }

/* Shared scrollbar tokens cover existing and future scroll containers. */
:root { --sna-scroll-thumb:#8293a3; --sna-scroll-thumb-hover:#536c83; }
:root, :root * { scrollbar-width:thin; scrollbar-color:var(--sna-scroll-thumb) transparent; }
:is(.portal-sidebar,.controller-sidebar,.supplier-portal-sidebar,.attention-banner) {
  --sna-scroll-thumb:#607c97;
  --sna-scroll-thumb-hover:#9bb6cf;
  scrollbar-color:var(--sna-scroll-thumb) transparent;
}
/* Chromium/WebKit: exact 6px rail, no white track or end arrows. Standard
   properties stay as the Firefox fallback; high contrast keeps native controls. */
@media (forced-colors:none) {
  @supports selector(::-webkit-scrollbar) {
    :root, :root * { scrollbar-width:auto; scrollbar-color:auto; }
    ::-webkit-scrollbar { width:6px; height:6px; }
    ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background:transparent; }
    ::-webkit-scrollbar-thumb { background:var(--sna-scroll-thumb); border:0; border-radius:999px; }
    ::-webkit-scrollbar-thumb:hover, ::-webkit-scrollbar-thumb:active { background:var(--sna-scroll-thumb-hover); }
    ::-webkit-scrollbar-button { display:none; width:0; height:0; }
  }
}
@media (forced-colors:active) {
  :root, :root * { scrollbar-width:auto; scrollbar-color:auto; }
}

/* Shared navigation skin. No header, layout, permission or collapse changes. */
/* RH: approved header remains untouched; presentation is scoped to the body. */
#hrPortal { display:grid; grid-template-rows:auto minmax(0,1fr); height:100dvh; min-height:0; overflow:hidden; }
#hrPortal .controller-layout { display:grid; position:relative; grid-template-columns:64px minmax(0,1fr); min-height:0; overflow:hidden; }
#hrPortal .controller-main { grid-column:2; min-height:0; overflow-y:auto; overflow-x:hidden; }
#hrPortal .controller-sidebar { position:absolute; inset:0 auto 0 0; z-index:90; width:64px; padding:10px 6px; overflow-x:hidden; overflow-y:auto; transition:width .24s ease; }
#hrPortal.nav-expanded .controller-sidebar { width:min(288px,86vw); box-shadow:15px 0 36px #021b23a8; }
#hrNavToggle { position:sticky; top:0; z-index:2; width:42px; min-height:40px; margin:0 4px 12px; border:1px solid #8aabb9; border-radius:8px; background:#832950; color:#fff; font-size:23px; cursor:pointer; }
#hrNavScrim { position:absolute; z-index:80; inset:0; border:0; border-radius:0; background:#031d2488; cursor:pointer; }
#hrPortal .controller-sidebar nav { display:grid; gap:4px; }
#hrPortal .controller-sidebar .controller-nav-link { width:48px; min-height:44px; margin:0; padding:7px; font-size:0; }
#hrPortal.nav-expanded .controller-sidebar .controller-nav-link { width:100%; font-size:13px; }
#hrPortal .controller-sidebar>p { display:none; }
#hrPortal.nav-expanded .controller-sidebar>p { display:block; }
#hrPortal :focus-visible { outline:2px solid #ffbf5e; outline-offset:2px; }
#hrPortal.hr-home-active .controller-main { background:linear-gradient(110deg,#00182975,#10253670),url('/supplies-procurement-background-v1.png') center/cover no-repeat; background-attachment:local; padding:clamp(20px,3vw,48px); }
#hrOverview { max-width:1540px; margin:0 auto; color:#f0f7ff; }
#hrOverview .controller-welcome,#hrOverview .hr-home-glass,#hrOverview .hr-home-kpi,#hrOverview .hr-home-tasks { border:1px solid #ce975999; border-radius:13px; background:linear-gradient(120deg,#102637ec,#1c3043e0); box-shadow:0 0 15px #f8aa422e,0 10px 25px #0004; backdrop-filter:blur(9px); }
#hrOverview .controller-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 24px; margin:0 0 20px; }
#hrOverview .hr-home-intro { border-left:2px solid #ffae3b; padding-left:23px; }
#hrOverview .controller-welcome .hr-home-intro p { color:#f2f7ff; letter-spacing:.26em; font-size:10px; }
#hrOverview .controller-welcome h1 { font-size:clamp(29px,3vw,44px); margin:10px 0 14px; color:#fff; line-height:1.14; }
#hrOverview .controller-welcome em { font-style:normal; color:#ffb044; }
#hrOverview .controller-welcome span { display:block; color:#dfecf7; font-size:14px; line-height:1.6; }
#hrOverview .hr-home-motto { display:flex; align-items:center; gap:23px; border-left:1px solid #cfdfef55; padding-left:30px; min-width:255px; }
#hrOverview .hr-home-motto p { color:#f0f7ff; letter-spacing:normal; font-size:17px; line-height:1.45; text-transform:none; }
#hrOverview svg { width:26px; height:26px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#hrOverview .hr-home-people svg { width:64px; height:64px; color:#ffae3b; }
#hrOverview .hr-home-scope { color:#d4e1ef; font-size:11px; margin:10px 0; line-height:1.6; }
#hrHomeKpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
#hrOverview .hr-home-kpi { display:flex; flex-direction:column; align-items:flex-start; padding:20px; min-width:0; border-top:2px solid #e5a24c; }
#hrOverview .hr-home-icon { display:grid; place-items:center; width:52px; height:52px; color:#ffce89; border:1px solid #ae7a33; border-radius:10px; background:#74502066; margin-bottom:12px; }
#hrOverview .hr-home-kpi:nth-child(2) .hr-home-icon { background:#183b8866; border-color:#4d78b9; color:#c0d4ff; }
#hrOverview .hr-home-kpi:nth-child(3) .hr-home-icon { background:#14674855; border-color:#328270; color:#b4f5df; }
#hrOverview .hr-home-kpi:nth-child(4) .hr-home-icon { background:#77294366; border-color:#ad546b; color:#ffd7e0; }
#hrOverview .hr-home-kpi:nth-child(5) .hr-home-icon { background:#51328477; border-color:#8661b5; color:#ddcaff; }
#hrOverview .hr-home-kpi>strong { color:#fff; font-size:34px; line-height:1.15; margin:4px 0 6px; overflow-wrap:anywhere; }
#hrOverview .hr-home-caption { color:#f5f9ff; font-size:14px; font-weight:600; line-height:1.45; }
#hrOverview .kpi-standard,#hrOverview .kpi-standard span { color:#bdcede; font-size:10px; line-height:1.6; }
#hrOverview .hr-home-metric-link { background:none; border:0; color:#ffcf87; font:inherit; font-size:11px; text-align:left; padding:12px 0 0; margin-top:auto; cursor:pointer; }
#hrOverview .hr-home-bottom { display:grid; grid-template-columns:1.4fr 1fr; gap:20px; margin:22px 0; }
#hrOverview .hr-home-glass { padding:22px; min-width:0; }
#hrOverview .hr-home-glass h2 { color:#fff; font-size:20px; margin:0 0 18px; }
#hrHomeShortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; color:#cfdeed; }
#hrOverview .hr-home-shortcut { display:flex; align-items:center; gap:10px; padding:13px 10px; min-height:76px; border:1px solid #a1becb55; border-radius:9px; background:#30455280; color:#f7fbff; font:inherit; font-size:12px; cursor:pointer; text-align:left; }
#hrOverview .hr-home-shortcut svg { color:#ffd18c; }
#hrOverview .hr-home-shortcut>span { margin-left:auto; font-size:23px; }
#hrOverview .hr-home-shortcut:hover { background:#36566d; border-color:#d8ad69; }
#hrOverview .hr-home-heading { display:flex; align-items:baseline; gap:10px; justify-content:space-between; }
#hrHomeNoticesAll { background:none; border:0; color:#b5eaff; padding:4px; font:inherit; font-size:11px; cursor:pointer; white-space:nowrap; }
#hrHomeNotices { color:#c3d6e5; font-size:13px; line-height:1.6; }
#hrOverview .hr-home-notice { display:flex; align-items:center; gap:12px; width:100%; padding:13px 0; border:0; border-bottom:1px solid #bbd1e22b; background:none; color:#f0f7ff; font:inherit; font-size:12px; text-align:left; cursor:pointer; }
#hrOverview .hr-home-notice::before { content:''; flex:none; width:8px; height:8px; border-radius:50%; background:#ffad38; box-shadow:0 0 8px #ffae4880; }
#hrOverview .hr-home-notice time { margin-left:auto; color:#b8c9d8; white-space:nowrap; font-size:11px; }
#hrOverview .hr-home-tasks { margin:18px 0; padding:16px 20px; }
#hrOverview .hr-home-tasks>summary { color:#f0f7ff; font-size:14px; cursor:pointer; }
#hrOverview .hr-home-tasks .hr-panel-content { background:#fff; color:#183b53; border-radius:9px; padding:20px; margin-top:16px; }
#hrOverview .hr-home-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:18px 0; border-top:1px solid #a1becb33; color:#c2d3e0; font-size:11px; line-height:1.6; }
#hrOverview .hr-home-footer a { color:#83e8fd; }
#hrOverview>.portal-favorites { background:#102a3eee; border-color:#7794aa; color:#e2f0fc; }
@media(max-width:1150px) { #hrOverview .hr-home-motto { display:none; } #hrHomeKpis { grid-template-columns:repeat(3,minmax(0,1fr)); } #hrOverview .hr-home-bottom { grid-template-columns:1fr; } }
@media(max-width:700px) { #hrPortal .controller-layout { grid-template-columns:54px minmax(0,1fr); } #hrPortal .controller-sidebar { width:54px; padding-inline:3px; } #hrPortal .controller-sidebar .controller-nav-link { width:45px; } #hrNavToggle { margin-inline:3px; } #hrPortal .controller-main,#hrPortal.hr-home-active .controller-main { padding:16px 12px; } #hrOverview .controller-welcome { padding:22px 16px; } #hrOverview .hr-home-intro { padding-left:12px; } #hrOverview .controller-welcome h1 { font-size:27px; } #hrHomeKpis,#hrHomeShortcuts { grid-template-columns:1fr; } #hrOverview .hr-home-glass { padding:17px 13px; } #hrOverview .hr-home-notice { flex-wrap:wrap; } #hrOverview .hr-home-heading { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { #hrPortal .controller-sidebar { transition:none; } }

/* Compras e Contratos: cabeçalho alinhado ao padrão visual dos demais portais. */
#portal .portal-topbar {
  min-height: 78px;
  padding: 10px clamp(18px, 3vw, 46px);
  border: 0;
  background: linear-gradient(110deg, #081b2d 0%, #0f3554 68%, #1f5677 100%);
  box-shadow: 0 8px 24px #06182b45;
  color: #fff;
}
#portal .topbar-title { display: grid; gap: 3px; }
#portal .topbar-kicker { color: #c6d9e8; }
#portal .portal-topbar strong { color: #fff; }
#portal .topbar-person { padding: 4px 7px; border: 1px solid #b7d3e54d; border-radius: 8px; color: #fff; }
#portal .topbar-person:hover, #portal .topbar-person:focus-visible { background: #ffffff17; }
#portal .topbar-avatar { flex-basis: 44px; width: 44px; height: 44px; border: 2px solid #7fc2e6; border-radius: 50%; background: #245778; color: #fff; }
#portal .topbar-identity small, #portal .topbar-profile-link { color: #c8e3f3; }
#portal :is(.fullscreen-button, .module-exit) { border-color: #b7d3e566; background: #ffffff12; color: #fff; }
#portal :is(.fullscreen-button, .module-exit):hover, #portal :is(.fullscreen-button, .module-exit):focus-visible { border-color: #d8ecf8aa; background: #ffffff26; }
#portal .demo-pill { background: #ffffff24; color: #fff; }
#portal .portal-sidebar-head {
  min-height: 78px;
  margin: 0 -7px;
  padding: 9px 7px;
  border-bottom: 1px solid #ffffff24;
  background: linear-gradient(110deg, #081b2d 0%, #0f3554 68%, #1f5677 100%);
}
#portal .portal-nav-toggle {
  width: 42px;
  height: 40px;
  padding: 8px;
  border-color: #b7d3e566;
  border-radius: 8px;
  background: #ffffff12;
  color: #fff;
}
#portal .portal-nav-toggle:hover, #portal .portal-nav-toggle:focus-visible { border-color: #ffbd58; background: #ffffff26; outline: 2px solid #ffbd5855; }
#portal.nav-expanded .portal-sidebar-head { min-height: 78px; padding: 10px 11px; }
#portal.nav-expanded .portal-brand > span:last-child { color: #d7e8f4; }

:is(#portal, [id$="Portal"]).sna-navigation-ready :is(.portal-sidebar, .controller-sidebar, .supplier-portal-sidebar) {
  background-color: #0d1d35;
  background-image: linear-gradient(180deg, #0d1d35 0%, #11243eeF 52%, #0a1b32bb 100%), url('/corporate-industrial-background.png');
  background-position: center, center bottom;
  background-size: cover, auto 360px;
  background-repeat: no-repeat;
  color: #c7d5e6;
  border-right-color: #263d58;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav {
  gap: 5px;
}
#warehousePortal .sna-nav-toggle {
  border-color: #9b7654;
  background: #4b3626;
  color: #f8ead8;
}
#warehousePortal .sna-nav-toggle:hover,
#warehousePortal .sna-nav-toggle:focus-visible {
  border-color: #d49a55;
  background: #624730;
  outline: 2px solid #d49a5544;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-height: 44px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: #c7d5e6;
  font-weight: 500;
  text-align: left;
  line-height: 1.4;
  filter: none;
  transition: background-color .16s ease, color .16s ease;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button::before {
  content: none;
  display: none;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button:hover {
  background: #25405c99;
  color: #fff;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button.active {
  background: linear-gradient(90deg, #223c59, #1c334d);
  box-shadow: inset -3px 0 #ffb83e;
  color: #fff;
  font-weight: 600;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button:focus-visible {
  outline: 2px solid #ffcf78;
  outline-offset: -2px;
  background: #294760;
  color: #fff;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-icon {
  display: block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-button.active > .sna-guide-icon { color: #ffbe50; }
:is(#portal, [id$="Portal"]).sna-navigation-ready.sna-nav-collapsible:not(.nav-expanded) .sna-guide-nav.sna-guide-nav > .sna-guide-button {
  justify-content: center;
  gap: 0;
  font-size: 0;
}
:is(#portal, [id$="Portal"]).sna-navigation-ready.nav-expanded .sna-guide-nav.sna-guide-nav > .sna-guide-button {
  font-size: 13px;
  height: auto;
}
/* The same request form is mounted in every authorized request portal. */
#view-request { max-width: 1240px; margin-inline: auto; }
#view-request > .page-heading {
  padding: clamp(20px, 3vw, 34px); border: 1px solid #59788b; border-left: 3px solid #ffb339; border-radius: 16px;
  background: radial-gradient(ellipse at top right, #2d566b88, transparent 65%), linear-gradient(125deg, #0b2338, #17364b);
  box-shadow: 0 10px 28px #071d3520; color: #fff;
}
#view-request > .page-heading h2 { color: white; font-size: clamp(26px, 3vw, 38px); }
#view-request > .page-heading p { color: #cadbe8; }
#view-request > .page-heading .section-kicker { color: #ffc36b; letter-spacing: .17em; }
.request-type-pages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 22px; }
.request-type-pages button { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 82px; padding: 14px; border: 1px solid #a9bfcd; border-radius: 13px; background: linear-gradient(145deg, #fff, #edf4f8); color: #17384e; text-align: left; cursor: pointer; box-shadow: 0 5px 15px #0a2c4210; }
.request-type-pages button[hidden] { display: none; }
.request-type-pages button:hover { border-color: #b97818; transform: translateY(-1px); }
.request-type-pages button.active { border-color: #d68b1c; background: linear-gradient(145deg, #fff8ea, #ffe4b3); box-shadow: inset 0 0 0 1px #e5a33f, 0 8px 18px #7c4a1418; }
.request-type-pages button:focus-visible { outline: 3px solid #126d94; outline-offset: 3px; }
.request-type-pages button > span:last-child { min-width: 0; display: grid; gap: 4px; }
.request-type-pages strong { color: #102f44; font-size: 13px; line-height: 1.25; }
.request-type-pages small { color: #587084; font-size: 11px; line-height: 1.35; }
.request-type-page-icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #b97818; border-radius: 11px; background: #8d5719; color: #fff4db; font-size: 21px; }
.request-type-pages button.active .request-type-page-icon { background: #bd7215; border-color: #a8600e; color: #fff; }
#view-request .request-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: none; padding: 0; border: 0; background: transparent; box-shadow: none; }
#requestForm .request-panel { min-width: 0; margin: 0; padding: clamp(18px, 2.4vw, 28px); border: 1px solid #c4d5df; border-radius: 15px; background: linear-gradient(135deg, #fff, #f3f8fb); box-shadow: 0 5px 18px #0e31440a; }
#requestForm .request-panel > .form-section-title { margin: 0 0 22px; padding: 0 0 16px; border: 0; border-bottom: 1px solid #d6e1e8; align-items: flex-start; }
#requestForm .request-panel > .form-section-title > span { border-radius: 10px; background: #12354b; color: #ffc064; width: 36px; height: 36px; flex-basis: 36px; }
#requestForm .request-panel h3 { color: #12354b; }
#requestForm .form-grid { gap: 18px 24px; }
#requestForm :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]) { border-radius: 8px; min-height: 44px; }
#requestForm input[readonly] { background: #eaf1f6; color: #28495c; border-color: #d5e1e9; }
#requestForm :is(input,select,textarea):focus-visible { outline: 2px solid #b47b22; outline-offset: 2px; box-shadow: 0 0 0 3px #ffbd4926; }
#requestForm .field-guidance, #requestForm .field-help { font-weight: 400; font-size: 12px; color: #526e81; line-height: 1.5; }
#requestForm .request-content-types { background: #edf4f8; border-color: #bccfdb; padding: 14px 18px; border-radius: 10px; }
#requestForm .request-content-types label { min-height: 36px; }
#requestForm .request-content-types legend { color: #173b52; }
#requestForm .request-content-types input { accent-color: #136886; }
#requestForm .department-field { grid-column: 1 / -1; }
#requestForm .request-deadlines, #requestForm .requester-contact { min-width: 0; }
#requestForm .recurrence-fields { margin: 0; padding: 0; border: 0; background: transparent; }
#requestForm .recurrence-fields .form-grid { grid-template-columns: minmax(0, 1fr); }
#requestForm .criticality-field { margin: 0; padding: 0; }
#requestForm .criticality-native { width: 1px; min-width: 1px; height: 1px; min-height: 1px; padding: 0; border: 0; }
#requestForm .criticality-field::before { display: none; }
#requestForm .criticality-field .field-guidance { margin-bottom: 6px; }
#requestForm .criticality-choice { min-height: 68px; }
#requestForm .request-route-panel { background: linear-gradient(130deg, #142e43, #10374b); border-color: #527689; color: #e9f2f8; }
#requestForm .request-route-panel :is(h3,.field-help,.form-section-title p) { color: #dceaf4; }
#requestForm .request-route-panel > .form-section-title { border-bottom-color: #48677b; }
#requestForm .request-route-criteria { color: #e7bc76; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
#requestForm #approvalRouteSummary { margin: 14px 0; }
#requestForm .request-route-panel[data-state="missing"] #approvalRouteSummary, #requestForm .request-route-panel[data-state="error"] #approvalRouteSummary { color: #ffe1a6; border-left: 3px solid #ffb746; padding-left: 12px; }
.request-route-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 18px 0; padding: 0; }
.request-route-steps:empty { display: none; }
.request-route-step { position: relative; padding: 20px 42px 16px 16px; border: 1px solid #6d899b; border-radius: 10px; background: #ffffff09; min-width: 0; }
.request-route-step strong { color: #fff; font-size: 13px; }
.request-route-step p { color: #fff; font-size: 14px; overflow-wrap: anywhere; margin: 12px 0 6px; }
.request-route-step small { color: #bcd1df; font-size: 11px; }
.request-route-step.is-waived { border-style: dashed; background: transparent; }
.request-route-step.is-waived p { color: #bfd1dd; }
.request-route-number { position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #b29665; border-radius: 7px; color: #ffd283; font-size: 11px; }
#requestForm :is(#materialSection,#serviceSection) > .form-section-title { margin: 12px 0; padding: 0; border: 0; }
#requestForm .item-row { padding: 16px; border: 1px solid #d2e0e9; border-radius: 10px; background: #eaf2f7; }
#requestForm :is(#addItem,#addService) { margin-top: 14px; }
#requestForm .form-footer { margin: 0; padding: 22px; border: 1px solid #c3d4de; border-radius: 12px; background: #edf4f8; gap: 20px; }
#requestForm .form-footer .primary-action { background: linear-gradient(130deg, #f9b139, #ffd074); color: #142e43; border: 1px solid #d79c35; min-height: 48px; font-weight: 800; }
@media (max-width: 760px) {
  .request-type-pages { grid-template-columns: minmax(0, 1fr); }
  #requestForm .form-grid, .request-route-steps { grid-template-columns: minmax(0, 1fr); }
  #requestForm .item-row { grid-template-columns: minmax(0, 1fr) 42px; }
  #requestForm .item-row > :is(.item-lookup,.service-lookup) { grid-column: 1 / -1; }
  #requestForm .item-row > label, #requestForm .unit-field { grid-column: 1; }
  #requestForm .item-row .remove-item { grid-column: 2; grid-row: 3; }
  #requestForm .form-footer { flex-direction: column; align-items: stretch; }
  #view-request > .page-heading .status-tag { display: none; }
}
@media (min-width: 761px) and (max-width: 1080px) { .request-type-pages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Shared BI explorer: data, not a background image, in every KPI guide. */
.portal-bi {
  margin: 0 0 24px; padding: clamp(18px, 3vw, 32px); min-width: 0;
  color: #edf6ff; border: 1px solid #54758c; border-radius: 18px;
  background: radial-gradient(ellipse at top right, #20567566, transparent 65%), linear-gradient(135deg, #142c41, #0a2033);
  box-shadow: 0 12px 28px #051b3520;
}
.portal-bi .portal-bi-heading h2 { color: #fff; margin: 6px 0 8px; font-size: 26px; }
.portal-bi p, .portal-bi small { color: #bcd0e1; line-height: 1.55; }
.portal-bi .portal-bi-eyebrow { font-size: 10px; letter-spacing: .18em; font-weight: 700; color: #ffbd57; }
.portal-bi-controls { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(160px, 1fr)); gap: 16px; margin: 22px 0; }
.portal-bi-controls > div { min-width: 0; }
.portal-bi-controls label, .portal-bi-controls small { display: block; margin-bottom: 6px; }
.portal-bi-controls label { color: #f3f7fb; font-size: 13px; font-weight: 600; }
.portal-bi-controls small { font-size: 11px; }
.portal-bi-controls select { width: 100%; min-height: 44px; padding: 10px 30px 10px 12px; border: 1px solid #668299; border-radius: 8px; background-color: #18374f; color: white; font: inherit; font-size: 13px; }
.portal-bi :is(select, summary):focus-visible { outline: 3px solid #ffbc52; outline-offset: 3px; }
.portal-bi-summary { border-left: 3px solid #ffb338; padding: 8px 18px; margin: 12px 0 24px; }
.portal-bi-summary span { display: block; font-size: 13px; color: #c9daea; }
.portal-bi-summary strong { display: block; font-size: clamp(24px, 3vw, 38px); color: #fff; margin-top: 6px; overflow-wrap: anywhere; }
.portal-bi-output h3 { color: #fff; font-size: 17px; margin: 0 0 6px; }
.portal-bi .portal-bi-note { font-size: 12px; }
.portal-bi-chart { display: grid; gap: 16px; margin: 24px 0; }
.portal-bi-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(90px, 2fr) minmax(75px, 1fr); gap: 16px; align-items: center; font-size: 12px; }
.portal-bi-row strong { text-align: right; color: #eef6ff; }
.portal-bi-track { height: 14px; background: #6b94af30; border-radius: 5px; overflow: hidden; }
.portal-bi-track > div { height: 100%; background: linear-gradient(90deg, #e59a29, #ffd281); border-radius: inherit; }
.portal-bi-table { border-top: 1px solid #506b815c; padding-top: 16px; }
.portal-bi-table summary { color: #9bdaff; cursor: pointer; font-size: 13px; }
.portal-bi-table table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 12px; color: #edf6ff; }
.portal-bi-table :is(th,td) { padding: 10px 8px; border-bottom: 1px solid #54758c66; text-align: left; background: transparent; color: #edf6ff; overflow-wrap: anywhere; }
.portal-bi-table caption { text-align: left; padding: 8px; color: #bcd0e1; }
.portal-bi .portal-bi-source { font-size: 11px; margin: 20px 0 0; border-top: 1px solid #506b815c; padding-top: 14px; }
@media (max-width: 760px) {
  .portal-bi-controls { grid-template-columns: minmax(0, 1fr); }
  .portal-bi-row { grid-template-columns: minmax(0, 1fr) minmax(70px, 1fr); gap: 8px; }
  .portal-bi-row > span { grid-column: 1 / -1; }
}
@media (forced-colors: active) {
  .portal-bi-track > div { background: Highlight; forced-color-adjust: none; }
}
@media (prefers-reduced-motion: reduce) {
  :is(#portal, [id$="Portal"]).sna-navigation-ready .sna-guide-nav.sna-guide-nav > .sna-guide-button { transition: none; }
}
.timeline > .workflow-pending-summary {
  grid-column: 1 / -1; width: 100%; box-sizing: border-box; min-width: 0;
  padding: 18px; border: 1px solid #45617d; border-left: 3px solid #f5ae38;
  border-radius: 12px; background: linear-gradient(120deg, #0b2036, #18344c); color: #f4f8ff;
}
.workflow-pending-summary h4 { margin: 0 0 10px; color: #ffc56c; font-size: 16px; }
.workflow-pending-summary p { margin: 6px 0; color: #d4e2ef; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.workflow-pending-action { padding: 12px 0; border-top: 1px solid #45617d; }
.workflow-pending-action strong { color: #fff; font-size: 13px; }
.workflow-pending-summary .workflow-retention { border-top: 1px solid #45617d; padding-top: 12px; }
.timeline > .workflow-refresh { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; width: 100%; min-width: 0; }
.workflow-refresh small { flex: 1 1 220px; }
.workflow-refresh button { flex: 0 1 auto; width: auto; min-height: 40px; }
.quotation-seller-contact { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:12px; margin:10px 0; border:1px solid #bed0df; border-radius:10px; background:#eef5fa; color:#123c58; overflow-wrap:anywhere; }
.quotation-seller-contact strong { flex:1 1 220px; color:inherit; }
.quotation-seller-contact span, .quotation-seller-contact small { font-size:12px; }
.quotation-seller-contact a { max-width:100%; overflow-wrap:anywhere; }
.quotation-reactivate { display:grid; gap:8px; padding:16px; margin-top:12px; border:1px solid #bed0df; border-radius:12px; background:#f5f9fc; color:#123c58; }
.quotation-reactivate textarea { width:100%; min-height:88px; box-sizing:border-box; padding:12px; border:1px solid #aebfd0; border-radius:8px; background:#fff; color:#123c58; font:inherit; }
.quotation-reactivate > label { font-weight:600; }
.quotation-reactivate .check-label { display:flex; gap:8px; align-items:flex-start; font-weight:400; }
.quotation-reactivate .check-label input { flex:0 0 auto; width:18px; height:18px; accent-color:#087b66; }
.quotation-reactivate button { min-height:44px; width:fit-content; max-width:100%; }
.quotation-reactivate :is(textarea,button,input):focus-visible { outline:2px solid #067fb7; outline-offset:3px; }
:is(#setupFields,#licenseForm) .setup-instructions { color:#e6eef7; background:#ffffff0c; border-left:2px solid #f7b244; border-radius:6px; padding:10px 12px; font-size:12px; line-height:1.5; }
:is(#setupFields,#licenseForm) .field-help { display:block; color:#bbcfdf; font-size:11px; font-weight:400; line-height:1.5; margin:4px 0 8px; }
#licenseForm input { width:100%; min-width:0; min-height:46px; box-sizing:border-box; padding:12px; background:#ffffff24; color:#edf5fc; border:1px solid #ffffff50; border-radius:7px; }
#licenseForm input::placeholder { color:#c2cfda; }
#licenseForm input[type=file] { padding:12px; font-size:12px; }
#licenseForm input[type=file]::file-selector-button { padding:7px 10px; background:#244762; border:1px solid #7595ac; border-radius:5px; color:#fff; margin-right:8px; }
#licenseForm button { min-height:44px; white-space:normal; }
#licenseForm .microsoft-button { display:flex; align-items:center; justify-content:center; padding:12px; font-size:14px; }
#licenseForm .secondary-action { background:#17364d; color:#d9efff; border:1px solid #7192ab; border-radius:7px; padding:10px; }
#licenseForm :is(input,button):focus-visible { outline:2px solid #f6b745; outline-offset:3px; }
#licenseInstallationId { font-size:12px; }
@media (max-width: 480px) { .timeline > .workflow-pending-summary { padding: 12px; } }
@media (forced-colors: active) { .timeline > .workflow-pending-summary { background: Canvas; color: CanvasText; } .workflow-pending-summary :is(h4,p,strong) { color: CanvasText; } }

.portal-terms-dialog {
  box-sizing: border-box;
  width: min(760px, calc(100vw - 24px));
  height: min(760px, calc(100vh - 24px));
  height: min(760px, calc(100dvh - 24px));
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: clamp(14px, 2.4dvh, 27px);
}
.portal-terms-dialog[open] { overflow: hidden; }
.portal-terms-dialog > :not(.portal-terms-content) { flex: 0 0 auto; }
.portal-terms-dialog .portal-terms-content { flex: 1 1 auto; min-height: 54px; overscroll-behavior: contain; }
.portal-terms-dialog .portal-terms-actions {
  position: sticky;
  z-index: 1;
  bottom: 0;
  padding-top: 8px;
  background: #fff;
}
@media (max-height: 760px) {
  .portal-terms-dialog > .section-kicker { display: none; }
  .portal-terms-dialog h2 { font-size: 20px; }
  .portal-terms-dialog > p { margin-block: 5px; font-size: 12px; }
  .portal-terms-dialog > .portal-terms-draft { padding: 7px 10px; }
  .portal-terms-dialog > small { font-size: 10px; }
  .portal-terms-dialog .portal-terms-scope { margin-bottom: 2px; }
  .portal-terms-dialog .portal-terms-content { margin-block: 7px; padding: 11px 14px; }
  .portal-terms-dialog .portal-terms-choice { padding: 9px; font-size: 13px; }
  .portal-terms-dialog .portal-terms-status { margin-block: 4px; }
}
@media (max-width: 600px) {
  .portal-terms-dialog[open] { overflow: hidden; }
  .portal-terms-dialog .portal-terms-content { flex: 1 1 auto; min-height: 48px; max-height: none; }
  .portal-terms-dialog .portal-terms-actions { display: grid; grid-template-columns: 1fr; }
}
.corporate-fullscreen,
.controller-fullscreen,
.supplier-portal-fullscreen,
.fullscreen-button,
.generic-fullscreen { display:none !important; }
.session-expiry-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 28px));max-width:520px;margin:auto;padding:28px;border:1px solid #d79224;border-radius:18px;background:#f8fbfd;color:#173b56;box-shadow:0 26px 80px rgba(2,18,32,.4);text-align:center}.session-expiry-dialog::backdrop{background:rgba(2,15,28,.72);backdrop-filter:blur(3px)}.session-expiry-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:#fff1d8;color:#9b5700;border:2px solid #e4a33b;font-size:1.7rem;font-weight:900}.session-expiry-dialog h2{margin:5px 0 10px;color:#102f47;font-size:clamp(1.35rem,4vw,1.9rem)}.session-expiry-dialog>p:not(.section-kicker){margin:0 auto 22px;max-width:420px;line-height:1.55}.session-expiry-dialog #sessionExpiryCountdown{display:block;margin-top:9px;color:#a25700;font:800 2rem ui-monospace,monospace;letter-spacing:.08em}.session-expiry-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px}.session-expiry-actions button{min-height:48px;white-space:normal}.session-expiry-dialog:focus-visible{outline:3px solid #d79224;outline-offset:4px}@media(max-width:520px){.session-expiry-dialog{padding:22px 18px}.session-expiry-actions{grid-template-columns:1fr}.session-expiry-actions .primary-action{grid-row:1}}
.kpi-email-settings{display:grid;gap:18px}.kpi-email-settings header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.kpi-email-settings header h2{margin:.2rem 0}.kpi-email-status{font-size:.72rem;font-weight:800;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:7px 10px;white-space:nowrap}.kpi-email-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi-email-summary article{border:1px solid rgba(99,132,158,.35);border-radius:12px;padding:12px;background:rgba(255,255,255,.04)}.kpi-email-summary strong{display:block;font-size:1.35rem}.kpi-email-form{display:grid;gap:16px}.kpi-email-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-email-choice{display:flex;gap:9px;align-items:flex-start;border:1px solid rgba(99,132,158,.32);border-radius:10px;padding:11px}.kpi-email-choice input{margin-top:3px}.kpi-email-actions{display:flex;gap:10px;flex-wrap:wrap}.kpi-email-message[data-state="error"]{color:#b42318}.kpi-email-message[data-state="success"]{color:#067647}@media(max-width:780px){.kpi-email-summary,.kpi-email-options{grid-template-columns:1fr 1fr}}@media(max-width:520px){.kpi-email-settings header{display:block}.kpi-email-summary,.kpi-email-options{grid-template-columns:1fr}}
.mfa-form h2,.mfa-recovery h2{margin:0;color:#f6f9fc;font-size:1.45rem}.mfa-enrollment{display:grid;gap:10px}.mfa-app-badges{display:flex;flex-wrap:wrap;gap:8px}.mfa-app-badges span{border:1px solid #66798b;border-radius:999px;padding:6px 10px;font-size:.72rem;color:#dce8f1}.mfa-qr{display:grid;place-items:center;background:#fff;border-radius:12px;padding:10px;min-height:180px}.mfa-qr svg{width:min(220px,100%);height:auto}.mfa-secret{display:block;padding:10px;border:1px dashed #8ca2b4;border-radius:8px;color:#fff;font:700 .92rem ui-monospace,monospace;letter-spacing:.08em;overflow-wrap:anywhere;user-select:all}.mfa-trust{display:flex!important;align-items:center;gap:8px}.mfa-trust input{width:auto!important}.mfa-recovery pre{max-height:220px;overflow:auto;padding:14px;border-radius:8px;background:#0b1d2d;color:#fff;font:700 1rem ui-monospace,monospace;line-height:1.7}.mfa-recovery{gap:12px}#profileTrustedBrowsers .user-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px}@media(max-width:620px){.mfa-qr{min-height:150px}.mfa-app-badges{display:grid}#profileTrustedBrowsers .user-list-item{align-items:stretch;flex-direction:column}}
/* Fotos de produtos: miniatura persistente em todo o fluxo, com ampliação por mouse, teclado ou toque. */
.product-photo-thumb{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:48px;height:48px;padding:2px;border:1px solid rgba(120,151,178,.7);border-radius:10px;background:#fff;cursor:zoom-in;vertical-align:middle;z-index:1}
.product-photo-thumb>img,.product-photo-inline{display:block;width:42px;height:42px;object-fit:contain;border-radius:7px;background:#fff}
.product-photo-preview{position:absolute;display:none;z-index:1200;left:calc(100% + 10px);top:50%;width:min(320px,70vw);height:min(320px,70vw);padding:8px;transform:translateY(-50%);border:1px solid #8aa6bd;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(0,16,32,.38);pointer-events:none}
.product-photo-preview img{width:100%;height:100%;object-fit:contain;border-radius:9px;background:#fff}
@media (hover:hover) and (pointer:fine){.product-photo-thumb:hover .product-photo-preview{display:block}}
.product-photo-thumb:focus-visible,.product-photo-thumb[aria-expanded="true"]{outline:3px solid #f4a62a;outline-offset:2px;z-index:1210}
.product-photo-thumb:focus-visible .product-photo-preview,.product-photo-thumb[aria-expanded="true"] .product-photo-preview{display:block}
.product-flow-line{position:relative;display:flex;align-items:center;gap:10px;min-width:0;margin:.3rem 0}
.product-flow-line>span:last-child{min-width:0;overflow-wrap:anywhere}
.selected-product-photo{display:inline-flex;align-items:center;align-self:end}
.catalog-taxonomy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.catalog-taxonomy-grid .registry-create{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.catalog-taxonomy-grid [data-taxonomy="specifications"]{grid-template-columns:minmax(150px,.65fr) minmax(220px,1fr) auto}
.catalog-taxonomy-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin-top:14px}
/* Identidade de Cadastros do Almoxarifado: catálogo técnico em três janelas. */
#warehousePortal #warehouseCatalogMount {
  min-height: 100%;
  padding: clamp(22px, 3vw, 38px);
  background:
    linear-gradient(128deg, transparent 0 72%, #173f6a45 72% 88%, transparent 88%),
    radial-gradient(circle at 58% 6%, #17477762, transparent 42%),
    linear-gradient(145deg, #031a31 0%, #05243f 54%, #03162a 100%);
}
#warehousePortal #view-catalogs {
  width: min(100%, 1540px);
  margin-inline: auto;
  color: #f3f7fb;
}
#warehousePortal #view-catalogs > .page-heading {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#warehousePortal #view-catalogs > .page-heading .section-kicker {
  margin-bottom: 12px;
  color: #ffb42d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
}
#warehousePortal #view-catalogs > .page-heading h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
}
#warehousePortal #view-catalogs > .page-heading p:last-child {
  max-width: 760px;
  margin: 0;
  color: #bfd0e2;
  font-size: 16px;
  line-height: 1.55;
}
#warehousePortal .catalog-taxonomy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  margin-bottom: 22px;
}
#warehousePortal .catalog-taxonomy-grid > .registry-card,
#warehousePortal .catalog-registry-grid > .registry-card {
  border: 1px solid #4c799f;
  border-radius: 17px;
  background: linear-gradient(145deg, #113553e8 0%, #06243feF 48%, #041b32f2 100%);
  box-shadow: inset 0 1px #9bc8e81a, 0 18px 38px #00101f45;
  color: #f4f8fc;
}
#warehousePortal .catalog-taxonomy-grid > .registry-card {
  min-height: 560px;
  padding: 24px;
}
#warehousePortal .catalog-taxonomy-grid > .registry-card > h3,
#warehousePortal .catalog-registry-grid > .registry-card > h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 14px;
  color: #fff;
  font-size: 22px;
}
#warehousePortal .catalog-taxonomy-grid > .registry-card > h3::before,
#warehousePortal .catalog-registry-grid > .registry-card > h3::before {
  content: '';
  flex: 0 0 6px;
  width: 6px;
  height: 34px;
  border-radius: 6px;
  background: linear-gradient(180deg, #ffb11d, #e98b12);
  box-shadow: 0 0 14px #f7a51c55;
}
#warehousePortal #view-catalogs .form-hint,
#warehousePortal #view-catalogs .field-guidance,
#warehousePortal #view-catalogs small {
  color: #b9cbe0;
}
#warehousePortal #view-catalogs label {
  color: #f5f8fc;
  font-weight: 700;
}
#warehousePortal #view-catalogs :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  min-height: 48px;
  border: 1px solid #4f7da5;
  border-radius: 9px;
  background: #143a5a;
  color: #f6f9fc;
  box-shadow: inset 0 1px 6px #00142645;
}
#warehousePortal #view-catalogs :is(input, textarea)::placeholder { color: #b5c8db; opacity: 1; }
#warehousePortal #view-catalogs :is(input, select, textarea):focus-visible {
  border-color: #ffb42d;
  outline: 2px solid #ffb42d;
  outline-offset: 2px;
}
#warehousePortal .catalog-taxonomy-grid .registry-create {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
#warehousePortal .catalog-taxonomy-grid [data-taxonomy="specifications"] {
  grid-template-columns: minmax(0, 1fr);
}
#warehousePortal .catalog-taxonomy-grid [data-taxonomy="specifications"] > button {
  width: 100%;
}
#warehousePortal #view-catalogs .primary-action {
  border-color: #f0a11c;
  background: linear-gradient(180deg, #c98a31, #9f5d12);
  color: #fff;
  box-shadow: inset 0 1px #ffd28599, 0 7px 16px #000b;
}
#warehousePortal #view-catalogs .primary-action:hover,
#warehousePortal #view-catalogs .primary-action:focus-visible {
  background: linear-gradient(180deg, #dda243, #b56a14);
}
#warehousePortal .catalog-taxonomy-list {
  gap: 0;
  max-height: 390px;
  margin-top: 18px;
  scrollbar-color: #c78728 #08233d;
}
#warehousePortal .catalog-taxonomy-list .registry-item {
  min-height: 82px;
  padding: 15px 0;
  border-top: 1px solid #386485;
}
#warehousePortal .catalog-taxonomy-list .registry-item-text strong { color: #f7f9fc; line-height: 1.35; }
#warehousePortal .catalog-taxonomy-list .registry-item-text small { margin-top: 4px; line-height: 1.45; }
#warehousePortal .catalog-taxonomy-list .registry-item-actions { display: flex; gap: 8px; margin-left: auto; }
#warehousePortal .catalog-taxonomy-list .secondary-action {
  border-color: #44bce9;
  background: #092b48;
  color: #9de3ff;
}
#warehousePortal .catalog-taxonomy-list .danger-action {
  border-color: #ff6473;
  background: #2b2030;
  color: #ff9ba5;
}
@media (max-width: 1260px) and (min-width: 821px) {
  #warehousePortal .catalog-taxonomy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #warehousePortal .catalog-taxonomy-grid > [data-catalog-screen="brands"] { grid-column: 1 / -1; min-height: 360px; }
}
@media (max-width: 820px) {
  #warehousePortal #warehouseCatalogMount { padding: 18px 12px 26px; }
  #warehousePortal .catalog-taxonomy-grid { grid-template-columns: minmax(0, 1fr); }
  #warehousePortal .catalog-taxonomy-grid > .registry-card { min-height: auto; padding: 19px 15px; }
  #warehousePortal .catalog-taxonomy-grid .registry-create { grid-template-columns: minmax(0, 1fr); }
  #warehousePortal .catalog-taxonomy-grid .registry-create > button { width: 100%; }
  #warehousePortal .catalog-taxonomy-list .registry-item { align-items: flex-start; }
  #warehousePortal .catalog-taxonomy-list .registry-item-actions { width: 100%; margin-left: 0; }
  #warehousePortal .catalog-taxonomy-list .registry-item-actions button { flex: 1; }
}
#requestForm .material-row{grid-template-columns:minmax(130px,.65fr) minmax(230px,1.35fr) minmax(150px,.8fr) 76px minmax(150px,.7fr) 105px 42px}
.product-photo-slot{min-height:43px;justify-content:center;padding:7px;border:1px dashed #b8cbd8;border-radius:8px;color:#667d8e;font-size:12px;background:#f7fafc}
.taxonomy-derived-field .request-discipline-display[readonly]{width:100%;min-height:43px;background:#eaf2f7;color:#173e58;border-color:#b8cbd8;font-weight:700;cursor:not-allowed}
.taxonomy-derived-field .request-discipline-display[readonly]:focus{outline:2px solid #8ebbd7;outline-offset:1px}
.request-discipline,.request-brand{width:100%;min-height:43px}
.purchase-edit-item{grid-template-columns:minmax(110px,.55fr) minmax(130px,.65fr) minmax(220px,1.2fr) minmax(140px,.7fr) 72px minmax(100px,.55fr) minmax(130px,.65fr) auto}
@media(max-width:1100px){.catalog-taxonomy-grid{grid-template-columns:1fr}.catalog-taxonomy-grid [data-taxonomy="specifications"]{grid-template-columns:1fr}.catalog-taxonomy-grid .registry-create{grid-template-columns:1fr}#requestForm .material-row,.purchase-edit-item{grid-template-columns:repeat(2,minmax(0,1fr))}#requestForm .material-row .item-lookup,.purchase-edit-item .item-lookup{grid-column:1/-1}}
@media(max-width:680px){#requestForm .material-row,.purchase-edit-item{grid-template-columns:minmax(0,1fr)}#requestForm .material-row>*{grid-column:1!important}.product-photo-slot{justify-content:flex-start}}
.product-photo-inline{flex:0 0 auto;margin-right:8px}
.registry-item{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.registry-item-text{display:grid;min-width:12rem;flex:1}
.catalog-record-open{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;cursor:pointer;overflow-wrap:anywhere}.catalog-record-open:hover{text-decoration:underline}.catalog-record-open:focus-visible{outline:3px solid var(--accent,#f59e0b);outline-offset:3px;border-radius:3px}
.product-photo-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}
.compact-action{min-height:38px;padding:7px 10px}
.product-award-label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}
.product-award-label select{grid-column:1/-1}
.supplier-quote-row>.product-photo-thumb{align-self:center}
.quotation-response-table th>.product-photo-thumb{margin-right:8px}
@media (max-width:760px),(pointer:coarse){
  .product-photo-thumb{width:54px;height:54px;min-width:54px;min-height:54px}
  .product-photo-thumb>img,.product-photo-inline{width:48px;height:48px}
  .product-photo-preview{position:fixed;left:50%;top:50%;width:min(86vw,420px);height:min(70vh,420px);transform:translate(-50%,-50%);pointer-events:auto}
  .registry-item{align-items:flex-start}.product-photo-actions{width:100%;margin-left:64px}.product-photo-actions button{flex:1 1 9rem}
  .product-flow-line{align-items:flex-start}.product-award-label{grid-template-columns:auto minmax(0,1fr)}
}
@media (min-width:1800px){
  .product-photo-thumb{width:58px;height:58px}.product-photo-thumb>img,.product-photo-inline{width:52px;height:52px}
  .product-photo-preview{width:380px;height:380px}
}
.catalog-photo-review{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line,#cbd9e5)}
.catalog-form-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.catalog-form-actions>span{flex:1}.catalog-form-actions .primary-action,.catalog-form-actions .secondary-action,.catalog-form-actions .danger-action{margin-top:0;min-height:2.75rem}
.catalog-editor-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-height:min(88vh,900px);margin:auto;padding:0;border:1px solid var(--line,#cbd9e5);border-radius:16px;background:#fff;color:#173a57;box-shadow:0 24px 72px rgba(2,18,32,.42)}.catalog-editor-dialog::backdrop{background:rgba(2,15,28,.72);backdrop-filter:blur(3px)}.catalog-editor-dialog>.admin-form{box-sizing:border-box;max-height:min(88vh,900px);overflow:auto;padding:clamp(20px,4vw,32px)}.catalog-editor-dialog textarea{width:100%;resize:vertical}.catalog-editor-message:not(:empty){padding:.7rem;border:1px solid #d39a9a;border-radius:.5rem;background:#fff4f4;color:#8f2222}
.product-catalog-list-heading{margin-top:1.25rem}
.catalog-product-search{display:grid;grid-template-columns:minmax(15rem,1fr) auto;align-items:end;gap:.75rem;margin:.75rem 0}
.catalog-product-search label{margin:0}
.catalog-photo-review .card-heading{align-items:flex-start;gap:.75rem}
.catalog-photo-review-item{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem}
.catalog-photo-candidate-image{width:4.5rem;height:4.5rem;object-fit:contain;border:1px solid #cbd9e5;border-radius:.65rem;background:#fff}
.catalog-photo-review-item .registry-item-text{display:grid;gap:.18rem;min-width:0}
.catalog-photo-review-item .registry-item-text a{font-size:.78rem;overflow-wrap:anywhere}
.catalog-photo-approve-link{appearance:none;border:0;padding:0;background:transparent;color:var(--ink,#173a57);font:inherit;font-weight:800;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.catalog-photo-approve-link:hover{text-decoration:underline;color:var(--primary,#126ca8)}
.catalog-photo-approve-link:focus-visible{outline:3px solid var(--accent,#f59e0b);outline-offset:3px;border-radius:.2rem}
.catalog-photo-name-form{grid-column:2/-1;display:grid;grid-template-columns:minmax(16rem,1fr) auto;align-items:end;gap:.75rem;padding:.8rem;border:1px solid var(--line,#cbd9e5);border-radius:.7rem;background:color-mix(in srgb,var(--panel,#fff) 96%,var(--primary,#126ca8))}
.catalog-photo-name-form label{display:grid;gap:.3rem;margin:0}.catalog-photo-name-form input{width:100%;min-height:2.75rem}
.catalog-photo-name-actions{display:flex;gap:.55rem;flex-wrap:wrap}.catalog-photo-name-actions button{min-height:2.75rem}
.warehouse-counter-mfa{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent,#f59e0b) 55%,var(--line,#cbd9e5));border-radius:.85rem;background:color-mix(in srgb,var(--panel,#fff) 94%,var(--accent,#f59e0b))}
.warehouse-counter-mfa h4{margin:0 0 .35rem}.warehouse-counter-mfa>.secondary-action{margin-top:.55rem}
.warehouse-counter-mfa-form{display:grid;gap:.7rem;margin-top:.75rem}.warehouse-counter-mfa-form[hidden]{display:none}
.warehouse-counter-mfa-form label{display:grid;gap:.35rem}.warehouse-counter-mfa-form input{max-width:16rem;font-size:1.2rem;letter-spacing:.28em;text-align:center}
.warehouse-counter-mfa-actions{display:flex;gap:.65rem;flex-wrap:wrap}.warehouse-counter-mfa-actions button{min-height:2.75rem}
@media(max-width:700px){.warehouse-counter-mfa-actions{display:grid;grid-template-columns:1fr}.warehouse-counter-mfa-actions button,.warehouse-counter-mfa-form input{width:100%;max-width:none}}
@media(max-width:700px){.catalog-product-search{grid-template-columns:1fr}.catalog-product-search button{width:100%}.catalog-photo-review-item{grid-template-columns:3.75rem minmax(0,1fr)}.catalog-photo-candidate-image{width:3.75rem;height:3.75rem}.catalog-photo-review-item .product-photo-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr 1fr}.catalog-photo-review-item .product-photo-actions button{width:100%}.catalog-photo-name-form{grid-column:1/-1;grid-template-columns:1fr}.catalog-photo-name-actions{display:grid;grid-template-columns:1fr 1fr}.catalog-photo-name-actions button{width:100%}}
@media(max-width:560px){.catalog-form-actions{display:grid;grid-template-columns:1fr}.catalog-form-actions>span{display:none}.catalog-form-actions button{width:100%}.catalog-editor-dialog{width:calc(100vw - 16px)}}
/* Integração Omie e conferência de fornecedores · v8.7.38 */
.supplier-omie-panel{display:grid;gap:1rem;border-left:4px solid #0b78b5}.supplier-omie-panel details{border:1px solid #c8d8e5;border-radius:12px;padding:.8rem 1rem}.supplier-omie-panel summary{cursor:pointer;font-weight:800;color:#123b57}.supplier-omie-settings,.supplier-kpi-ranking{margin-top:1rem}.supplier-omie-filter-grid{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(8rem,1fr)) auto auto auto;gap:.65rem;align-items:end;margin:1rem 0}.supplier-omie-filter-grid label:not(.check),.supplier-kpi-period label{display:grid;gap:.35rem;font-weight:700}.supplier-omie-filter-grid .check{align-self:center}.supplier-preregistration-row{grid-template-columns:auto minmax(16rem,1fr) minmax(14rem,auto)}.supplier-preregistration-actions{justify-content:flex-end}.supplier-kpi-period{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1rem 0}.supplier-kpi-ranking{display:grid;gap:.5rem}.supplier-kpi-ranking-row{padding:.7rem .85rem;border:1px solid #c8d8e5;border-radius:10px;background:#f7fbfe}.supplier-omie-invite-dialog input[readonly]{width:100%;font-family:ui-monospace,Consolas,monospace}.supplier-omie-invite-dialog .supplier-preregistration-dialog-shell{min-width:min(42rem,88vw)}
@media(max-width:900px){.supplier-omie-filter-grid{grid-template-columns:1fr 1fr}.supplier-preregistration-row{grid-template-columns:auto 1fr}.supplier-preregistration-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:560px){.supplier-omie-filter-grid{grid-template-columns:1fr}.supplier-preregistration-actions{grid-column:1/-1}.supplier-preregistration-actions>*{width:100%}.supplier-kpi-period>*{width:100%}}
.supplier-existing-document-row,
.existing-document-list > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
  padding: .55rem 0;
}

.existing-document-list {
  display: grid;
  gap: .35rem;
  margin: .5rem 0;
}

.supplier-preregistration-edit-dialog { width: min(920px, calc(100vw - 32px)); max-height: 90vh; }
.supplier-pending-user-form { border-top: 1px solid #cfdeea; margin-top: 1rem; padding-top: 1rem; }
.supplier-pending-user-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.supplier-pending-user-fields label { display: grid; gap: .35rem; min-width: 0; margin: 0; font-weight: 700; color: #173a55; }
.supplier-pending-user-fields input,
.supplier-pending-user-fields select { box-sizing: border-box; width: 100%; min-height: 42px; margin: 0; padding: .55rem .7rem; border: 1px solid #b7ccda; border-radius: 8px; background: #fff; color: #17354b; font: inherit; }
.supplier-pending-user-fields input:focus-visible,
.supplier-pending-user-fields select:focus-visible { outline: 2px solid #1979ae; outline-offset: 1px; }
.supplier-pending-user-list { display: grid; gap: .4rem; }
.supplier-pending-user { margin: 0; padding: .7rem .8rem; border: 1px solid #d1e1ea; border-radius: 8px; background: #f5fafe; color: #173a55; overflow-wrap: anywhere; }
.supplier-pending-user-form .generated-password-field[hidden] { display: none; }
@media (max-width: 700px) { .supplier-pending-user-fields { grid-template-columns: 1fr; } }

/* Presença ao vivo nos cards corporativos · simulador */
.corporate-presence-stack {
  position: relative; display: flex; align-items: center; min-height: 36px; margin-top: 12px;
  padding: 3px 7px 3px 3px; border: 1px solid #ffffff2c; border-radius: 999px;
  background: #07182ba8; color: #dcecff; cursor: pointer; isolation: isolate;
}
.corporate-presence-stack:hover, .corporate-presence-stack:focus-visible { border-color: var(--module-accent); outline: 2px solid #ffffff54; outline-offset: 2px; }
.live-presence-avatar {
  position: relative; display: inline-grid; place-items: center; flex: none; width: 31px; height: 31px;
  overflow: hidden; border: 2px solid #10243a; border-radius: 50%; background: linear-gradient(145deg,var(--module-accent,#f39a34),#355271);
  color: #fff; box-shadow: 0 4px 10px #0008; font-size: 10px; font-weight: 900; letter-spacing: .02em;
}
.corporate-presence-stack .live-presence-avatar + .live-presence-avatar { margin-left: -10px; }
.corporate-presence-stack .live-presence-avatar:nth-child(1) { z-index: 7; }
.corporate-presence-stack .live-presence-avatar:nth-child(2) { z-index: 6; }
.corporate-presence-stack .live-presence-avatar:nth-child(3) { z-index: 5; }
.corporate-presence-stack .live-presence-avatar:nth-child(4) { z-index: 4; }
.corporate-presence-stack .live-presence-avatar:nth-child(5) { z-index: 3; }
.corporate-presence-stack .live-presence-avatar:nth-child(6) { z-index: 2; }
.live-presence-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.corporate-presence-stack > small { margin-left: auto; padding-left: 6px; min-width: 0; max-width: 138px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #dcecff; font-size: 9px; font-weight: 800; }
.live-presence-more { display: inline-grid; place-items: center; flex: none; width: 31px; height: 31px; margin-left: -10px; z-index: 1; border: 2px solid #10243a; border-radius: 50%; background: #314b66; color: white; font-size: 9px; font-weight: 900; }
.live-presence-dialog { width: min(620px,calc(100vw - 24px)); max-height: min(760px,calc(100vh - 32px)); padding: 0; overflow: auto; border: 1px solid #f39a34aa; border-radius: 18px; background: linear-gradient(145deg,#0b2239,#07182b); color: #f7fbff; box-shadow: 0 30px 90px #000a; }
.live-presence-dialog::backdrop { background: #04111dcc; backdrop-filter: blur(4px); }
.live-presence-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 26px 18px; border-bottom: 1px solid #ffffff24; }
.live-presence-heading .section-kicker { margin: 0 0 5px; color: #f5a137; }
.live-presence-heading h2 { margin: 0; color: #fff; font-size: clamp(24px,4vw,34px); }
.live-presence-heading p:last-child { margin: 6px 0 0; color: #bcd0e2; }
.live-presence-close, .live-presence-back { border: 1px solid #ffffff43; border-radius: 9px; background: #ffffff0d; color: #eef7ff; cursor: pointer; }
.live-presence-close { flex: none; width: 42px; height: 42px; font-size: 27px; line-height: 1; }
.live-presence-back { min-height: 40px; padding: 0 14px; font-weight: 800; }
.live-presence-list { display: grid; gap: 9px; padding: 18px 22px 24px; }
.live-presence-person { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; align-items: center; gap: 13px; width: 100%; padding: 12px 14px; border: 1px solid #ffffff29; border-radius: 12px; background: #ffffff09; color: #fff; text-align: left; cursor: pointer; }
.live-presence-person:hover, .live-presence-person:focus-visible { border-color: #f39a34; background: #ffffff12; outline: none; }
.live-presence-person .live-presence-avatar { width: 43px; height: 43px; font-size: 13px; }
.live-presence-person > span:not(.live-presence-avatar) { display: grid; gap: 4px; min-width: 0; }
.live-presence-person strong { overflow-wrap: anywhere; font-size: 15px; }
.live-presence-person small { color: #b8cde0; line-height: 1.35; }
.live-presence-person b { color: #f5a137; font-size: 25px; }
.live-presence-representative { margin: 3px 0 0; color: #c5d8ea; font-size: 13px; }
.live-presence-profile-identity { display: flex; align-items: center; gap: 18px; padding: 23px 26px; }
.live-presence-avatar.large { width: 76px; height: 76px; border-color: #f39a34; font-size: 22px; }
.live-presence-profile-identity h2 { margin: 4px 0; font-size: clamp(23px,4vw,34px); }
.live-presence-active { margin: 0; color: #7fe0ae; }
.live-presence-active.offline { color: #f4bd76; }
.corporate-home-presence { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; min-width: 0; margin-top: 14px; padding-top: 12px; border-top: 1px solid #ffffff29; }
.corporate-home-presence > span:first-child { color: #d7e6f5; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.corporate-home-presence .corporate-presence-stack { flex: 0 1 260px; margin: 0; }
.portal-live-presence { flex: 0 1 230px; max-width: 230px; min-width: 128px; margin: 0 4px 0 0; background: #07182b82; }
.portal-live-presence .live-presence-avatar { width: 28px; height: 28px; }
.portal-live-presence > small { font-size: 8px; }
.live-presence-profile-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0 26px 22px; }
.live-presence-profile-details > div { min-width: 0; padding: 13px; border: 1px solid #ffffff20; border-radius: 10px; background: #ffffff08; }
.live-presence-profile-details dt { margin-bottom: 5px; color: #9fb8cd; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.live-presence-profile-details dd { margin: 0; overflow-wrap: anywhere; color: #fff; }
.live-presence-note { margin: 0 26px 26px; padding: 12px 14px; border-left: 3px solid #f39a34; background: #f39a3414; color: #c9dae8; }
@media (max-width: 650px) {
  .corporate-presence-stack > small { display: none; }
  .corporate-home-presence { align-items: flex-start; flex-direction: column; }
  .corporate-home-presence .corporate-presence-stack { width: 100%; flex-basis: auto; }
  .portal-live-presence { min-width: 74px; max-width: 112px; }
  .portal-live-presence .live-presence-avatar:nth-child(n+4) { display: none; }
  .live-presence-profile-details { grid-template-columns: 1fr; }
  .live-presence-profile-identity { align-items: flex-start; }
}
.user-behavior-kpis{margin-top:22px}.user-behavior-kpis .dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.user-behavior-kpis .dashboard-kpi small{display:block;margin-top:8px;color:var(--muted,#6b8294);line-height:1.35}.behavior-kpi-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:20px}.behavior-kpi-ranking,.behavior-kpi-locations{min-width:0;padding:18px;border:1px solid rgba(65,139,184,.34);border-radius:16px;background:rgba(9,42,67,.045)}.behavior-kpi-ranking h3,.behavior-kpi-locations h3{margin:0 0 12px}.behavior-kpi-ranking{overflow:auto}.behavior-kpi-ranking .dashboard-table{min-width:680px}.behavior-heatmap{height:360px;margin-top:14px;border:1px solid rgba(65,139,184,.42);border-radius:14px;overflow:hidden;background:#08223a}.behavior-heatmap.empty{display:grid;place-items:center;height:220px;padding:24px;text-align:center;color:#6f8798;background:rgba(8,34,58,.06)}.behavior-retention{margin:16px 0 0}.mapboxgl-popup-content{color:#102f46}.mapboxgl-ctrl-attrib{font-size:10px}@media(max-width:900px){.behavior-kpi-layout{grid-template-columns:1fr}.behavior-heatmap{height:300px}}@media(max-width:560px){.user-behavior-kpis{padding:14px}.behavior-kpi-ranking,.behavior-kpi-locations{padding:13px}.behavior-heatmap{height:260px}}
.behavior-dashboard-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:18px 0;padding:14px;border:1px solid rgba(65,139,184,.34);border-radius:14px;background:rgba(9,42,67,.045)}.behavior-dashboard-toolbar label{display:grid;gap:6px;min-width:210px;font-weight:700}.behavior-dashboard-toolbar select{min-height:42px}.behavior-dashboard-analytics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.behavior-dashboard-chart{min-width:0;padding:18px;border:1px solid rgba(65,139,184,.34);border-radius:16px;background:rgba(9,42,67,.045)}.behavior-dashboard-chart h3{margin:0 0 6px}.behavior-dashboard-chart .behavior-bars{max-height:330px;overflow:auto;padding-right:6px}.behavior-dashboard-chart .behavior-bar-row{grid-template-columns:minmax(92px,140px) minmax(100px,1fr) minmax(150px,auto)}.behavior-user-filters{display:flex;flex-wrap:wrap;gap:8px}.behavior-user-filters input{min-width:210px}.behavior-user-filters select{min-width:150px}@media(max-width:900px){.behavior-dashboard-analytics{grid-template-columns:1fr}}@media(max-width:560px){.behavior-dashboard-toolbar{align-items:stretch;flex-direction:column}.behavior-dashboard-toolbar label{min-width:0}.behavior-dashboard-chart{padding:13px}.behavior-dashboard-chart .behavior-bar-row{grid-template-columns:90px minmax(70px,1fr);}.behavior-dashboard-chart .behavior-bar-row strong{grid-column:1/-1}.behavior-user-filters>*{width:100%;min-width:0}}

/* v8.1.93 - Nova Requisicao: padrao azul profundo em todas as janelas. */
#view-request {
  --request-ink:#f5f9ff;--request-muted:#b7cbe0;--request-line:#39698f;
  --request-field:#12395a;--request-surface:#0b2d4a;--request-accent:#ffae16;
  max-width:1440px;margin-inline:auto;padding:clamp(18px,2.4vw,34px);
  border:1px solid #254f72;border-radius:22px;color:var(--request-ink);
  background:radial-gradient(circle at 86% 8%,#175486 0,transparent 30%),radial-gradient(circle at 22% 72%,#0b416d 0,transparent 38%),linear-gradient(145deg,#031b31 0%,#082845 48%,#041a30 100%);
  box-shadow:0 22px 50px #00102240,inset 0 1px 0 #8dc7eb1f;
}
#view-request>.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(24px,3.6vw,46px);border:1px solid var(--request-line);border-left:7px solid var(--request-accent);border-radius:18px;background:radial-gradient(ellipse at top right,#255e893d,transparent 62%),linear-gradient(135deg,#0a2d4c,#08233d);box-shadow:0 14px 32px #00132652,inset 0 1px 0 #b6dcf31a;color:var(--request-ink)}
#view-request>.page-heading h2{margin:12px 0 10px;color:#fff;font-size:clamp(30px,3.4vw,46px);line-height:1.08}
#view-request>.page-heading p{margin-bottom:0;color:var(--request-muted);font-size:clamp(14px,1.35vw,18px)}
#view-request>.page-heading .section-kicker{margin:0;color:#ffc24d;letter-spacing:.16em;font-size:11px;font-weight:800}
#view-request>.page-heading .status-tag{flex:0 0 auto;padding:13px 20px;border:1px solid #45779b;border-radius:13px;background:#19476b73;color:#bfe5ff;font-weight:750;box-shadow:inset 0 0 18px #4cb5ff12}
#view-request .request-type-pages{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:26px 0 28px}
#view-request .request-type-pages button{min-height:92px;padding:16px 18px;border:1px solid var(--request-line);border-radius:14px;background:linear-gradient(145deg,#103654,#0b2944);color:var(--request-ink);box-shadow:0 9px 22px #0014263d,inset 0 1px 0 #b7ddf519;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}
#view-request .request-type-pages button:hover{border-color:#ffb326;transform:translateY(-2px);box-shadow:0 12px 28px #0014265c,0 0 0 1px #ffae1638}
#view-request .request-type-pages button.active{border-color:var(--request-accent);background:linear-gradient(145deg,#40351f,#142f45 72%);box-shadow:inset 0 0 0 1px #ffba344d,0 10px 24px #cf7d002e,0 0 22px #ffae161f}
#view-request .request-type-pages button:focus-visible{outline:3px solid #ffc047;outline-offset:3px}
#view-request .request-type-pages strong{color:#fff;font-size:14px}
#view-request .request-type-pages small{color:var(--request-muted);font-size:11px;line-height:1.4}
#view-request .request-type-page-icon{flex-basis:46px;width:46px;height:46px;border-color:#be7210;border-radius:12px;background:linear-gradient(145deg,#8f5410,#503810);color:#fff4d7;font-size:22px;box-shadow:inset 0 0 15px #ffb21f24}
#view-request .request-type-pages button.active .request-type-page-icon{background:linear-gradient(145deg,#c77a11,#75450c);border-color:#ffaf1b;color:#fff}
#view-request [data-request-type-form]{display:grid;gap:20px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}
#view-request [data-request-type-form][hidden]{display:none}
#view-request [data-request-type-form] .request-panel{min-width:0;margin:0;padding:clamp(20px,2.6vw,34px);border:1px solid var(--request-line);border-radius:17px;background:radial-gradient(circle at 94% 4%,#1d5a842b,transparent 35%),linear-gradient(145deg,#0d3353,#082641);box-shadow:0 12px 28px #00142645,inset 0 1px 0 #a9d7f11a;color:var(--request-ink)}
#view-request [data-request-type-form] .request-panel>.form-section-title{margin:0 0 24px;padding:0 0 20px;border:0;border-bottom:1px solid #376487;align-items:flex-start}
#view-request [data-request-type-form] .request-panel>.form-section-title>span{display:grid;place-items:center;width:44px;height:44px;flex-basis:44px;border:2px solid var(--request-accent);border-radius:11px;background:#0c2a43;color:var(--request-accent);font-size:19px;box-shadow:0 0 17px #ffae1626}
#view-request [data-request-type-form] .request-panel h3{color:#fff;font-size:clamp(18px,1.7vw,24px)}
#view-request [data-request-type-form] .form-section-title p{color:var(--request-muted)}
#view-request [data-request-type-form] .form-grid{gap:20px 28px}
#view-request [data-request-type-form] label,#view-request [data-request-type-form] legend{color:#f8fbff;font-weight:700}
#view-request [data-request-type-form] :is(small,.field-guidance,.field-help,.form-hint){color:var(--request-muted);font-weight:400;font-size:12px;line-height:1.5}
#view-request [data-request-type-form] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){min-height:48px;border:1px solid #4d7ea2;border-radius:9px;background:linear-gradient(135deg,#173f60,#123553);color:#f7fbff;box-shadow:inset 0 1px 10px #00122626}
#view-request [data-request-type-form] :is(input,textarea)::placeholder{color:#9fb9cf;opacity:1}
#view-request [data-request-type-form] input[readonly]{background:linear-gradient(135deg,#153956,#102f49);color:#c5d9ea;border-color:#315f82}
#view-request [data-request-type-form] :is(input,select,textarea):focus-visible{outline:2px solid var(--request-accent);outline-offset:2px;border-color:var(--request-accent);box-shadow:0 0 0 4px #ffae1626}
#view-request [data-request-type-form] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--request-accent)}
#view-request [data-request-type-form] .request-content-types{padding:16px 20px;border-color:#39698f;border-radius:12px;background:#0b2943}
#view-request [data-request-type-form] .request-content-types :is(label,legend){color:#fff}
#view-request [data-request-type-form] .request-route-panel{background:radial-gradient(circle at top right,#245d852e,transparent 46%),linear-gradient(130deg,#0b2944,#09233b);border-color:#517da0}
#view-request [data-request-type-form] .request-route-step{border-color:#527b99;border-radius:11px;background:#163b591f}
#view-request [data-request-type-form] .item-row{padding:16px;border:1px solid #3e6e91;border-radius:11px;background:linear-gradient(140deg,#103553,#0b2b47)}
#view-request [data-request-type-form] .secondary-action{border-color:#4e7da0;background:#123958;color:#eaf6ff}
#view-request [data-request-type-form] .secondary-action:hover{border-color:var(--request-accent);color:#fff}
#view-request [data-request-type-form] .form-footer{margin:0;padding:22px;border:1px solid var(--request-line);border-radius:13px;background:linear-gradient(140deg,#0c2e4b,#092640);color:var(--request-muted);gap:20px}
#view-request [data-request-type-form] .form-footer .primary-action{min-height:48px;border:1px solid #d79c35;background:linear-gradient(130deg,#f9b139,#ffd074);color:#142e43;font-weight:800}

/* Arvore de centros de custo no mesmo padrao, com selecao compacta. */
#requestForm .request-cost-center-field{grid-column:1/-1;margin:0;padding:clamp(18px,2.2vw,28px);border:1px solid var(--request-line);border-radius:15px;background:linear-gradient(145deg,#0c3150,#082641);box-shadow:inset 0 1px 0 #aedcf41a}
#requestForm .request-cost-center-field>legend{padding:0 9px;color:#fff;font-size:clamp(18px,1.8vw,24px)}
#requestForm .request-cost-center-field>.field-guidance{display:block;max-width:780px;margin:4px 0 20px;color:var(--request-muted);font-size:14px}
#requestForm .request-cost-center-search{position:relative;display:grid;gap:8px;margin:0 0 18px;padding-left:24px;color:#fff;font-size:16px}
#requestForm .request-cost-center-search::before{content:"";position:absolute;top:2px;bottom:2px;left:0;width:5px;border-radius:5px;background:var(--request-accent);box-shadow:0 0 13px #ffae1645}
#requestForm .request-cost-center-search input{margin-top:8px;margin-left:-24px;padding-left:18px;background:linear-gradient(135deg,#153d5e,#102f4d)}
#requestForm .request-cost-center-tree{max-height:360px;gap:9px;padding:14px 16px 14px 34px;border:1px solid #39698f;border-radius:14px;background:linear-gradient(145deg,#0b2d49,#08243c);box-shadow:inset 0 8px 24px #00172a2e}
#requestForm .request-cost-center-group{position:relative;gap:5px}
#requestForm .request-cost-center-root,#requestForm .request-cost-center-children label{width:100%;min-height:40px;padding:8px 12px;border:1px solid #315d7e;border-radius:9px;background:linear-gradient(140deg,#123a59,#0d2f4c);color:#f5f9fd;font-size:13px}
#requestForm .request-cost-center-root{font-weight:780;background:linear-gradient(140deg,#173f5e,#10324d)}
#requestForm .request-cost-center-children{gap:6px;margin:5px 0 2px 10px;padding-left:17px;border-left:3px solid var(--request-accent)}
#requestForm .request-cost-center-root:hover,#requestForm .request-cost-center-children label:hover{border-color:#ffb528;background:linear-gradient(140deg,#1b496c,#123a57)}
#requestForm .request-cost-center-root:has(input:checked),#requestForm .request-cost-center-children label:has(input:checked){border-color:#ffae16;background:linear-gradient(140deg,#4b3c20,#153c58);box-shadow:inset 0 0 0 1px #ffae1633}
#requestForm .request-cost-center-root input[type="checkbox"],#requestForm .request-cost-center-children input[type="checkbox"]{width:15px;min-width:15px;height:15px;min-height:15px;margin:0 10px 0 0;border-radius:3px;accent-color:var(--request-accent)}
#requestForm .request-cost-center-summary{margin:16px 6px 0;color:var(--request-muted);font-size:13px}
@media(max-width:760px){
  #view-request{padding:12px;border-radius:15px}
  #view-request>.page-heading{align-items:flex-start;padding:24px 20px}
  #view-request [data-request-type-form] .form-grid,#view-request .request-route-steps{grid-template-columns:minmax(0,1fr)}
  #requestForm .request-cost-center-tree{max-height:280px;padding:12px 10px 12px 20px}
  #requestForm .request-cost-center-children{margin-left:6px;padding-left:10px}
}

/* v8.1.94 - Seletor corporativo de centros de custo em todos os portais. */
.shared-cost-center-native{
  position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;
  margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;
}
.shared-cost-center-field-wrapper{display:grid;align-content:start;gap:0;min-width:0}
.shared-cost-center-field-wrapper>label{margin-bottom:0!important}
.shared-cost-center-selector,.approval-cost-center-tree{
  --cost-tree-ink:#f5f9ff;--cost-tree-muted:#b7cbe0;--cost-tree-line:#39698f;--cost-tree-accent:#ffae16;
  box-sizing:border-box;display:grid;gap:12px;width:100%;min-width:0;margin:8px 0 16px;padding:14px;
  border:1px solid var(--cost-tree-line);border-radius:14px;color:var(--cost-tree-ink);
  background:radial-gradient(circle at 92% 2%,#1b56802d,transparent 42%),linear-gradient(145deg,#0b2d49,#08243c);
  box-shadow:inset 0 8px 24px #00172a2e,0 8px 18px #00142624;
}
.shared-cost-center-search{position:relative;display:grid!important;gap:7px!important;margin:0!important;padding-left:17px!important;color:#fff!important;font-size:13px!important;font-weight:750!important}
.shared-cost-center-search::before{content:"";position:absolute;inset:1px auto 1px 0;width:4px;border-radius:4px;background:var(--cost-tree-accent);box-shadow:0 0 10px #ffae1645}
.shared-cost-center-search>input{box-sizing:border-box;width:100%;min-height:42px!important;margin:2px 0 0 -17px!important;padding:9px 12px!important;border:1px solid #4d7ea2!important;border-radius:9px!important;background:linear-gradient(135deg,#173f60,#123553)!important;color:#f7fbff!important;box-shadow:inset 0 1px 10px #00122626!important}
.shared-cost-center-search>input::placeholder{color:#9fb9cf!important;opacity:1}
.shared-cost-center-search>input:focus-visible{outline:2px solid var(--cost-tree-accent)!important;outline-offset:2px!important;border-color:var(--cost-tree-accent)!important}
.shared-cost-center-tree{display:grid;gap:7px;max-height:310px;overflow:auto;padding:7px;scrollbar-color:#5281a4 #08233d}
.shared-cost-center-group{display:grid;gap:5px;min-width:0}
.shared-cost-center-option{box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-self:start;width:auto!important;max-width:100%;min-height:36px!important;margin:0!important;padding:7px 11px!important;border:1px solid #315d7e!important;border-radius:8px!important;background:linear-gradient(140deg,#123a59,#0d2f4c)!important;color:#f5f9fd!important;font-size:12px!important;font-weight:650!important;line-height:1.35!important;cursor:pointer}
.shared-cost-center-root{font-weight:780!important;background:linear-gradient(140deg,#173f5e,#10324d)!important}
.shared-cost-center-all{border-color:#9a7028!important;background:linear-gradient(140deg,#3f371f,#153a55)!important}
.shared-cost-center-option:hover{border-color:#ffb528!important;background:linear-gradient(140deg,#1b496c,#123a57)!important}
.shared-cost-center-option:has(input:checked){border-color:var(--cost-tree-accent)!important;background:linear-gradient(140deg,#4b3c20,#153c58)!important;box-shadow:inset 0 0 0 1px #ffae1633}
.shared-cost-center-option input[type="checkbox"]{box-sizing:border-box;flex:0 0 14px;width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important;margin:0 8px 0 0!important;padding:0!important;border-radius:3px;accent-color:var(--cost-tree-accent)}
.shared-cost-center-children{display:grid;gap:5px;margin:0 0 2px 9px;padding-left:14px;border-left:3px solid var(--cost-tree-accent)}
.shared-cost-center-summary,.shared-cost-center-empty{margin:0 4px;color:var(--cost-tree-muted);font-size:12px;line-height:1.45}
.approval-cost-center-tree{align-content:start;margin:8px 0 0;padding:12px}
.approval-cost-center-tree>.shared-cost-center-all{margin-left:7px!important}
.approval-cost-center-tree>.shared-cost-center-tree{width:100%;padding:2px 7px 7px}
@media(max-width:760px){
  .shared-cost-center-selector,.approval-cost-center-tree{padding:10px;border-radius:11px}
  .shared-cost-center-tree{max-height:260px;padding:4px}
  .shared-cost-center-option{min-height:34px!important;padding:7px 9px!important}
  .shared-cost-center-children{margin-left:5px;padding-left:9px}
}

/* v8.21.63 - A árvore deve caber integralmente em qualquer janela e tela. */
#requestForm .request-cost-center-field,
#requestForm .request-cost-center-search,
#requestForm .request-cost-center-tree,
.shared-cost-center-selector,
.approval-cost-center-tree{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0}
#requestForm .request-cost-center-search input,.shared-cost-center-search>input{min-width:0!important;max-width:100%!important}
#requestForm .request-cost-center-root,#requestForm .request-cost-center-children label,.shared-cost-center-option{white-space:normal;overflow-wrap:anywhere}
@media(max-width:520px){
  #requestForm .request-cost-center-field{padding:14px 10px}
  #requestForm .request-cost-center-field>.field-guidance{margin-bottom:14px}
  #requestForm .request-cost-center-search{padding-left:15px}
  #requestForm .request-cost-center-search input{margin-left:-15px;padding-left:12px}
  #requestForm .request-cost-center-tree{padding:9px}
  #requestForm .request-cost-center-root,#requestForm .request-cost-center-children label{min-height:34px;padding:6px 8px}
}

/* v10.28.582 - Canal assistido de marketplace no tratamento de Compras. */
#view-purchase .marketplace-purchase-form{border-color:#47779b;background:radial-gradient(circle at 95% 0,#2b66913d,transparent 38%),linear-gradient(145deg,#0b2e4d,#08243d);color:#f7fbff}
#view-purchase .marketplace-purchase-form .card-heading{align-items:flex-start;gap:18px;margin-bottom:8px}
#view-purchase .marketplace-purchase-form .section-kicker{margin:0 0 6px;color:#ffb224;letter-spacing:.14em;font-size:11px;font-weight:800}
#view-purchase .marketplace-purchase-form h3{margin:0;color:#fff}
#view-purchase .marketplace-purchase-form .status-tag{padding:8px 12px;border:1px solid #b77b19;border-radius:999px;background:#523b18;color:#ffd98f;font-size:12px;white-space:nowrap}
#view-purchase .marketplace-purchase-form :is(label,legend){color:#f8fbff}
#view-purchase .marketplace-purchase-form :is(input,select):not([type="checkbox"]){border-color:#4d7ea2;background:linear-gradient(135deg,#173f60,#123553);color:#f7fbff}
#view-purchase .marketplace-purchase-form input[readonly]{color:#c9def0;background:linear-gradient(135deg,#143955,#102f49)}
#view-purchase .marketplace-purchase-fields{display:grid;gap:16px;margin-top:4px;padding:20px;border:1px solid #315f82;border-radius:14px;background:#082844a8}
#view-purchase .marketplace-purchase-fields[hidden]{display:none}
#view-purchase .marketplace-assisted-note{display:flex;align-items:flex-start;gap:12px;padding:14px;border-left:4px solid #ffae16;border-radius:9px;background:#133a58;color:#c4d8e9}
#view-purchase .marketplace-assisted-note strong{color:#ffd27a;white-space:nowrap}
#view-purchase #marketplaceLivePanel{margin-top:4px;padding:18px;border:1px solid #3f7498;border-radius:12px;background:#103552;color:#f7fbff}
#view-purchase #marketplaceLivePanel h4{margin:0 0 8px;color:#fff}
#view-purchase #marketplaceLivePanel h4:not(:first-child){margin-top:22px}
#view-purchase #marketplaceLivePanel .field-help{display:block;margin:4px 0 10px;color:#c9deef}
#view-purchase #marketplaceLivePanel .revision-actions{margin:10px 0}
#view-purchase #marketplaceQuery{flex:1 1 220px;min-width:0;min-height:42px}
#view-purchase #marketplaceLivePanel .approval-queue-item{margin-top:8px;padding:12px;border:1px solid #517d9b;border-radius:9px;background:#173f5e;color:#fff}
#view-purchase #marketplaceLivePanel .approval-queue-item p{margin:0 0 8px;color:#fff}
#view-purchase #marketplaceOrderSnapshot{margin-top:12px}
@media(max-width:720px){
  #view-purchase .marketplace-purchase-form .card-heading{display:grid}
  #view-purchase .marketplace-purchase-form .status-tag{justify-self:start}
  #view-purchase .marketplace-assisted-note{display:grid}
}
/* Experiência unificada de pedidos — versão estrutural 11 */
.workflow-drawer-backdrop{position:fixed;inset:0;z-index:1190;border:0;background:rgba(0,13,27,.64);backdrop-filter:blur(2px);cursor:default}
body.workflow-drawer-open{overflow:hidden}
.workflow-side-drawer{position:fixed;z-index:1200;inset:0 0 0 auto;display:flex!important;flex-direction:column;width:min(820px,60vw);max-width:100%;height:100dvh;min-width:0;padding:0;overflow:hidden;overscroll-behavior:contain;color:#eef7ff;border:0;border-left:1px solid #3f789f;border-top:4px solid #ffad18;border-radius:18px 0 0 18px;background:radial-gradient(circle at 100% 0,rgba(47,120,178,.22),transparent 35%),linear-gradient(155deg,#06192d,#0a2a47 72%,#06182a);box-shadow:-24px 0 70px rgba(0,0,0,.5);transform:translateX(102%);transition:transform .22s ease}
.workflow-side-drawer.is-open{transform:translateX(0)}
.workflow-side-drawer[hidden]{display:none!important}
.workflow-drawer-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid rgba(93,153,197,.42);background:rgba(6,30,52,.97)}
.workflow-drawer-header p{margin:0 0 5px;color:#ffb52b;font-size:.72rem;font-weight:850;letter-spacing:.15em}
.workflow-drawer-header h2{margin:0;color:#fff;font-size:clamp(1.25rem,2.2vw,1.8rem)}
.workflow-drawer-close{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #4a7da2;border-radius:11px;background:#103c5d;color:#fff;font-size:1.65rem;line-height:1;cursor:pointer}
.workflow-drawer-close:hover,.workflow-drawer-close:focus-visible{border-color:#ffae19;outline:2px solid rgba(255,174,25,.25)}
.workflow-drawer-body{flex:1;min-height:0;overflow:auto;padding:20px}
#requestDetailPanel.workflow-side-drawer{gap:0}
#requestDetailPanel .workflow-drawer-body>.search-result{margin:0 0 18px}
#requestDetailPanel .workflow-drawer-body>.content-card,#requestDetailPanel .workflow-drawer-body>form{margin:0 0 18px}
.workflow-side-drawer .content-card,.workflow-side-drawer .search-result,.workflow-side-drawer .admin-form,.workflow-side-drawer .purchase-queue-overview,.workflow-side-drawer .purchase-return-box{color:#eaf5ff;border-color:#315f81;background:rgba(10,44,73,.9);box-shadow:none}
.workflow-side-drawer h2,.workflow-side-drawer h3,.workflow-side-drawer h4,.workflow-side-drawer h5,.workflow-side-drawer strong,.workflow-side-drawer label,.workflow-side-drawer legend{color:#fff}
.workflow-side-drawer p,.workflow-side-drawer li,.workflow-side-drawer small,.workflow-side-drawer .form-hint,.workflow-side-drawer .history-note{color:#b9cee0}
.workflow-side-drawer input,.workflow-side-drawer select,.workflow-side-drawer textarea{color:#f7fbff;border-color:#4c7ca0;background:#0d3554}
.workflow-side-drawer input::placeholder,.workflow-side-drawer textarea::placeholder{color:#91aac0}
.workflow-side-drawer .purchase-queue-status,.workflow-side-drawer .purchase-queue-flow>section,.workflow-side-drawer .purchase-queue-facts>div{border-color:#315f81;background:#0b304f;color:#eaf5ff}
.workflow-side-drawer .purchase-queue-step-number{background:#0d3554}

#view-tracking,#view-purchase{min-height:calc(100vh - 68px);margin:-24px;padding:30px;color:#eef7ff;background:radial-gradient(circle at 80% 0,rgba(35,107,165,.2),transparent 36%),linear-gradient(145deg,#06192d,#092844 70%,#06182a)}
#view-tracking .page-heading,#view-purchase .page-heading{padding:10px 4px 18px}
#view-tracking .page-heading h2,#view-purchase .page-heading h2,#view-tracking .content-card h3,#view-purchase .content-card h3{color:#fff}
#view-tracking .page-heading p,#view-purchase .page-heading p,#view-tracking .form-hint,#view-purchase .form-hint{color:#b7cce0}
#view-tracking>.content-card,#view-purchase>.content-card,#trackingListCard{border:1px solid rgba(82,145,190,.48);border-radius:16px;background:linear-gradient(145deg,rgba(9,42,70,.96),rgba(9,36,61,.92));box-shadow:0 14px 35px rgba(0,0,0,.18)}
#view-tracking input,#view-tracking select,#view-purchase input,#view-purchase select{color:#f6fbff;border-color:#4b7ca0;background:#0d3554}
#view-tracking input::placeholder,#view-purchase input::placeholder{color:#90aac0}
#view-tracking .queue-filter-area,#view-purchase .queue-filter-area{border-color:#315f81;background:rgba(8,38,64,.92)}
#view-tracking .queue-filter-panel,#view-purchase .queue-filter-panel{border-color:#315f81;background:#0a2c49}
#view-tracking .queue-filter-count,#view-purchase .queue-filter-count{color:#b7cce0}
.workflow-list-tools{display:grid;gap:10px}
.workflow-list-tools .search-row{margin:0}
.workflow-list-tools .search-row>div{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px}
.workflow-list-tools .form-hint{min-height:1.2em;margin:0}
#purchaseListCard>.card-heading{align-items:center;margin-bottom:16px}
#purchaseListCard>.card-heading p{margin:5px 0 0}
#purchaseQueue,#requestList{display:grid;gap:10px}
#purchaseQueue[aria-busy="true"],#requestList[aria-busy="true"]{opacity:.72;cursor:progress}
.workflow-order-card,.workflow-order-card-shell>.request-list-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;min-height:102px;padding:17px 20px!important;color:#eef7ff!important;border:1px solid #315f81!important;border-radius:13px!important;background:linear-gradient(145deg,#0d3554,#0a2844)!important;box-shadow:0 8px 19px rgba(0,0,0,.16);text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.workflow-order-card:hover,.workflow-order-card:focus-visible,.workflow-order-card-shell>.request-list-item:hover,.workflow-order-card-shell>.request-list-item:focus-visible{transform:translateY(-1px);border-color:#ffae19!important;outline:none;background:linear-gradient(145deg,#124365,#0c2e4d)!important}
.workflow-card-main{display:grid;gap:5px;min-width:0}
.workflow-card-main>strong{color:#fff;font-size:1rem;overflow-wrap:anywhere}
.workflow-card-main>span{color:#d9e9f6;font-weight:750}
.workflow-card-main>small{color:#90abc1;font-size:.77rem}
.workflow-order-card .request-tags,.workflow-order-card-shell .request-tags{align-self:center;justify-content:flex-end}
.workflow-order-card-shell{border:0;background:transparent}
.workflow-card-action{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:#ffbf47;font-size:.78rem;font-weight:850;white-space:nowrap}
.workflow-card-action::after{content:'→';font-size:1rem}
.workflow-order-card[aria-expanded="true"],.workflow-order-card-shell>.request-list-item[aria-expanded="true"]{border-color:#ffae19!important;box-shadow:0 0 0 2px rgba(255,174,25,.18),0 10px 24px rgba(0,0,0,.22)}
#supplierOwnOrdersList .workflow-order-card{margin-bottom:10px}

@media(max-width:900px){
  #view-tracking,#view-purchase{margin:-16px;padding:18px 14px}
  .workflow-side-drawer{width:100vw;border-left:0;border-radius:0}
  .workflow-drawer-header{padding:15px 16px}
  .workflow-drawer-body{padding:14px}
  #requestDetailPanel .workflow-drawer-body>.content-card,#requestDetailPanel .workflow-drawer-body>form{margin:0 0 14px}
}
@media(max-width:620px){
  .workflow-order-card,.workflow-order-card-shell>.request-list-item{grid-template-columns:1fr;padding:14px!important}
  .workflow-order-card .request-tags,.workflow-order-card-shell .request-tags{justify-content:flex-start}
  .workflow-list-tools .search-row>div{grid-template-columns:1fr}
  .workflow-card-action{margin-left:0}
}
@media(min-width:1900px){.workflow-side-drawer{width:min(980px,48vw)}}
@media(prefers-reduced-motion:reduce){.workflow-side-drawer,.workflow-order-card,.workflow-order-card-shell>.request-list-item{transition:none!important;scroll-behavior:auto!important}}

/* Regra global de acessibilidade: texto insuficiente sobre superfície clara.
   A classe é aplicada somente quando o contraste calculado fica abaixo de 4,5:1. */
.sna-auto-contrast-light {
  color: #17364d !important;
  text-shadow: none !important;
}
.sna-auto-contrast-light::placeholder {
  color: #4e687b !important;
  opacity: 1 !important;
}
@media (forced-colors: active) {
  .sna-auto-contrast-light { color: CanvasText !important; }
}

/* v12.1.116 - Formulários contidos e legíveis no painel lateral.
   As grades antigas respondiam ao viewport inteiro, não à largura do painel,
   e podiam empurrar a árvore de centros de custo para fora da janela. */
.workflow-drawer-body {
  box-sizing: border-box;
  overflow-x: hidden;
  container-type: inline-size;
}
.workflow-drawer-body > *,
.workflow-side-drawer :is(form, fieldset, .form-grid, .search-row, .content-card, .search-result,
  .purchase-source-editor, .purchase-return-box, .purchase-edit-items, .purchase-edit-item,
  .shared-cost-center-field-wrapper, .shared-cost-center-selector, .shared-cost-center-tree) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-inline-size: 0;
}
.workflow-side-drawer .form-grid {
  grid-template-columns: minmax(0, 1fr);
}
.workflow-side-drawer .form-grid > *,
.workflow-side-drawer .shared-cost-center-field-wrapper {
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
}
.workflow-side-drawer .shared-cost-center-selector {
  align-content: start;
  margin: 8px 0 0;
  overflow: hidden;
}
.workflow-side-drawer .shared-cost-center-tree {
  width: 100%;
  max-height: min(360px, 45dvh);
  overflow-x: hidden;
  overflow-y: auto;
}
.workflow-side-drawer .shared-cost-center-option {
  width: 100% !important;
  justify-self: stretch;
}
.workflow-side-drawer .shared-cost-center-search > input {
  width: 100% !important;
  max-width: 100% !important;
}
.workflow-side-drawer .purchase-source-editor,
.workflow-side-drawer .purchase-return-box {
  border-color: #3f7297;
  background: radial-gradient(circle at 100% 0, #2b669133, transparent 36%), linear-gradient(145deg, #0b304f, #08243d);
  color: #eef7ff;
}
.workflow-side-drawer .purchase-source-editor h4,
.workflow-side-drawer .purchase-return-box h4,
.workflow-side-drawer .purchase-source-editor label,
.workflow-side-drawer .purchase-return-box label {
  color: #f7fbff;
}
.workflow-side-drawer .purchase-source-editor :is(input:not([type="checkbox"]), select, textarea),
.workflow-side-drawer .purchase-return-box :is(input:not([type="checkbox"]), select, textarea) {
  border-color: #4d7ea2;
  background: #0d3554;
  color: #f7fbff;
}
.workflow-side-drawer .purchase-source-editor :is(input, textarea)::placeholder,
.workflow-side-drawer .purchase-return-box :is(input, textarea)::placeholder {
  color: #a9bfd2;
  opacity: 1;
}
.workflow-side-drawer .purchase-edit-item {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.workflow-side-drawer .purchase-edit-item :is(.item-lookup, .service-lookup) {
  grid-column: 1 / -1;
  min-width: 0;
}
.workflow-side-drawer :is(table, img, video, iframe, canvas, svg) {
  max-width: 100%;
}
.workflow-side-drawer :is(.purchase-return-actions, .report-actions, .form-actions, .button-row) {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
}
@container (max-width: 560px) {
  .workflow-side-drawer .purchase-source-editor,
  .workflow-side-drawer .purchase-return-box { padding: 14px; }
  .workflow-side-drawer .purchase-edit-item { grid-template-columns: minmax(0, 1fr); }
  .workflow-side-drawer .purchase-edit-item > * { grid-column: 1 !important; }
  .workflow-side-drawer .shared-cost-center-selector { padding: 10px; }
  .workflow-side-drawer .shared-cost-center-tree { max-height: 300px; padding: 4px; }
}

/* Central de Monitoramento · conexões dos usuários */
.monitoring-connections-card .primary-action { margin-top: 10px; }
.behavior-ranking-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.behavior-ranking-heading h3 { margin:0 0 4px; }
.behavior-user-filters { display:flex; flex-wrap:wrap; gap:8px; }
.behavior-user-filters :is(input,select) { min-width:190px; min-height:40px; }
.behavior-users-table td:first-child { width:86px; }
.behavior-users-table td:last-child { width:140px; text-align:right; }
.behavior-users-table td strong,.behavior-users-table td small { display:block; }
.behavior-users-table td small { margin-top:4px; color:var(--muted,#7890a2); }
.behavior-status { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; border:1px solid currentColor; border-radius:999px; font-size:.78rem; font-weight:800; }
.behavior-status::before { content:""; width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 9px currentColor; }
.behavior-status.online { color:#13a968; }
.behavior-status.offline { color:#75899a; }
.behavior-map-popup { display:grid; gap:8px; min-width:230px; color:#eaf6ff; }
.behavior-map-popup > strong { font-size:1.05rem; }
.behavior-map-popup p { margin:0; color:#bed2e2; line-height:1.4; }
.mapboxgl-popup-content { padding:16px; border:1px solid rgba(104,181,227,.38); border-radius:14px; background:#0a263b; color:#eaf6ff; box-shadow:0 16px 48px rgba(0,0,0,.36); }
.mapboxgl-popup-tip { border-top-color:#0a263b !important; border-bottom-color:#0a263b !important; }
.mapboxgl-popup-close-button { color:#fff; font-size:20px; }
.behavior-user-dialog { width:min(980px,calc(100vw - 28px)); max-height:88vh; padding:24px; overflow:auto; border:1px solid rgba(54,142,200,.45); border-radius:20px; background:#f7fbfe; color:#11344d; }
.behavior-user-dialog::backdrop { background:rgba(3,18,31,.72); backdrop-filter:blur(4px); }
.behavior-user-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.behavior-user-dialog h2,.behavior-user-dialog p { margin-top:0; }
.behavior-detail-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.behavior-detail-charts > section { padding:17px; border:1px solid #c5dbea; border-radius:15px; background:#fff; }
.behavior-detail-charts h3 { margin:0 0 14px; }
.behavior-bars { display:grid; gap:10px; }
.behavior-bar-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(90px,2fr) auto; align-items:center; gap:10px; }
.behavior-bar-row > i { position:relative; height:10px; overflow:hidden; border-radius:999px; background:#dceaf3; }
.behavior-bar-row > i::before { content:""; position:absolute; inset:0 auto 0 0; width:var(--value); border-radius:inherit; background:linear-gradient(90deg,#087eb9,#f0a11a); }
.behavior-bar-row > strong { font-size:.82rem; white-space:nowrap; }
.secondary-action.compact { min-height:34px; padding:7px 10px; font-size:.78rem; white-space:nowrap; }
@media (max-width: 900px) {
  .behavior-ranking-heading { align-items:stretch; flex-direction:column; }
  .behavior-user-filters :is(input,select) { flex:1 1 180px; }
  .behavior-detail-charts { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .behavior-user-dialog { padding:16px; }
  .behavior-user-dialog > header { flex-direction:column; }
  .behavior-bar-row { grid-template-columns:1fr; }
  .behavior-users-table { min-width:760px; }
}
.catalog-metadata-dialog{width:min(1180px,94vw);max-height:92vh}
.catalog-metadata-dialog .catalog-metadata-form{display:grid;gap:1rem}
.catalog-metadata-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.catalog-metadata-summary>div{display:grid;align-content:start;gap:.25rem;padding:.75rem;border:1px solid var(--line,#c8d9e8);border-radius:.65rem;background:color-mix(in srgb,var(--card,#fff) 92%,transparent);min-width:0}
.catalog-metadata-summary strong{color:var(--text,#102f4b);font-size:.78rem}
.catalog-metadata-summary span{color:var(--muted,#526d83);font-size:.82rem;overflow-wrap:anywhere;white-space:pre-wrap}
.catalog-metadata-editable{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;border:1px solid var(--line,#c8d9e8);border-radius:.75rem;padding:1rem}
.catalog-metadata-editable legend{font-weight:800;padding:0 .4rem;color:var(--text,#102f4b)}
.catalog-metadata-editable label{display:grid;gap:.35rem;color:var(--text,#102f4b);font-weight:700}
.catalog-metadata-editable label:has(textarea),.catalog-metadata-editable .checkbox-option{grid-column:1/-1}
@media(max-width:760px){.catalog-metadata-summary,.catalog-metadata-editable{grid-template-columns:1fr}}

/* Regra global de contraste para as listas nativas dos campos de seleção.
   O campo fechado conserva a identidade visual de cada portal; a lista aberta
   usa fundo claro e texto escuro para permanecer legível no Windows e nos
   principais navegadores. */
select {
  color-scheme: light;
}
select option,
select optgroup {
  background-color: #f7fbff;
  color: #102f4b;
}
select option:checked {
  background: #245777 linear-gradient(0deg, #245777 0%, #245777 100%);
  color: #ffffff;
}
select option:disabled,
select optgroup:disabled {
  background-color: #e8f0f5;
  color: #5e7282;
}

/* Densidade visual corporativa: equivalente ao zoom de 80% da referência.
   Aplica-se somente após a autenticação; telas estreitas mantêm 100%. */
@media (min-width: 900px) {
  html.portal-density { zoom: .8; }
  html.portal-density body { min-height: 125dvh; }
  html.portal-density .corporate { min-height: 125dvh; }
  html.portal-density :is(.controller-portal, .supplier-portal, #portal) { height: 125dvh; }
  .corporate-header-inner { min-height: 64px; padding-block: 6px; }
  .corporate-logo { width: clamp(138px, 12vw, 176px); }
  .corporate-brand-divider { height: 30px; }
  .corporate-avatar { width: 38px; height: 38px; }
  .corporate-exit { min-height: 38px; padding: 6px 13px; font-size: 13px; }
  .controller-header, .supplier-portal-header { padding-block: 8px; }
  .controller-brand img, .supplier-portal-brand img { width: clamp(120px, 11vw, 158px); }
  .controller-avatar, .supplier-portal-actions .supplier-portal-avatar { width: 38px; height: 38px; }
  .controller-fullscreen, .controller-actions .module-exit,
  .supplier-portal-actions button { padding-block: 7px; }
  #portal .portal-topbar { min-height: 54px; padding-block: 6px; }
}
