@import url('/theme.php');
:root {
  --navy: var(--portal-text, #173b44);
  --navy-deep: var(--portal-nav-background, #052f3d);
  --teal: #008b8f;
  --teal-dark: #006f78;
  --cyan: #26c6c9;
  --mint: #e8f8f8;
  --sky: #eef8fa;
  --ink: var(--portal-text, #173b44);
  --muted: var(--portal-muted, #567079);
  --line: var(--portal-border, #d7e7e9);
  --white: var(--portal-surface, #fff);
  --focus: #ffbf47;
  --management: var(--portal-management, #5b4bb7);
  --management-dark: var(--portal-management-dark, #40358f);
  --management-soft: #f0edff;
  --shadow: var(--portal-shadow, 0 18px 45px rgba(7, 59, 76, .13));
}
.service-card,.admin-access-card,.content-card{border-radius:var(--portal-card-radius,14px);box-shadow:var(--portal-shadow,var(--shadow));min-height:var(--portal-card-min-height,82px)}.button,button{border-radius:var(--portal-button-radius,12px)}.container,.hero-inner,.topbar-inner,.footer-inner{max-width:var(--portal-content-width,1180px)}
.hidden { display: none !important; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  padding: var(--portal-header-height,64px) 0 calc(var(--portal-footer-height,64px) + 8px);
  font-family: var(--portal-font-family,Inter,Arial,sans-serif);
  font-size: var(--portal-font-scale,100%);
  color: var(--portal-text,var(--ink));
  background: var(--portal-page-background,#eef8fa);
}

a { color: inherit; }

a:focus-visible {
  outline: 4px solid var(--focus);
  outline-offset: 4px;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 120;
  padding: 12px 16px;
  border-radius: 0 0 10px 10px;
  background: var(--white);
  color: var(--navy);
  font-weight: 800;
}

.skip-link:focus { top: 0; }

.topbar {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  background: var(--portal-nav-background,var(--navy-deep));
  color: var(--portal-nav-text,var(--white));
}

.topbar-inner,
.hero-inner,
.container,
.footer-inner {
  width: min(var(--portal-content-width,1180px), calc(100% - (var(--portal-page-gutter,18px) * 2)));
  margin: 0 auto;
}

.topbar-inner {
  min-height: var(--portal-header-height,64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--portal-nav-gap,8px) * 2);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .03em;
}

.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--cyan), var(--teal));
  color: var(--navy-deep);
  font-size: 22px;
}
.portal-brand-logo{display:block;width:auto;height:min(44px,calc(var(--portal-header-height,64px) - 16px));max-width:180px;object-fit:contain}

.topnav { display: flex; gap: var(--portal-nav-gap,8px); align-items: center; }

.topnav a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border-radius: 10px;
  color: var(--portal-nav-text,#d9ffff);
  text-decoration: none;
  font-size: var(--portal-nav-font-size,14px);
  font-weight: 750;
  white-space: nowrap;
}

.topnav a:hover { background: rgba(255, 255, 255, .1); color: var(--portal-nav-hover,var(--white)); }

.hero {
  position: relative;
  overflow: hidden;
  padding: var(--portal-page-hero-top,var(--portal-hero-padding,70px)) 0 var(--portal-page-hero-bottom,calc(var(--portal-hero-padding,70px) + 6px));
  background: linear-gradient(125deg, var(--portal-hero-start,#30286f), var(--portal-hero-end,#5b4bb7));
  color: var(--portal-hero-text,var(--white));
}

.hero::after {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  right: -145px;
  top: -260px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255, 255, 255, .04), 0 0 0 98px rgba(255, 255, 255, .025);
}

.hero-inner { position: relative; z-index: 1; }

.eyebrow {
  margin: 0 0 10px;
  color: var(--portal-hero-eyebrow,#aef7ef);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hero .eyebrow { margin-bottom: var(--portal-page-hero-eyebrow-gap,10px); }

.hero h1 {
  max-width: 850px;
  margin: 0 0 var(--portal-page-hero-title-gap,14px);
  font-size: clamp(var(--portal-hero-title-min,34px), 6vw, var(--portal-hero-title-max,58px));
  line-height: 1.03;
  letter-spacing: -.035em;
}

.hero p {
  max-width: 760px;
  margin: 0;
  color: var(--portal-hero-text,#d9ffff);
  font-size: clamp(var(--portal-hero-subtitle-min,17px), 2.2vw, var(--portal-hero-subtitle-max,21px));
  line-height: var(--portal-line-height,160%);
}

.container { padding: var(--portal-page-content-top,var(--portal-container-top,46px)) 0 var(--portal-page-content-bottom,var(--portal-container-bottom,74px)); }

.section-heading { margin-bottom: var(--portal-page-section-content-gap,var(--portal-section-gap,24px)); }
.section-heading h2 { margin: 0 0 var(--portal-page-section-title-gap,8px); color: var(--navy); font-size: clamp(var(--portal-section-title-min,25px), 4vw, var(--portal-section-title-max,34px)); }
.section-heading p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.6; }

.portal-grid,
.service-grid {
  display: grid;
  gap: var(--portal-card-gap,22px);
}
.portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-grid { grid-template-columns: repeat(var(--portal-desktop-columns,4), minmax(0, 1fr)); }

.service-grid-single { grid-template-columns: minmax(0, 720px); }

.portal-card,
.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(0, 139, 143, .16);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.portal-card::before { content: ""; height: 7px; background: linear-gradient(90deg, var(--teal), var(--cyan)); }
.portal-card.management::before { background: linear-gradient(90deg, var(--navy), #30768a); }

.card-body { display: flex; flex: 1; flex-direction: column; padding: clamp(24px, 4vw, 36px); }

.card-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 18px;
  background: var(--mint);
  color: var(--teal-dark);
  font-size: 29px;
  font-weight: 900;
}

.card-heading {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.card-heading .card-icon { flex: 0 0 auto; margin: 0; }
.portal-card .card-heading h2 { margin: 0; }

.management .card-icon { background: #e8f0f3; color: var(--navy); }
.portal-card h2, .service-card h3 { margin: 0 0 10px; color: var(--navy); }
.portal-card h2 { font-size: clamp(25px, 3vw, 32px); }
.service-card h3 { font-size: 22px; }
.portal-card p, .service-card p { margin: 0 0 20px; color: var(--muted); line-height: 1.58; }

.feature-list {
  display: grid;
  gap: 10px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  color: #385d64;
}

.feature-list li { display: flex; gap: 10px; line-height: 1.45; }
.feature-list li::before { content: "✓"; color: var(--teal); font-weight: 900; }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: auto;
  padding: 12px 18px;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--teal), var(--teal-dark));
  color: var(--white);
  text-decoration: none;
  font-weight: 850;
  transition: transform .18s, box-shadow .18s;
}

.button:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(0, 111, 120, .25); }
.button-dark { background: linear-gradient(135deg, var(--navy), #185f71); }
.button-management { background: linear-gradient(135deg, var(--management), var(--management-dark)); }
.button-management:hover { box-shadow: 0 9px 22px rgba(64, 53, 143, .28); }
.button-light { background: #edf7f8; color: var(--navy); }
.button-outline { border: 2px solid var(--teal); background: var(--white); color: var(--teal-dark); }

.service-grid { margin-bottom: 34px; }
.service-card { box-shadow: 0 10px 30px rgba(7, 59, 76, .08); }
.service-card .card-body { padding: 26px; }
.service-card .tag { align-self: flex-start; margin-bottom: 14px; padding: 6px 10px; border-radius: 20px; background: var(--mint); color: var(--teal-dark); font-size: 12px; font-weight: 850; }

.privacy-panel,
.roadmap-panel {
  margin-top: 34px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid #bce7df;
  border-radius: 22px;
  background: linear-gradient(135deg, #e9f9f5, #eff9fb);
}

.privacy-panel h2,
.roadmap-panel h2 { margin: 0 0 10px; color: var(--navy); }
.privacy-panel p,
.roadmap-panel p { max-width: 900px; color: #385d64; line-height: 1.65; }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.button-row .button { margin-top: 0; }

.security-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 32px;
}

.security-item { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .75); }
.security-item strong { display: block; margin-bottom: 6px; color: var(--navy); }
.security-item span { color: var(--muted); font-size: 14px; line-height: 1.45; }

.breadcrumb { margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.breadcrumb a { color: var(--teal-dark); font-weight: 800; }

.external-note { margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.45; }

.footer { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; padding: 0; background: var(--portal-footer-background,var(--navy-deep)); color: var(--portal-footer-text,#d9ffff); }
.footer-inner { min-height: var(--portal-footer-height,64px); display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.footer p { margin: 0; font-size: 13px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; }
.footer a { color: var(--portal-footer-text,#d9ffff); font-size: 13px; font-weight: 750; }

@media (min-width:761px) and (max-width:1100px) {
  .service-grid { grid-template-columns:repeat(var(--portal-tablet-columns,2),minmax(0,1fr)); }
}

@media (max-width: 760px) {
  body { padding-bottom: 68px; }
  .topbar-inner { min-height: 64px; align-items: center; flex-direction: row; padding: 0; }
  .brand { flex: 0 0 auto; }
  .topnav { min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
  .hero { padding: var(--portal-page-hero-top,48px) 0 var(--portal-page-hero-bottom,54px); }
  .portal-grid, .service-grid, .security-strip { grid-template-columns: 1fr; }
  .portal-card { border-radius: 18px; }
  .card-heading { align-items: center; min-height: 0; }
  .button-row { flex-direction: column; }
  .button-row .button { width: 100%; }
  .footer-inner { min-height: 60px; gap: 10px; }
  .footer p { display: none; }
  .footer-links { width: 100%; flex-wrap: nowrap; justify-content: center; overflow-x: auto; }
  .footer-links a { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* A modalidade tem texto explícito: a cor nunca é a única identificação. */
.profile-pj { --teal: var(--portal-pj-primary,#16834f); --teal-dark: var(--portal-pj-dark,#11623c); --mint: #eaf7ef; --cyan: #56bc85; }
.profile-pf { --teal: var(--portal-pf-primary,#2464b4); --teal-dark: var(--portal-pf-dark,#174d92); --mint: #eaf2ff; --cyan: #6da2e5; }
.profile-management { --teal: var(--management,#5b4bb7); --teal-dark: var(--management-dark,#40358f); --mint: #f0edff; --cyan: #8b7bd8; }
.profile-pj .button-outline { border-color: var(--portal-pj-primary,#16834f); background: linear-gradient(135deg, var(--portal-pj-primary,#16834f), var(--portal-pj-dark,#11623c)); color: #fff; }
.profile-pj .hero { background: linear-gradient(120deg, var(--portal-pj-dark,#11623c), var(--portal-pj-primary,#16834f)); }
.profile-pf .hero { background: linear-gradient(120deg, var(--portal-pf-dark,#174d92), var(--portal-pf-primary,#2464b4)); }
.profile-management .hero { background: linear-gradient(120deg, var(--portal-hero-start,#30286f), var(--portal-hero-end,#5b4bb7)); }
.card-body > .eyebrow { color: var(--teal-dark); }
.modality-button { flex-direction: column; min-height: 150px; margin-top: auto; }
.modality-button strong { font-size: clamp(48px, 7vw, 72px); line-height: 1.1; }
.modality-button span { font-size: 16px; }
.orientation { margin-top: 26px; border: 1px solid var(--line); border-radius: 14px; background: white; padding: 18px 22px; line-height: 1.6; }
.orientation summary { cursor: pointer; font-weight: 800; color: var(--navy); min-height: 28px; }
.orientation summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.request.profile-pj { border-left: 6px solid #16834f; }
.request.profile-pf { border-left: 6px solid #2464b4; }
.profile-badge { display: inline-block; padding: 7px 12px; margin-bottom: 9px; border-radius: 9px; background: var(--mint); color: var(--teal-dark); font-weight: 850; }
.portal-managed-blocks{display:grid;gap:var(--portal-section-gap,24px);margin:0 0 var(--portal-section-gap,24px)}
.portal-managed-afterContent{margin-top:var(--portal-section-gap,24px)}
.portal-managed-block{padding:var(--portal-card-padding,26px);border:1px solid var(--portal-border,#d7e7e9);border-radius:var(--portal-card-radius,14px);background:var(--portal-surface,#fff);color:var(--portal-text,#173b44);box-shadow:var(--portal-shadow,0 18px 45px rgba(7,59,76,.13));overflow-wrap:anywhere}
.portal-managed-block h2,.portal-managed-block h3,.portal-managed-block p{margin-top:0}.portal-managed-block :last-child{margin-bottom:0}
.portal-managed-block a{color:var(--management-dark,#40358f);font-weight:800}.portal-managed-block iframe{display:block;width:100%;max-width:100%;border:1px solid var(--portal-border,#d7e7e9);border-radius:calc(var(--portal-card-radius,14px) - 3px);background:#fff}
.portal-managed-callout.tone-success{border-left:6px solid var(--portal-shared,#16834f)}.portal-managed-callout.tone-warning{border-left:6px solid #b77800;background:#fff8e5}.portal-managed-callout.tone-management{border-left:6px solid var(--management,#5b4bb7)}.portal-managed-callout.tone-info{border-left:6px solid #2464b4}
.portal-managed-spacer{border:0;background:transparent;box-shadow:none;padding:0}.portal-managed-spacer.size-small{height:16px}.portal-managed-spacer.size-medium{height:32px}.portal-managed-spacer.size-large{height:56px}
.request .meta, .doctor-bar span { overflow-wrap: anywhere; }
.human-check { margin: 18px 0; padding: 16px; border: 1px solid #dbe4ee; border-radius: 14px; background: #f8fafc; }
.human-check strong { display: block; margin-bottom: 12px; color: var(--ink); }
.recaptcha-shell { max-width: 100%; overflow: auto; padding-bottom: 2px; }
.human-check-status { margin: 9px 0 0; color: var(--muted); font-size: .9rem; }
.human-check-status[data-state="verified"] { color: #176b43; font-weight: 700; }
.human-check-status[data-state="error"], .human-check-status[data-state="expired"] { color: #a33a32; font-weight: 700; }

.access-container { max-width: 980px; }
.access-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 auto 14px; padding: 6px; background: #e9e5f5; border: 1px solid #d8d1ee; border-radius: 16px; }
.access-tab { border: 0; border-radius: 11px; padding: 14px 18px; background: transparent; color: #443978; font: inherit; font-weight: 850; cursor: pointer; }
.access-tab.is-active { background: #fff; color: #30286f; box-shadow: 0 6px 18px rgba(48,40,111,.12); }
.access-panel { background: #fff; border: 1px solid #ded9f3; border-radius: 20px; padding: clamp(20px,4vw,34px); box-shadow: 0 16px 42px rgba(48,40,111,.11); }
.access-heading { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.access-heading h2 { margin: 0 0 5px; }
.access-heading p { margin: 0; color: var(--muted); }
.access-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f0edff; font-size: 24px; }
.form-grid { display: grid; gap: 16px; }
.form-grid.two-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-field { display: flex; flex-direction: column; gap: 7px; font-weight: 800; }
.form-field.full { grid-column: 1/-1; }
.form-field input { width: 100%; padding: 13px 14px; border: 1px solid #c9c2df; border-radius: 11px; font: inherit; color: #243941; }
.form-field input:focus { outline: 3px solid rgba(91,75,183,.18); border-color: #5b4bb7; }
.form-field small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.password-field { display: grid; grid-template-columns: 1fr auto; }
.password-field input { border-radius: 11px 0 0 11px; }
.password-toggle { border: 1px solid #c9c2df; border-left: 0; border-radius: 0 11px 11px 0; background: #f4f1fb; color: #40358f; font-weight: 800; padding: 0 13px; cursor: pointer; }
.access-actions { display: flex; align-items: center; justify-content: flex-end; gap: 15px; flex-wrap: wrap; margin-top: 22px; }
.text-button { border: 0; background: none; color: #40358f; text-decoration: underline; font: inherit; font-weight: 750; cursor: pointer; }
.roles-fieldset { margin: 24px 0 0; border: 1px solid #ded9f3; border-radius: 16px; padding: 20px; }
.roles-fieldset legend { padding: 0 8px; font-size: 18px; font-weight: 900; }
.roles-fieldset > p { margin-top: 0; color: var(--muted); }
.role-group + .role-group { margin-top: 20px; }
.role-group h3 { font-size: 14px; color: #514493; margin: 0 0 10px; }
.role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.role-option { display: flex; gap: 11px; padding: 14px; border: 1px solid #e0dcef; border-radius: 13px; background: #fbfaff; cursor: pointer; }
.role-option:has(input:checked) { border-color: #5b4bb7; background: #f0edff; box-shadow: 0 0 0 2px rgba(91,75,183,.1); }
.role-option input { width: 19px; height: 19px; accent-color: #5b4bb7; flex: 0 0 auto; }
.role-option span { display: flex; flex-direction: column; gap: 4px; }
.role-option small { color: var(--muted); line-height: 1.35; }
.terms-box { display: grid; gap: 12px; margin-top: 20px; padding: 18px; border-radius: 15px; background: #f4f1fb; border-left: 5px solid #5b4bb7; }
.term-check { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.term-check input { width: 19px; height: 19px; margin-top: 2px; accent-color: #5b4bb7; }
.term-check a { color: #40358f; font-weight: 800; }
.form-status { min-height: 1.5rem; margin: 14px 0 0; font-weight: 750; }
.form-status[data-state="error"] { color: #a32132; }
.form-status[data-state="success"] { color: #176b55; }
.form-status.policy-error {
  display: block;
  padding: 18px 20px;
  border: 2px solid #b42318;
  border-left-width: 7px;
  border-radius: 12px;
  background: #fff1f0;
  color: #8a1c13;
  font-size: 1.08rem;
  font-weight: 850;
  line-height: 1.55;
  box-shadow: 0 4px 14px rgba(138, 28, 19, .14);
}
.recovery-email-emphasis { color: #a32132; font-weight: 900; }
.text-button:disabled { cursor: not-allowed; opacity: .55; }
.topnav-button { border: 0; background: transparent; color: #d9ffff; font: inherit; font-weight: 750; cursor: pointer; }
.management-section { margin-top: 38px; }
.admin-access-list { display: grid; gap: 18px; }
.admin-access-card { padding: 24px; border: 1px solid #ded9f3; border-left: 6px solid #5b4bb7; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(48,40,111,.09); }
.access-request-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.access-request-head h3 { margin: 0; }
.access-request-head code { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.request-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; margin: 18px 0; }
.request-data div { padding: 11px 13px; border-radius: 10px; background: #f8f7fc; }
.request-data dt { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.request-data dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.role-option.compact { padding: 10px; }
.button.reject { border-color: #a32132; color: #8d1c2b; }
@media (max-width: 760px) { .form-grid.two-columns, .role-grid { grid-template-columns: 1fr; } .access-actions .button { width: 100%; } .access-actions { justify-content: stretch; } .access-tabs { grid-template-columns: 1fr; } }

.matrix-role { max-width: 560px; margin: 22px 0; }
.matrix-role select, .critical-confirm textarea { width: 100%; padding: 13px 14px; border: 1px solid #c9c2df; border-radius: 11px; background: #fff; color: #243941; font: inherit; }
.permission-matrix { display: grid; gap: 20px; }
.permission-department { overflow: hidden; border: 1px solid #ded9f3; border-radius: 16px; }
.permission-department h3 { display:flex; justify-content:space-between; gap:12px; align-items:center; margin: 0; padding: 14px 18px; background: #f0edff; color: #30286f; }
.department-toggle { border:1px solid #bdb3e6; border-radius:9px; padding:8px 10px; background:#fff; color:#40358f; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.permission-resource { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(420px,1.5fr); gap: 18px; align-items: center; padding: 17px 18px; border-top: 1px solid #ebe7f7; }
.permission-resource small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.4; }
.permission-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.permission-actions label { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid #ded9f3; border-radius: 10px; background: #fbfaff; cursor: pointer; }
.permission-actions label:has(input:checked) { border-color: #5b4bb7; background: #f0edff; color: #30286f; font-weight: 800; }
.permission-actions input { width: 17px; height: 17px; accent-color: #5b4bb7; }
.critical-confirm { margin-top: 24px; padding: 20px; border-left: 5px solid #5b4bb7; border-radius: 14px; background: #f7f5fc; }
.critical-confirm p { color: var(--muted); }
@media (max-width: 860px) { .permission-resource { grid-template-columns: 1fr; } }

/* V2.18 — Matriz compacta e acessos por usuário */
.matrix-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.matrix-tabs .access-tab{min-height:52px}.matrix-tabs .access-tab-users{border-color:#16834f;color:#11623c}.matrix-tabs .access-tab-users[aria-selected=true]{background:#16834f;color:#fff}.compact-heading h2{margin-bottom:8px}.matrix-view-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.permission-matrix{gap:12px}.permission-department{border-radius:12px}.permission-department h3{padding:10px 14px;font-size:1rem}.department-disclosure{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:0;flex:1;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;cursor:pointer}.department-disclosure .disclosure-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.permission-resource{grid-template-columns:minmax(190px,.75fr) minmax(0,1.8fr);gap:12px;padding:11px 14px}.permission-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.permission-actions label{min-width:0;justify-content:center;padding:7px 5px;font-size:.78rem;line-height:1.2;text-align:center}.permission-actions label span{overflow-wrap:anywhere}.user-search{max-width:560px;margin-bottom:18px}.user-access-workspace{display:grid;grid-template-columns:minmax(230px,.38fr) minmax(0,1fr);gap:18px;align-items:start}.user-access-index{display:grid;gap:14px;padding:16px;border:1px solid #a8d2b9;border-radius:16px;background:#edf8f1}.user-index-group{display:grid;gap:6px}.user-index-group h3{margin:4px 0;color:#11623c;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.user-index-button{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:#fff;color:#164e33;font:inherit;font-weight:750;text-align:left;cursor:pointer}.user-index-button:hover,.user-index-button:focus-visible{border-color:#16834f;outline:none}.user-index-button.is-selected{background:#16834f;color:#fff}.user-access-detail{min-width:0}.user-access-detail article{padding:20px;border:1px solid #dcd6ee;border-radius:16px;background:#fff}.user-access-detail h3{margin-top:0}.scope-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:14px 0}.scope-summary-list p{margin:0;padding:10px;border-radius:10px;background:#f7f5fc}.user-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.user-card-actions .button{display:flex;align-items:center;justify-content:center;min-height:54px;white-space:normal;text-align:center}.activation-whatsapp{background:#16834f!important;border-color:#16834f!important}.clone-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.clone-comparison section{padding:14px;border:1px solid #ded9f3;border-radius:12px;background:#f8f7fc}.user-access-dialog,dialog:has(.clone-comparison){max-width:760px;width:min(92vw,760px);border:0;border-radius:18px;padding:24px}.user-access-dialog::backdrop,dialog:has(.clone-comparison)::backdrop{background:#17272dcc}
@media(max-width:980px){.permission-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.user-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.matrix-tabs,.user-access-workspace,.clone-comparison{grid-template-columns:1fr}.permission-resource{grid-template-columns:1fr}.permission-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.user-card-actions{grid-template-columns:1fr}.user-access-index{max-height:42vh;overflow:auto}}
.power-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.power-presets strong{width:100%;color:#173b44}.power-presets .button{min-height:40px;padding:8px 12px}.admin-power-option{align-items:flex-start}.admin-power-option small{display:block}.power-summary{margin:12px 0 18px}.user-access-dialog details{margin:16px 0;border:1px solid #ded9f3;border-radius:12px;padding:12px}.user-access-dialog details>summary{cursor:pointer;font-weight:800;color:#40358f}.user-access-dialog .field-hint{color:var(--muted);font-size:.9rem}

/* V2.26 — Catálogo de conteúdos por seção, público e compartilhamento */
.management-content-list{display:grid;gap:16px;margin-top:22px}.content-management-section{overflow:hidden;border:1px solid #d9d4eb;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(32,49,58,.07)}.content-management-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;color:#263066;font-size:1.08rem;font-weight:900;cursor:pointer;list-style:none}.content-management-section>summary::-webkit-details-marker{display:none}.content-management-section>summary:before{content:'+';display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#efecfb;color:#4d3ea4}.content-management-section[open]>summary:before{content:'−'}.content-section-count{margin-left:auto;padding:5px 9px;border-radius:999px;background:#f1eff7;color:#675e82;font-size:.78rem}.content-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;padding:4px 18px 20px}.content-admin-card{display:flex;flex-direction:column;gap:13px;min-width:0;padding:19px;border:1px solid #e2deef;border-top:5px solid #0d8c91;border-radius:14px;background:#fdfdff}.content-admin-card.content-type-document{border-top-color:#5341af}.content-admin-card.content-type-report{border-top-color:#267097}.content-admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.content-admin-top h3{margin:3px 0 0;font-size:1.1rem;overflow-wrap:anywhere}.content-card-kicker{color:#625593;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.content-state,.content-audience,.content-external-badge,.share-mini{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;font-size:.73rem;font-weight:850}.content-state-active,.content-audience-internal{background:#e2f6e9;color:#14603b}.content-state-draft{background:#fff2cf;color:#76520a}.content-state-inactive{background:#f3e6e8;color:#8b2635}.content-audience-external,.content-external-badge{background:#eee9ff;color:#49379d}.content-admin-description{margin:0;color:var(--muted);line-height:1.45}.content-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.content-metadata>div{min-width:0;padding:9px 10px;border-radius:9px;background:#f6f5fa}.content-metadata dt{color:#6e6683;font-size:.68rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.content-metadata dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.content-card-sharing{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:4px}.share-mini.email{background:#e9eefb;color:#29498b}.share-mini.whatsapp{background:#e2f6e9;color:#14603b}.content-admin-card .content-actions{margin-top:auto}.content-disabled{opacity:.5}.content-disabled input{cursor:not-allowed}.content-audience{margin:-3px 0 8px}.content-toolbar label{min-width:145px}
@media(max-width:680px){.content-admin-grid,.content-metadata{grid-template-columns:1fr}.content-admin-grid{padding-inline:12px}.content-management-section>summary{padding:16px}.content-admin-top{align-items:flex-start;flex-direction:column}.content-toolbar label{width:100%}}
.content-admin-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.content-admin-identity>div{min-width:0}.content-admin-identity .content-icon{flex:0 0 auto}.content-admin-card.content-admin-card-external{background:var(--portal-external-surface,#fff1df);border-color:var(--portal-external,#b45309);border-top-color:var(--portal-external,#b45309)}.content-admin-card-external .content-external-badge{background:var(--portal-external,#b45309);color:#fff}.content-admin-card-external .content-icon{background:#fff7ed;color:var(--portal-external-dark,#8a3d00)}
.content-admin-card-external .content-external-badge{padding:3px 6px;border:1px solid var(--portal-external,#b45309);border-radius:4px;background:#fff;color:var(--portal-external-dark,#8a3d00);font-size:.68rem;letter-spacing:.02em}
