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

* { 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-industrial-background.png') 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-row { padding: 15px 18px; border: 1px solid #d9deda; border-radius: 10px; background: #fff; }
.inventory-row-display { display: grid; grid-template-columns: 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-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, .inventory-edit-form { grid-template-columns: 1fr; } .inventory-quantity { text-align: left; } .inventory-pagination { flex-wrap: wrap; } }
.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-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)}}
@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; }
.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; }
.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 #d8e7ef; border-radius: 9px; background: #fff; }
.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; border: 1px solid #e0e9ee; border-radius: 6px; color: #738a98; font-size: 11px; 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 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; }
.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 { width: 100%; }
.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; }
.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; }
.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; }
.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; }
#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 #dfe8ed; border-top: 4px solid #b8c9d2; border-radius: 6px; background: #f7fafb; color: #647887; }
.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 { font-size: 11px; font-weight: 700; }
.stage-card.is-done { border-color: #a8d9b7; border-top-color: #2e9f5a; background: #eaf8ee; color: #236d3d; }
.stage-card.is-stopped { border-color: #cbd6df; border-top-color: #778c9b; background: #f0f4f6; color: #4e6675; }
.stage-card.is-current { border-color: #83bce0; border-top-color: #0879bd; background: #eaf5fc; color: #105981; box-shadow: 0 0 0 2px #cde8f8; }
.stage-card.is-next { border-color: #e8d39b; border-top-color: #d5a630; background: #fff9e9; color: #816419; }
.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-scene-v2.png') 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: 0; color: #fff; font-size: clamp(29px, 2.5vw, 39px); line-height: 1.13; letter-spacing: -.04em; font-weight: 700; }
.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: 13px; }
.login-card #temporaryPasswordForm .microsoft-button,
.login-card #inviteAcceptForm .microsoft-button { 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); }
.login-preview-access { position: absolute; top: calc(100% + 10px); 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; }
.login-card .support { margin: 19px 0 0; color: #cbd4de; font-size: 11px; line-height: 1.5; }
.login-card .support a { color: #b7e1ff; }
.login-card .support a.careers-entry-link, .corporate-footer a.careers-entry-link { display: inline-block; align-self: center; max-width: 100%; font-size: 18px; font-weight: 400; line-height: 1.4; color: #b7e1ff; text-decoration: none; }
.careers-entry-link:hover, .careers-entry-link:focus-visible { text-decoration: underline !important; text-underline-offset: 4px; }
.careers-entry-link:focus-visible { outline: 2px solid #b7e1ff; outline-offset: 4px; border-radius: 3px; }
@media (max-width: 600px) { .login-card .support a.careers-entry-link, .corporate-footer a.careers-entry-link { font-size: 16px; } }
.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-scene-v2.png') 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 (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-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; }
.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-slot > label:not(.quotation-missing-choice) { display: grid; gap: 6px; margin: 0; max-width: 650px; }
.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}}
.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;filter:drop-shadow(0 6px 7px #604b3433)}
.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-mount{display:grid;gap:9px;margin-top:16px}
.communication-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.communication-inbox-toolbar p{margin:0}
.communication-message{display:flex;align-items:center;gap:12px;border:1px solid #d8e3ea;border-left:4px solid #aebfcc;border-radius:9px;background:#fff;padding:9px 11px}
.communication-message.unread{border-left-color:#c92e39;background:#fff9f6}
.communication-message-open{display:grid;gap:4px;flex:1;min-width:0;border:0;background:transparent;text-align:left;color:#244158;cursor:pointer;font:inherit}
.communication-message-open strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.communication-message.unread .communication-message-open strong{font-weight:800}
.communication-message-open small{font-size:11px;color:#607789}
.communication-message-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#617587;font-size:12px}
.communication-message .secondary-action{flex:none}
.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(900px,calc(100vw - 24px))}
.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}
.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:600px){.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-message{align-items:stretch;flex-direction:column}.communication-message .secondary-action{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.attention-banner,.attention-banner.is-leaving{animation:none}}

/* 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 {
  background:
    linear-gradient(180deg, #f5f6f7 0, #e9edf0 105px, #35495c 157px, #0b1c2c 195px, transparent 245px),
    linear-gradient(160deg, #071b30f2, #0b1c2ce8 63%, #34291ee8);
}

: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, #f5f6f8 0, #f5f6f8 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, #f5f6f8 0, #f5f6f8 78%, 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: scroll; }
.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: 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; } }

/* 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; } }

: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;
}
: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; }
#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) {
  #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; }
}
/* 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; } }
