@font-face { font-family: "Aptos Display"; src: local("Aptos Display"); font-display: swap; }
:root { --pj-ink: #061b39; --pj-navy: #031a35; --pj-accent: #2fc9f2; --pj-ivory: #f6f3ec; --pj-radius: .5rem; --pj-control-height: 2.5rem; }
.pj-header, .pj-menu, .pj-rosto, .pj-platform-ref, .pj-paid, .pj-notice {
  font-family: "Aptos Display", "Aptos", "Segoe UI", system-ui, sans-serif;
}
.pj-header { box-sizing: border-box; position: relative; z-index: 50; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding: .75rem clamp(.7rem, 2vw, 2rem); background: var(--pj-navy); color: var(--pj-ivory); border-bottom: 1px solid #22405f; }
.pj-portal-header { background: var(--pj-ivory); color: var(--pj-ink); border-color: #dce5ee; }
.pj-product { font-family: "Manrope", "Nunito Sans", "Avenir Next", "Segoe UI", sans-serif; font-weight: 770; font-size: clamp(1.1rem, 2.3vw, 1.65rem); letter-spacing: -.055em; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.pj-app-name { display: block; font: 500 .8rem "Aptos", "Segoe UI", sans-serif; letter-spacing: .02em; margin-top: .2rem; }
.pj-admin-header { background: var(--pj-navy); color: var(--pj-ivory); }
.pj-admin-header .pj-admin-nav { color: inherit; }
.pj-app-badge { font: 700 .7rem "Aptos Display", "Segoe UI", sans-serif; letter-spacing: .12em; border: 1px solid var(--pj-accent); border-radius: .4rem; padding: .18rem .35rem; vertical-align: middle; }
.pj-nav { display: flex; justify-content: center; gap: .6rem; flex-wrap: wrap; flex: 1; min-width: 0; }
.pj-nav a, .pj-nav button { color: inherit; background: transparent; padding: .5rem .65rem; min-height: var(--pj-control-height); border: 1px solid transparent; border-radius: var(--pj-radius); text-transform: uppercase; text-decoration: none; font-size: .85rem; font-weight: 600; }
.pj-nav [aria-current='page'], .pj-nav a:hover, .pj-nav button:hover { background: #ffffff18; border-color: transparent; }
.pj-portal { color: inherit; padding: .5rem .65rem; border: 1px solid currentColor; border-radius: var(--pj-radius); text-decoration: none; font-size: .85rem; font-weight: 600; }
.pj-header button, .pj-header a { font-size: inherit; }
.pj-status { position: relative; margin-left: auto; max-width: 100%; }
.pj-status-plan { display: block; max-width: 30rem; margin-top: .25rem; font-size: .75rem; overflow-wrap: anywhere; }
.pj-status-trigger { display: flex; align-items: center; gap: .4rem; padding: .4rem .65rem; border: 1px solid currentColor; border-radius: .6rem; background: transparent; color: inherit; cursor: pointer; font: inherit; text-transform: uppercase; text-decoration: none; max-width: 100%; overflow-wrap: anywhere; }
.pj-user-icon { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.7; flex-shrink: 0; }
.pj-menu { position: absolute; top: calc(100% + .5rem); right: 0; box-sizing: border-box; width: min(22rem, calc(100vw - 2rem)); max-height: 70dvh; overflow: auto; border: 1px solid currentColor; border-radius: .7rem; background: var(--pj-ivory); color: var(--pj-ink); padding: 1rem; box-shadow: 0 .6rem 1.5rem #031a352a; animation: pj-open .16s ease-out; overflow-wrap: anywhere; }
.pj-menu[hidden] { display: none; }
.pj-menu ul { list-style: none; padding: 0; }
.pj-menu li { margin: .4rem 0; }
.pj-menu a { color: inherit; }
.pj-menu button { padding: .4rem .65rem; color: inherit; border: 1px solid currentColor; border-radius: .4rem; cursor: pointer; background: transparent; }
.pj-menu button:disabled { cursor: default; opacity: .7; }
.pj-platform-ref { margin: 0; padding: .35rem 1rem; text-align: center; font-size: .78rem; color: var(--pj-ink); background: #edf4fa; }
.pj-platform-ref a { color: inherit; }
.sidebar-panel { background: #fbfdff; color: var(--pj-ink); --primary: #031a35; --secondary: #031a35; --accent: #2fc9f2; --text-muted: #36536e; }
.pj-rosto { margin: 0; background: #faf9f6; color: var(--pj-ink); min-height: 100vh; display: flex; flex-direction: column; }
.pj-face { box-sizing: border-box; margin: clamp(1rem, 5vh, 3rem) auto; padding: 0; width: min(76rem, calc(100% - 2rem)); flex: 1; overflow-wrap: anywhere; }
.pj-face-heading { background: linear-gradient(110deg, #f6f3ec, #eee6d8); color: var(--pj-ink); padding: 1rem clamp(1rem, 3vw, 2rem); border-radius: .6rem; }
.pj-face-heading :is(h1,h2) { margin: 0; font-size: clamp(1.65rem, 3vw, 2.6rem); }
.pj-face-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(1rem, 3vw, 3rem); padding: 0; }
.pj-face-grid > * { min-width: 0; }
.pj-face-grid aside { padding: 0; }
.pj-face-grid aside :is(h2,h3) { font-size: 1rem; margin: 0 0 .6rem; }
.pj-face-grid ul { margin: 0; padding-left: 1.2rem; }
.pj-face-grid li { margin-bottom: .45rem; }
.pj-section-image { box-sizing: border-box; width: 100%; aspect-ratio: 1; margin: 0; border: 1px dashed #d0bea3; border-radius: .6rem; background: transparent; }
.pj-footer { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem 1.5rem; width: 100%; margin-top: auto; padding: 1rem clamp(1rem, 3vw, 3rem); border-top: 2px solid #b6a386; background: #e7ddcb; color: var(--pj-ink); font: .85rem "Aptos", "Segoe UI", sans-serif; overflow-wrap: anywhere; }
.pj-footer a { color: inherit; }
@media (max-width: 700px) { .pj-face-grid { grid-template-columns: minmax(0, 1fr); } .pj-face-grid aside { padding: 1rem 0 0; border-left: 0; border-top: 2px solid #d0bea3; } }
@media print { .pj-footer { display: none; } }
.pj-face h1 { font-size: clamp(1.75rem, 5vw, 3rem); }
.pj-face-actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.pj-face-actions p, .pj-plan { flex-basis: 100%; }
.pj-primary, .pj-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: var(--pj-control-height); font: 600 .9rem "Aptos Display", "Segoe UI", sans-serif; padding: .55rem 1rem; text-transform: uppercase; text-decoration: none; border: 1px solid var(--pj-accent); border-radius: var(--pj-radius); color: inherit; background: transparent; cursor: pointer; }
.pj-primary { background: var(--pj-accent); color: var(--pj-ink); }
.pj-plan { padding: 1rem; border: 1px solid currentColor; border-radius: .6rem; }
.pj-plan a { color: inherit; }
.pj-paid { display: inline-block; font-size: .75rem; padding: .25rem .5rem; border: 1px solid currentColor; border-radius: .4rem; }
.pj-blocked { opacity: .7; cursor: not-allowed !important; }
.pj-notice { position: fixed; z-index: 10000; inset: auto 1rem 1rem; margin: auto; max-width: 40rem; padding: 1rem; background: #fbfdff; color: var(--pj-ink); border: 2px solid var(--pj-ink); border-radius: .6rem; box-shadow: 0 .5rem 2rem #0004; }
.pj-notice button { float: right; color: inherit; background: transparent; border: 1px solid currentColor; padding: .25rem; }
:where(.pj-header, .pj-face, .pj-interface, .hub-header) :focus-visible { outline: 3px solid var(--pj-accent); outline-offset: 3px; }
.pj-google-trigger { display: inline-flex; position: relative; max-width: 100%; min-width: 7.5rem; }
.pj-google-trigger > a { width: 100%; justify-content: center; }
.pj-google-provider { position: absolute; inset: 0; overflow: hidden; opacity: .01; border-radius: var(--pj-radius); }
.pj-google-trigger:focus-within { outline: 3px solid var(--pj-accent); outline-offset: 3px; }
.pj-interface { min-width: 0; }
.pj-interface :is(main, section, .main-content) { min-width: 0; }
.pj-interface :is(button, .btn, .pj-btn-forte):not(.tool-btn):not([contenteditable] *) { min-height: var(--pj-control-height); border-radius: var(--pj-radius); font-size: .875rem; font-weight: 600; text-transform: uppercase; }
.pj-interface :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea):not([contenteditable] *) { box-sizing: border-box; min-height: var(--pj-control-height); max-width: 100%; border-radius: var(--pj-radius); padding: .45rem .65rem; font-size: .9rem; }
.pj-interface :is(input[type='checkbox'], input[type='radio']) { min-width: 1rem; min-height: 1rem; }
.pj-interface label { font-weight: 600; line-height: 1.4; }
.pj-interface [role='tab'][aria-selected='true'] { border-bottom: 3px solid var(--pj-accent); }
.pj-interface [role='dialog'][aria-modal='true'] { max-width: 100vw; max-height: 100dvh; }
.pj-interface [role='dialog'][aria-modal='true'] > div { width: min(52rem,calc(100vw - 1.5rem)); max-width: calc(100vw - 1.5rem); height: min(40rem,calc(100dvh - 1.5rem)); max-height: calc(100dvh - 1.5rem); overflow: auto; border-radius: .8rem; }
.pj-interface .pj-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; padding-top: .8rem; }
.pj-operational-nav { display: flex; flex-wrap: wrap; gap: .3rem; flex-basis: 100%; min-width: 0; border-top: 1px solid #dce5ee; padding-top: .5rem; }
.pj-operational-nav .nav-tab { display: inline-flex; align-items: center; gap: .35rem; min-width: 0; max-width: 100%; min-height: 2.5rem; padding: .45rem .65rem; border: 1px solid transparent; border-radius: var(--pj-radius); background: transparent; color: var(--pj-ink); font-size: .85rem; font-weight: 600; text-transform: uppercase; cursor: pointer; }
.pj-operational-nav .nav-tab svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.pj-operational-nav .nav-tab.bg-marinho { background: #dce8f0; color: var(--pj-ink); border-color: #789bb5; box-shadow: inset 0 -3px #06315a; }
.pj-operational-nav .nav-tab:hover { background: #e7edf1; }
.pj-gestao .app-corpo { display: grid; grid-template-columns: 15rem minmax(0, 1fr); flex: 1; min-width: 0; }
.pj-sidebar { min-width: 0; display: flex; flex-direction: column; padding: .65rem; background: #f2f4f6; color: var(--pj-ink); border-right: 1px solid #d6e0e8; }
.pj-sidebar .cab-nav, .pj-sidebar .pj-operational-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; flex: none; border: 0; padding: 0; }
.pj-interface .pj-sidebar :is(.nav-tab, .cab-nav__item) { display: flex; align-items: center; justify-content: flex-start; gap: .65rem; width: 100%; height: auto; min-height: 2.8rem; padding: .65rem .5rem; background: transparent; color: var(--pj-ink); border: 0; border-bottom: 1px solid #d6e0e8; border-radius: 0; box-shadow: none; font-size: .9rem; font-weight: 500; text-transform: none; white-space: normal; text-align: left; }
.pj-sidebar :is(.nav-tab, .cab-nav__item) svg { flex: 0 0 1rem; width: 1rem; height: 1rem; }
.pj-sidebar .cab-nav .cab-nav__item > span, .pj-sidebar .nav-tab > span { display: inline; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.pj-interface .pj-sidebar :is(.nav-tab, .cab-nav__item):hover { background: rgb(3 26 53 / .08); }
.pj-interface .pj-sidebar .nav-tab:is(.bg-marinho, [class*='bg-realce/']) { background: rgb(3 26 53 / .4); color: var(--pj-ink); border: 0; border-bottom: 1px solid #d6e0e8; box-shadow: none; }
.pj-sidebar-meta { margin-top: auto; padding: 1rem .5rem .25rem; font-size: .75rem; overflow-wrap: anywhere; }
.pj-sidebar-toggle { display: none; color: inherit; background: transparent; border: 1px solid currentColor; padding: .4rem .65rem; }
@media (max-width: 600px) {
  .pj-gestao .app-corpo { grid-template-columns: minmax(0, 1fr); }
  .pj-sidebar { display: none; }
  .pj-sidebar-toggle { display: inline-flex; }
  .pj-gestao .app-corpo[data-menu-open] { grid-template-columns: minmax(7rem, 35%) minmax(0, 1fr); }
  .app-corpo[data-menu-open] .pj-sidebar { display: flex; padding: .4rem; }
}
.pj-refresh-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; font-size: .75rem; color: #36536e; }
.pj-interface .pj-refresh-time { font-size: .75rem; padding: .2rem .4rem; min-height: 1.8rem; color: inherit; background: transparent; border: 1px solid #adc4d5; }
.app-cabecalho__conjunto { flex-wrap: wrap; }
.pj-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.pj-table-scroll > table { width: 100%; border-collapse: collapse; }
.pj-table-scroll th { text-align: left; font-weight: 600; }
.pj-row { display: flex; flex-wrap: wrap; gap: .65rem; min-width: 0; }
.pj-row > * { min-width: 0; max-width: 100%; }
.pj-field-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: 1rem; min-width: 0; }
.pj-field-grid > * { min-width: 0; }
.pj-interface .btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; max-width: 100%; padding: .5rem .8rem; border: 1px solid transparent; text-decoration: none; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .pj-interface main .flex:not(.flex-col) { flex-wrap: wrap; }
  .pj-interface main :is(.flex, .inline-flex), .pj-interface main :is(.flex, .inline-flex) > * { min-width: 0; max-width: 100%; }
}
.pj-interface .btn-primary { background: #06315a; color: #fff; }
.pj-interface .btn-secondary { background: #edf2f6; color: #061b39; border: 1px solid #9eb5c7; }
.pj-interface .btn-danger { background: #9a2434; color: #fff; }
@keyframes pj-open { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) { .pj-nav { order: 3; flex-basis: 100%; justify-content: flex-start; } }
@media (max-width: 600px) { .pj-product { max-width: 65%; } }
@media (prefers-reduced-motion: reduce) { .pj-menu { animation: none; } }
@media (forced-colors: active) {
  .pj-header, .pj-menu, .pj-rosto, .pj-face, .pj-platform-ref, .pj-notice, .sidebar-panel { color: CanvasText; background: Canvas !important; border-color: CanvasText; box-shadow: none; }
  .pj-header a, .pj-nav a, .pj-nav button, .pj-primary, .pj-secondary, .pj-status-trigger, .pj-menu button, .pj-product { color: ButtonText !important; background: ButtonFace; border-color: ButtonText; }
  .pj-app-badge, .pj-paid { border-color: ButtonText; }
  :focus-visible { outline-color: Highlight !important; }
  .pj-operational-nav .nav-tab, .pj-portal, .pj-refresh-time { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .pj-operational-nav .nav-tab.bg-marinho { border-color: Highlight; box-shadow: none; }
  .pj-sidebar { background: Canvas !important; color: CanvasText; border-color: CanvasText; }
  .pj-interface .pj-sidebar :is(.nav-tab, .cab-nav__item) { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .pj-interface .pj-sidebar .nav-tab:is(.bg-marinho, [class*='bg-realce/']) { background: Highlight; color: HighlightText; border-color: Highlight; }
  .pj-google-provider { opacity: 1; }
}
