.institutional-v2{--inst-border:#dce5ec;--inst-soft:#f5f8fb;--inst-ink:var(--portal-text,#17324d);color:var(--inst-ink);min-width:0}
.institutional-v2 h1,.institutional-v2 h2,.institutional-v2 h3{color:var(--inst-ink);font-family:inherit;line-height:1.3}
.institutional-v2 .inst-header{border-bottom:1px solid var(--inst-border);padding:1.25rem 0 1.5rem;margin-bottom:1.5rem;display:flex;align-items:start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.inst-header h1{font-size:clamp(1.5rem,2.5vw,2.1rem);margin:.3rem 0}.inst-header p{margin:0;max-width:72ch;color:#52677c}
.inst-surface{background:#fff;border:1px solid var(--inst-border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;min-width:0}
.inst-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(145px,1.3fr) minmax(130px,1fr) minmax(110px,.75fr) auto;gap:.85rem;align-items:end}.inst-filters label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.inst-filter-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.inst-stats{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1rem 0;border-block:1px solid var(--inst-border);margin-bottom:1.5rem}.inst-stats div{display:flex;gap:.5rem;align-items:baseline}.inst-stats strong{font-size:1.35rem}.inst-stats span{color:#52677c;font-size:.9rem}
.inst-tabs{display:flex;gap:1.5rem;overflow:auto;border-bottom:1px solid var(--inst-border);margin-bottom:1.25rem}.inst-tabs a{padding:.75rem .1rem;text-decoration:none;color:inherit;white-space:nowrap;border-bottom:3px solid transparent}.inst-tabs a[aria-current=page]{border-bottom-color:var(--portal-primary,#0056a6);font-weight:700}
.inst-table{width:100%;border-collapse:collapse}.inst-table th{text-align:left;background:var(--inst-soft);font-size:.85rem;padding:.8rem}.inst-table td{padding:1rem .8rem;border-bottom:1px solid var(--inst-border);vertical-align:top}.inst-table small{display:block;color:#52677c;margin-top:.25rem}.inst-status{font-size:.8rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;background:var(--inst-soft);display:inline-block}.inst-next{font-size:.95rem;max-width:32rem;border-left:3px solid var(--portal-primary,#0056a6);padding:.5rem 1rem}.inst-next p{margin:.3rem 0}.inst-empty{padding:2rem .5rem;color:#52677c}
.inst-calendar-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.inst-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--inst-border);border-left:1px solid var(--inst-border)}.inst-calendar>div{min-height:100px;padding:.65rem;border-right:1px solid var(--inst-border);border-bottom:1px solid var(--inst-border)}.inst-calendar .inst-weekday{min-height:0;background:var(--inst-soft);font-size:.8rem;font-weight:600}.inst-calendar .inst-other-month{background:#fafbfd}.inst-calendar a{display:block;font-size:.8rem;margin-top:.5rem;overflow-wrap:anywhere}.inst-calendar [aria-current=date]{outline:2px solid var(--portal-primary,#0056a6);outline-offset:-2px}.inst-mobile-agenda{display:none}
.inst-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inst-person{display:flex;align-items:center;gap:1.1rem;background:#fff;border:1px solid var(--inst-border);border-radius:10px;padding:1.25rem;min-width:0}.inst-person-photo{width:72px;height:88px;border-radius:6px;object-fit:cover;flex:none;background:var(--inst-soft)}.inst-person-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#52677c}.inst-person-copy{flex:1;min-width:0}.inst-person h2{font-size:1.1rem;margin:0 0 .35rem}.inst-person p{margin:0 0 .35rem;color:#52677c}.inst-person .btn{margin-top:.6rem;min-height:38px}.inst-links{display:flex;gap:.5rem 1.25rem;flex-wrap:wrap;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--inst-border)}
.institutional-dialog{width:min(1280px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);height:auto;max-height:calc(100dvh - 2rem);padding:0;border:1px solid #dce5ec;border-radius:12px;color:var(--portal-text,#17324d)}.institutional-dialog::backdrop{background:#10263a99}.institutional-dialog[open]{display:flex;flex-direction:column}.institutional-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid #dce5ec;flex-shrink:0}.institutional-dialog-body{padding:1.25rem;overflow:auto;flex:1;min-height:0}.institutional-dialog-body h1{font-size:1.5rem}.inst-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inst-detail-grid dt{font-size:.8rem;color:#52677c}.inst-detail-grid dd{margin-bottom:0}.inst-public-docs{list-style:none;padding:0}.inst-public-docs li{padding:.75rem 0;border-bottom:1px solid #dce5ec}
.inst-tree,.inst-tree ul{list-style:none;padding:0;margin:0}.inst-tree ul{margin:.6rem 0 .6rem 1.4rem;padding-left:1.2rem;border-left:2px solid var(--inst-border)}.inst-tree>li{margin-bottom:1rem}.inst-tree li{min-width:0}.inst-node{background:#fff;border:1px solid var(--inst-border);border-radius:8px;padding:1rem;display:block;margin:.6rem 0;overflow-wrap:anywhere}.inst-tree summary{cursor:pointer}.inst-node small{display:block;color:#52677c}.inst-node a{display:inline-block;margin:.5rem 0 0}.inst-relations{padding:1rem;background:var(--inst-soft);border-radius:8px}.inst-structure-editor{display:grid;gap:.75rem}.inst-structure-editor .inst-source{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(140px,1fr);gap:1rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--inst-border)}.inst-warning{border-left:3px solid #a96700;padding:.75rem 1rem;background:#fff9ed;color:#62420d}
.institutional-v2 a:focus-visible,.institutional-v2 button:focus-visible,.inst-tree summary:focus-visible{outline:3px solid var(--portal-primary,#0056a6);outline-offset:3px}
@media(min-width:1100px){.inst-tree{display:flex;align-items:start;gap:1.5rem;overflow-x:auto;padding-bottom:1rem}.inst-tree>li{min-width:240px;flex:1}.inst-tree ul{margin-left:.5rem;padding-left:.9rem}}
@media(max-width:800px){.inst-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inst-filters>div:first-child{grid-column:1/-1}.inst-people{grid-template-columns:1fr}.inst-person-photo{width:60px;height:76px}.inst-stats{gap:.75rem 1rem}.inst-calendar{display:none}.inst-mobile-agenda{display:block}.inst-detail-grid{grid-template-columns:1fr}.inst-structure-editor .inst-source{grid-template-columns:1fr}.inst-surface{padding:1rem}.institutional-v2 .inst-header{padding-top:.5rem}}
@media(prefers-reduced-motion:reduce){.institutional-v2 *{scroll-behavior:auto!important;transition:none!important}}
/* Reuniões: shared public portal surfaces and metric typography. */
.inst-meetings-premium .inst-meetings-heading{display:block;margin-bottom:1.25rem;border-top-color:var(--portal-dark,#16324f)}
.inst-meetings-heading h1{margin:.7rem 0 .35rem;font-size:clamp(1.65rem,2.4vw,2.15rem);font-weight:700;line-height:1.2}
.inst-meetings-heading p{margin:0;color:var(--portal-muted,#52677c)}
.inst-meetings-period{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--portal-dark,#16324f)}
.inst-meetings-period span{font-weight:400;color:var(--portal-muted,#52677c)}
.inst-meetings-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.inst-meetings-metrics .portal-metric-card{min-width:0;padding:1rem 1.1rem;background:var(--portal-paper,#fff);border-radius:var(--portal-radius,12px);border:1px solid var(--portal-border,#dce5ec);border-top:3px solid var(--portal-primary,#0056a6);box-shadow:var(--portal-shadow,0 4px 16px #16324f08)}
.inst-meetings-metrics dt{display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:600;color:var(--portal-muted,#52677c);margin-bottom:.8rem}
.inst-meetings-metrics .portal-metric-value{font-size:1.65rem;font-weight:700;line-height:1;color:var(--portal-dark,#16324f)}
.inst-meeting-metric-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;background:var(--inst-soft);border-radius:7px;color:var(--portal-primary,#0056a6);font-size:1rem}
.inst-meetings-workspace{padding:0!important;overflow:hidden}
.inst-meetings-tabs{margin:0!important;padding:0 1.35rem;border-bottom:1px solid var(--inst-border);gap:1.75rem}
.inst-meetings-tabs a{display:inline-flex;align-items:center;gap:.5rem;padding:1.1rem .1rem;min-height:48px}
.inst-meetings-premium .inst-meetings-filters{padding:1.25rem 1.35rem 1rem;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--portal-paper,#fff);grid-template-columns:minmax(200px,1.5fr) minmax(180px,1.15fr) minmax(145px,.8fr) minmax(120px,.65fr)}
.inst-meetings-filters .inst-filter-actions{grid-column:1/-1;justify-content:flex-end;margin-top:0;min-height:0}
.inst-meetings-clear{font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.inst-meetings-resultbar{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.65rem 1.35rem;border-block:1px solid var(--inst-border);font-size:.85rem;color:var(--portal-muted,#52677c);background:var(--inst-soft)}
.inst-meetings-next{display:flex;align-items:center;gap:.85rem;padding:1rem 1.35rem;border-bottom:1px solid var(--inst-border);background:#fff}
.inst-meetings-next>i{font-size:1.2rem;color:var(--portal-primary,#0056a6)}
.inst-meetings-next>div{flex:1;min-width:0}.inst-meetings-next strong{display:block;font-size:.76rem;color:var(--portal-muted,#52677c);font-weight:600}.inst-meetings-next a{font-weight:600;text-decoration:none;overflow-wrap:anywhere}.inst-meetings-next time{font-size:.9rem;white-space:nowrap}
.inst-meetings-list{padding:1.1rem 1.35rem 1.35rem}.inst-meetings-list .inst-table th{background:var(--inst-soft);font-size:.78rem;font-weight:700}.inst-meetings-list .inst-table td{padding:1rem .8rem}.inst-meetings-list .inst-table td strong{font-weight:600}
.inst-meetings-premium[aria-busy=true] .inst-meetings-list{opacity:.55}.inst-meetings-premium [data-meetings-status]{font-size:.8rem}.inst-meetings-premium [data-meetings-status][data-error]{color:#9b2929}
@media(max-width:1000px){.inst-meetings-premium .inst-meetings-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inst-meetings-filters>div:first-child{grid-column:auto}.inst-meetings-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.inst-meetings-next{align-items:flex-start;flex-wrap:wrap}.inst-meetings-next time{margin-left:2rem;white-space:normal}.inst-meetings-next>div{flex-basis:calc(100% - 3rem)}.inst-meetings-heading{padding:1.1rem!important}.inst-meetings-premium .inst-meetings-filters{padding:1rem;gap:.8rem}.inst-meetings-filters>div:first-child{grid-column:1/-1}.inst-meetings-metrics{gap:.65rem}.inst-meetings-metrics .portal-metric-card{padding:.85rem}.inst-meetings-metrics dt{align-items:flex-start;font-size:.78rem;gap:.45rem}.inst-meeting-metric-icon{width:25px;height:25px}.inst-meetings-list{padding:1rem}.inst-meetings-resultbar,.inst-meetings-next{padding:.85rem 1rem}.inst-meetings-period span{display:block;flex-basis:100%}}

/* Institutional details follow the portal modal treatment, with content-sized height. */
.institutional-dialog{border-top:3px solid var(--portal-primary,#0056a6);box-shadow:0 24px 70px rgba(18,36,57,.22)}
.institutional-dialog>header{background:var(--portal-soft,#f6f8fb)}
.institutional-dialog>header h2{font-family:inherit;font-size:1.25rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
.institutional-dialog>header button{flex-shrink:0}
.institutional-dialog-body{flex:0 1 auto;overscroll-behavior:contain}
.institutional-dialog-body h2{font-family:inherit;font-size:1.1rem;line-height:1.4}
.institutional-dialog-body [data-institutional-back]{display:none}
@media(max-width:575px){.institutional-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.institutional-dialog>header,.institutional-dialog-body{padding:1rem}.institutional-dialog>header h2{font-size:1.1rem}}

/* Public consultation actions use the portal button treatment. */
.institutional-v2 .inst-document-action,.institutional-v2 .inst-meeting-action,.institutional-v2 .inst-meetings-clear{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:.5rem .85rem;border-radius:8px;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.institutional-v2 .inst-document-action{background:var(--portal-primary,#0056a6);border:1px solid var(--portal-primary,#0056a6);color:#fff}
.institutional-v2 .inst-document-action:hover{filter:brightness(.92);color:#fff}
.institutional-v2 .inst-meeting-action,.institutional-v2 .inst-meetings-clear{background:#fff;border:1px solid var(--portal-primary,#0056a6);color:var(--portal-primary,#0056a6)}
.institutional-v2 .inst-meeting-action:hover,.institutional-v2 .inst-meetings-clear:hover{background:var(--inst-soft)}
.inst-public-docs li{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.inst-meetings-next .inst-meeting-action{margin-top:.4rem;text-align:left;font-weight:600}
.institutional-v2 .inst-calendar .inst-meeting-action{display:flex;justify-content:flex-start;min-height:32px;padding:.35rem .45rem;font-size:.75rem;line-height:1.35;margin-top:.35rem}
.institutional-v2 .btn:focus-visible{outline:3px solid var(--portal-primary,#0056a6);outline-offset:3px}
