.cursor-pointer { cursor: pointer; } button[aria-busy="true"], a[aria-busy="true"], .btn[aria-busy="true"] { cursor: wait !important; opacity: 0.72; } button:disabled, .btn:disabled { cursor: not-allowed; } #toast-container { position: fixed; top: 24px; right: 24px; z-index: 1080; display: grid; gap: 10px; width: min(380px, calc(100vw - 32px)); pointer-events: none; } .toastz { --toastz-color: #2f3a4a; --toastz-bg: #ffffff; --toastz-soft: #f3f6fb; --toastz-border: #e3e9f2; pointer-events: auto; display: grid; grid-template-columns: 34px 1fr 28px; align-items: flex-start; gap: 12px; width: 100%; padding: 14px 12px; color: #243142; background: var(--toastz-bg); border: 1px solid var(--toastz-border); border-left: 5px solid var(--toastz-color); border-radius: 16px; box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14); opacity: 0; transform: translateX(18px) scale(0.98); transition: opacity 0.22s ease, transform 0.22s ease; } .toastz.show { opacity: 1; transform: translateX(0) scale(1); } .toastz.hide { opacity: 0; transform: translateX(18px) scale(0.98); } .toastz-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-top: 1px; color: var(--toastz-color); font-size: 18px; font-weight: 900; line-height: 1; background: var(--toastz-soft); border-radius: 999px; } .toastz-content { display: grid; gap: 3px; min-width: 0; } .toastz-content strong { color: #162231; font-size: 14px; font-weight: 900; line-height: 1.2; } .toastz-content span { color: #5d6b7d; font-size: 14px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; } .toastz-close { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; color: #8390a2; font-size: 20px; font-weight: 700; line-height: 1; background: transparent; border: 0; border-radius: 999px; cursor: pointer; transition: background 0.18s ease, color 0.18s ease; } .toastz-close:hover { color: #1f2937; background: #f1f5f9; } .toastz-success { --toastz-color: #159a73; --toastz-soft: #e7f8f2; --toastz-border: #cceee3; } .toastz-warning { --toastz-color: #d97706; --toastz-soft: #fff4df; --toastz-border: #ffe1aa; } .toastz-error { --toastz-color: #ef3748; --toastz-soft: #fff0f2; --toastz-border: #ffd1d7; } .toastz-info { --toastz-color: #2563eb; --toastz-soft: #eef4ff; --toastz-border: #d7e4ff; } .cookie-consent-z { position: fixed; right: 24px; bottom: 24px; z-index: 1070; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 14px; width: min(760px, calc(100vw - 48px)); padding: 16px; color: #253142; background: rgba(255, 255, 255, 0.96); border: 1px solid #dfe7f1; border-radius: 22px; box-shadow: 0 24px 70px rgba(15, 23, 42, 0.20); opacity: 0; transform: translateY(18px) scale(0.98); transition: opacity 0.24s ease, transform 0.24s ease; backdrop-filter: blur(14px); } .cookie-consent-z.is-visible { opacity: 1; transform: translateY(0) scale(1); } .cookie-consent-z.is-hidden { opacity: 0; transform: translateY(18px) scale(0.98); } .cookie-consent-z__icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; font-size: 24px; background: #fff3df; border-radius: 999px; } .cookie-consent-z__content { display: grid; gap: 4px; min-width: 0; } .cookie-consent-z__content strong { color: #14202d; font-size: 16px; font-weight: 900; line-height: 1.2; } .cookie-consent-z__content span { color: #5e6b7d; font-size: 14px; font-weight: 650; line-height: 1.45; } .cookie-consent-z__content a, .cookie-consent-z__link { color: #ef3748; font-weight: 900; text-decoration: none; } .cookie-consent-z__content a:hover, .cookie-consent-z__link:hover { text-decoration: underline; } .cookie-consent-z__actions { display: flex; align-items: center; gap: 10px; white-space: nowrap; } .cookie-consent-z__link { font-size: 14px; } .cookie-consent-z__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; color: #ffffff; font-size: 14px; font-weight: 900; background: #ef3748; border: 0; border-radius: 14px; box-shadow: 0 14px 30px rgba(239, 55, 72, 0.22); cursor: pointer; transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease; } .cookie-consent-z__button:hover { background: #df2d3d; box-shadow: 0 16px 36px rgba(239, 55, 72, 0.28); transform: translateY(-1px); } @media (max-width: 640px) { #toast-container { top: 14px; right: 14px; left: 14px; width: auto; } .toastz { grid-template-columns: 32px 1fr 28px; border-radius: 14px; } .cookie-consent-z { right: 14px; bottom: 14px; left: 14px; grid-template-columns: 40px 1fr; width: auto; padding: 14px; border-radius: 18px; } .cookie-consent-z__icon { width: 40px; height: 40px; font-size: 20px; } .cookie-consent-z__actions { grid-column: 1 / -1; justify-content: flex-end; width: 100%; } } .hidden { display: none !important; } input[disabled], select[disabled], textarea[disabled] { cursor: not-allowed; } .infobox[disabled] { background-color: var(--bs-secondary-bg); opacity: 1; cursor: help; } hr { margin-top: 8px; margin-bottom: 8px; margin-left: 4px; margin-right: 4px; } hr + .row:has(input) { margin-top: -6px; margin-bottom: -6px; border: 0px; } .no-border { border: none; box-shadow: none; /* Remove a sombra do Bootstrap */ padding-left: 0px; padding-right: 0px; } .no-border:focus { outline: none; /* Remove a borda padrão do foco */ box-shadow: none; /* Remove a sombra padrão do foco */ border-color: transparent; /* Torna a borda transparente */ } .card-body { padding-top: 8px; padding-bottom: 8px; padding-left: 16px; padding-right: 16px; } form { margin-block-start: 0px; margin-block-end: 0px; } .navbar .container { min-height: 78px; } .logo-with-image { align-items: center; min-height: auto; padding-top: 0; padding-bottom: 0; } .brand-logo-image { display: block; width: auto; object-fit: contain; } .brand-logo-image-header { height: 72px; max-width: min(330px, 52vw); } .brand-logo-image-footer { height: 58px; max-width: 260px; } .logo-fallback { display: none; align-items: center; flex: 0 0 auto; gap: 10px; white-space: nowrap; width: max-content; max-width: none; } .logo-fallback > span:last-child { display: inline-block; white-space: nowrap; } .logo-image-error .brand-logo-image { display: none; } .logo-image-error .logo-fallback { display: contents; } .logo-image-error.logo-with-image { display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; width: max-content; min-width: max-content; max-width: none; } .logo-image-error .logo-badge, .logo-image-error .logo-fallback > span:last-child { flex: 0 0 auto; white-space: nowrap; } .footer-logo { min-height: auto; padding-top: 0; padding-bottom: 0; } .footer-grid { grid-template-columns: 1.3fr repeat(3, 1fr); } @media (max-width: 980px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .footer-grid { grid-template-columns: 1fr; } } /* Ajustes responsivos globais da plataforma */ html, body { max-width: 100%; overflow-x: hidden; } .mobile-nav-toggle { display: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; width: 46px; height: 46px; padding: 0; color: var(--dark); background: #f8fafc; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; } .mobile-nav-toggle span { display: block; width: 20px; height: 2px; background: currentColor; border-radius: 999px; transition: transform .18s ease, opacity .18s ease; } .mobile-nav-open .mobile-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .mobile-nav-open .mobile-nav-toggle span:nth-child(2) { opacity: 0; } .mobile-nav-open .mobile-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } @media (max-width: 760px) { .container { width: min(calc(100% - 32px), 1180px); } .topbar { padding: 8px 0; } .topbar .container { align-items: flex-start; flex-direction: column; gap: 3px; font-size: 12px; line-height: 1.35; } .navbar { position: sticky; top: 0; } .navbar .container { position: relative; min-height: 82px; } .logo { min-width: 0; font-size: clamp(21px, 6vw, 28px); line-height: 1; padding: 14px 0; } .logo-with-image { min-height: auto; padding-top: 6px; padding-bottom: 6px; } .brand-logo-image-header { height: 64px; max-width: min(290px, calc(100vw - 112px)); } .brand-logo-image-footer { height: 52px; max-width: 235px; } .logo-badge { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 14px; } .mobile-nav-toggle { display: inline-flex; flex: 0 0 46px; } .navlinks { position: absolute; top: calc(100% - 4px); right: 0; left: 0; z-index: 80; display: grid !important; gap: 6px; padding: 12px; background: rgba(255, 255, 255, .98); border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 24px 60px rgba(15, 23, 42, .18); opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; backdrop-filter: blur(14px); } .mobile-nav-open .navlinks { opacity: 1; pointer-events: auto; transform: translateY(0); } .navlinks a { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 10px 12px; border-radius: 13px; } .navlinks a.active { background: #fff1f2; } .navlinks .btn { width: 100%; margin-top: 4px; } .page-title { padding: 28px 0; } .page-title h1 { font-size: clamp(32px, 10vw, 44px); line-height: 1.05; } .hero { padding: 44px 0 34px; } .hero h1 { font-size: clamp(40px, 11vw, 58px); line-height: 1.05; letter-spacing: -1.4px; } .hero p { font-size: clamp(18px, 5vw, 24px); line-height: 1.5; } .kicker { max-width: 100%; white-space: normal; } .search-box, .hero-card, .form-shell, .detail-panel { border-radius: 22px; padding: 18px; } .search-grid { grid-template-columns: 1fr !important; } .field input, .field select, .field textarea, input, select, textarea { font-size: 16px; min-height: 54px; } .section { padding: 30px 0; } .section-head, .toolbar { display: grid; gap: 12px; } .toolbar select { width: 100%; } .cards { grid-template-columns: 1fr !important; } .card-actions .btn, .form-actions .btn, .banner .btn { width: 100%; } .footer { margin-top: 28px; padding: 30px 0; } } @media (max-width: 420px) { .container { width: min(calc(100% - 24px), 1180px); } .logo { font-size: clamp(19px, 6vw, 24px); } .logo-with-image { min-height: auto; padding-top: 6px; padding-bottom: 6px; } .brand-logo-image-header { height: 58px; max-width: min(250px, calc(100vw - 92px)); } .brand-logo-image-footer { height: 48px; max-width: 210px; } .logo-badge { flex-basis: 42px; width: 42px; height: 42px; } .mobile-nav-toggle { flex-basis: 42px; width: 42px; height: 42px; } }