/* ======================================================================
   R2.1T.3A | Pautas Territoriais
   Núcleo vivo, constelação de fontes e maturidade descritiva
   ====================================================================== */

.tv2-agenda-page {
    --tv2-agenda-violet: 123, 85, 231;
    --tv2-agenda-blue: 69, 103, 242;
    --tv2-agenda-cyan: 30, 167, 197;
    --tv2-agenda-green: 46, 158, 114;
    --tv2-agenda-amber: 215, 154, 49;
    --tv2-agenda-orange: 232, 121, 54;
    --tv2-agenda-coral: 228, 92, 104;
    --tv2-agenda-magenta: 198, 79, 154;
    --tv2-agenda-ink: #10203c;
    --tv2-agenda-muted: #697894;
    --tv2-agenda-line: rgba(91, 112, 168, .18);
    --tv2-agenda-field: rgba(255, 255, 255, .74);
    --tv2-agenda-score: 0;
}

.tv2-agenda-container {
    max-width: 1480px;
}

.tv2-agenda-page .tv2-button {
    gap: 8px;
}

.tv2-agenda-page .tv2-button .material-icons {
    font-size: 19px;
}

.tv2-agenda-hero,
.tv2-agenda-detail-hero,
.tv2-agenda-builder-intro {
    position: relative;
    overflow: hidden;
    margin-top: 18px;
    border-radius: 36px;
    box-shadow: var(--tv2-shadow-deep);
}

.tv2-agenda-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(410px, .88fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: center;
    min-height: 600px;
    padding: clamp(34px, 5vw, 72px);
}

.tv2-agenda-hero::before,
.tv2-agenda-detail-hero::before,
.tv2-agenda-builder-intro::before {
    position: absolute;
    inset: 1px;
    z-index: 0;
    border-radius: 35px;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .76), transparent 38%),
        radial-gradient(circle at 83% 20%, rgba(var(--tv2-agenda-violet), .16), transparent 28%),
        radial-gradient(circle at 76% 84%, rgba(var(--tv2-agenda-cyan), .13), transparent 34%);
}

.tv2-agenda-hero__aurora,
.tv2-agenda-detail-hero__aurora {
    position: absolute;
    top: -58%;
    right: -24%;
    z-index: 0;
    width: min(900px, 72%);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: .8;
    background: conic-gradient(
        from 150deg,
        rgba(var(--tv2-agenda-violet), .29),
        rgba(var(--tv2-agenda-cyan), .18),
        rgba(var(--tv2-agenda-amber), .14),
        rgba(var(--tv2-agenda-coral), .13),
        rgba(var(--tv2-agenda-magenta), .18),
        rgba(var(--tv2-agenda-violet), .29)
    );
    filter: blur(6px);
    mask-image: radial-gradient(circle, #000 0 45%, transparent 71%);
    animation: tv2-agenda-aurora 34s linear infinite;
}

.tv2-agenda-hero__copy,
.tv2-agenda-nucleus,
.tv2-agenda-detail-hero__copy,
.tv2-agenda-detail-nucleus,
.tv2-agenda-builder-intro > * {
    position: relative;
    z-index: 2;
}

.tv2-agenda-hero h1,
.tv2-agenda-detail-hero h1,
.tv2-agenda-builder-intro h1 {
    max-width: 900px;
    margin: 0;
    color: var(--tv2-ink);
    font-size: clamp(2.65rem, 5vw, 5.3rem);
    font-weight: 950;
    line-height: .97;
    letter-spacing: -.065em;
    text-wrap: balance;
}

.tv2-agenda-hero__copy > p,
.tv2-agenda-detail-hero__copy > p,
.tv2-agenda-builder-intro > div:first-child > p {
    max-width: 850px;
    margin: 24px 0 0;
    color: var(--tv2-text);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.78;
}

.tv2-agenda-hero__actions,
.tv2-agenda-detail-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.tv2-agenda-nucleus {
    display: grid;
    place-items: center;
    width: min(470px, 100%);
    aspect-ratio: 1;
    justify-self: center;
    border-radius: 50%;
}

.tv2-agenda-nucleus::before {
    position: absolute;
    inset: 12%;
    border-radius: 50%;
    content: "";
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .98), transparent 30%),
        linear-gradient(145deg, rgba(var(--tv2-agenda-violet), .22), rgba(var(--tv2-agenda-cyan), .15));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .95) inset,
        0 40px 90px rgba(45, 55, 120, .23),
        0 0 0 18px rgba(255, 255, 255, .25),
        0 0 80px rgba(var(--tv2-agenda-violet), .16);
}

.tv2-agenda-nucleus__orbit,
.tv2-agenda-detail-nucleus__ring {
    position: absolute;
    border: 1px solid rgba(var(--tv2-agenda-violet), .2);
    border-radius: 50%;
    pointer-events: none;
}

.tv2-agenda-nucleus__orbit--one {
    inset: 2%;
    border-style: dashed;
    animation: tv2-agenda-spin 32s linear infinite;
}

.tv2-agenda-nucleus__orbit--two {
    inset: 17%;
    border-color: rgba(var(--tv2-agenda-cyan), .24);
    animation: tv2-agenda-spin 24s linear infinite reverse;
}

.tv2-agenda-nucleus__orbit--three {
    inset: 29%;
    border-color: rgba(255, 255, 255, .75);
    animation: tv2-agenda-breathe 5.8s ease-in-out infinite;
}

.tv2-agenda-nucleus__core {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 48%;
    aspect-ratio: 1;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    text-align: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(245, 247, 255, .72));
    box-shadow: 0 20px 55px rgba(38, 50, 112, .17);
}

.tv2-agenda-nucleus__core .material-icons {
    color: var(--tv2-violet);
    font-size: 54px;
    filter: drop-shadow(0 14px 18px rgba(var(--tv2-agenda-violet), .25));
}

.tv2-agenda-nucleus__core strong,
.tv2-agenda-nucleus__core small {
    display: block;
}

.tv2-agenda-nucleus__core strong {
    color: var(--tv2-ink);
    font-size: 1.42rem;
    font-weight: 950;
}

.tv2-agenda-nucleus__core small {
    max-width: 155px;
    color: var(--tv2-muted);
    font-size: .7rem;
    line-height: 1.35;
}

.tv2-agenda-nucleus__node {
    position: absolute;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 62px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 20px;
    color: #fff;
    box-shadow: 0 18px 34px rgba(31, 45, 98, .2);
    animation: tv2-agenda-node-float 5s ease-in-out infinite;
}

.tv2-agenda-nucleus__node i {
    font-size: 27px;
}

.tv2-agenda-nucleus__node--one {
    top: 8%;
    left: 25%;
    background: linear-gradient(135deg, rgb(var(--tv2-agenda-violet)), rgb(var(--tv2-agenda-magenta)));
}

.tv2-agenda-nucleus__node--two {
    top: 31%;
    right: 3%;
    background: linear-gradient(135deg, rgb(var(--tv2-agenda-blue)), rgb(var(--tv2-agenda-cyan)));
    animation-delay: -.9s;
}

.tv2-agenda-nucleus__node--three {
    right: 23%;
    bottom: 6%;
    background: linear-gradient(135deg, rgb(var(--tv2-agenda-orange)), rgb(var(--tv2-agenda-coral)));
    animation-delay: -1.8s;
}

.tv2-agenda-nucleus__node--four {
    bottom: 24%;
    left: 2%;
    background: linear-gradient(135deg, rgb(var(--tv2-agenda-green)), rgb(var(--tv2-agenda-cyan)));
    animation-delay: -2.7s;
}

.tv2-agenda-stats,
.tv2-agenda-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.tv2-agenda-stat,
.tv2-agenda-metric-grid article {
    display: flex;
    gap: 15px;
    align-items: center;
    min-height: 102px;
    padding: 20px;
    border-radius: 24px;
}

.tv2-agenda-stat > .material-icons,
.tv2-agenda-metric-grid article > .material-icons {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 48px;
    aspect-ratio: 1;
    border-radius: 16px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .1);
}

.tv2-agenda-stat strong,
.tv2-agenda-stat small,
.tv2-agenda-metric-grid strong,
.tv2-agenda-metric-grid small {
    display: block;
}

.tv2-agenda-stat strong,
.tv2-agenda-metric-grid strong {
    color: var(--tv2-ink);
    font-size: 1.45rem;
    font-weight: 950;
}

.tv2-agenda-stat small,
.tv2-agenda-metric-grid small {
    margin-top: 2px;
    color: var(--tv2-muted);
    font-size: .72rem;
}

.tv2-agenda-filter {
    margin-top: 18px;
    padding: 26px;
    border-radius: 28px;
}

.tv2-agenda-filter__head {
    display: flex;
    gap: 30px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 22px;
}

.tv2-agenda-filter__head h2 {
    max-width: 780px;
    margin: 5px 0 0;
    color: var(--tv2-ink);
    font-size: clamp(1.55rem, 2.5vw, 2.35rem);
    font-weight: 950;
    letter-spacing: -.035em;
}

.tv2-agenda-filter__head > p {
    max-width: 410px;
    margin: 0;
    color: var(--tv2-muted);
    font-size: .82rem;
    line-height: 1.6;
}

.tv2-agenda-filter form {
    display: grid;
    grid-template-columns: minmax(250px, 1.35fr) repeat(4, minmax(145px, .7fr)) auto;
    gap: 12px;
    align-items: end;
}

.tv2-agenda-field {
    display: block;
    margin: 0;
}

.tv2-agenda-field > span:first-child,
.tv2-agenda-source-card__relation > span {
    display: block;
    margin-bottom: 7px;
    color: var(--tv2-ink);
    font-size: .72rem;
    font-weight: 900;
}

.tv2-agenda-field input,
.tv2-agenda-field textarea,
.tv2-agenda-field select,
.tv2-agenda-source-card__relation select,
.tv2-agenda-input input {
    width: 100%;
    border: 1px solid var(--tv2-agenda-line);
    border-radius: 15px;
    outline: none;
    color: var(--tv2-ink);
    background: var(--tv2-agenda-field);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.tv2-agenda-field input,
.tv2-agenda-field select,
.tv2-agenda-source-card__relation select {
    min-height: 48px;
    padding: 0 14px;
}

.tv2-agenda-field textarea {
    min-height: 130px;
    padding: 14px;
    resize: vertical;
    line-height: 1.6;
}

.tv2-agenda-field input:focus,
.tv2-agenda-field textarea:focus,
.tv2-agenda-field select:focus,
.tv2-agenda-source-card__relation select:focus,
.tv2-agenda-input input:focus {
    border-color: rgba(var(--tv2-agenda-violet), .48);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 0 0 4px rgba(var(--tv2-agenda-violet), .1);
}

.tv2-agenda-field > small {
    display: block;
    margin-top: 7px;
    color: var(--tv2-muted);
    font-size: .68rem;
    line-height: 1.4;
}

.tv2-agenda-input {
    position: relative;
    display: block;
}

.tv2-agenda-input i {
    position: absolute;
    top: 50%;
    left: 13px;
    z-index: 2;
    color: var(--tv2-muted);
    font-size: 20px;
    transform: translateY(-50%);
}

.tv2-agenda-input input {
    min-height: 48px;
    padding: 0 14px 0 43px;
}

.tv2-agenda-results {
    margin-top: 28px;
}

.tv2-agenda-results__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.tv2-agenda-results__head strong,
.tv2-agenda-results__head span {
    display: inline-block;
}

.tv2-agenda-results__head strong {
    color: var(--tv2-ink);
    font-size: 1.5rem;
    font-weight: 950;
}

.tv2-agenda-results__head span {
    margin-left: 7px;
    color: var(--tv2-muted);
    font-size: .8rem;
}

.tv2-agenda-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.tv2-agenda-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
    padding: 22px;
    overflow: hidden;
    border-radius: 28px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tv2-agenda-card:hover {
    transform: translateY(-5px);
    border-color: rgba(var(--tv2-agenda-violet), .3);
    box-shadow: 0 30px 65px rgba(31, 43, 91, .16);
}

.tv2-agenda-card__light {
    position: absolute;
    top: -130px;
    right: -110px;
    width: 290px;
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--tv2-agenda-violet), .18), transparent 68%);
}

.tv2-agenda-card > header,
.tv2-agenda-detail-hero__chips {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.tv2-agenda-chip {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 31px;
    padding: 6px 10px;
    border: 1px solid rgba(var(--tv2-agenda-violet), .15);
    border-radius: 999px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .08);
    font-size: .67rem;
    font-weight: 900;
}

.tv2-agenda-chip i {
    font-size: 16px;
}

.tv2-agenda-chip--soft {
    color: var(--tv2-text);
    background: rgba(255, 255, 255, .56);
}

.tv2-agenda-card__body {
    position: relative;
    z-index: 2;
    flex: 1;
    margin-top: 22px;
}

.tv2-agenda-card__body > small {
    display: flex;
    gap: 5px;
    align-items: center;
    color: var(--tv2-muted);
    font-size: .7rem;
    font-weight: 800;
}

.tv2-agenda-card__body > small .material-icons {
    color: var(--tv2-violet);
    font-size: 16px;
}

.tv2-agenda-card h2 {
    margin: 12px 0 0;
    color: var(--tv2-ink);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.tv2-agenda-card__body > p {
    margin: 15px 0 0;
    color: var(--tv2-text);
    font-size: .84rem;
    line-height: 1.65;
}

.tv2-agenda-card__maturity {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 22px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 22px;
    background: rgba(255, 255, 255, .48);
}

.tv2-agenda-mini-gauge {
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    aspect-ratio: 1;
    border-radius: 50%;
    text-align: center;
    background: conic-gradient(
        rgb(var(--tv2-agenda-violet)) calc(var(--tv2-agenda-score) * 1%),
        rgba(var(--tv2-agenda-violet), .11) 0
    );
}

.tv2-agenda-mini-gauge::before {
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    content: "";
    background: rgba(255, 255, 255, .94);
}

.tv2-agenda-mini-gauge strong,
.tv2-agenda-mini-gauge small {
    position: relative;
    z-index: 2;
    display: block;
}

.tv2-agenda-mini-gauge strong {
    color: var(--tv2-ink);
    font-size: 1.12rem;
    font-weight: 950;
}

.tv2-agenda-mini-gauge small {
    color: var(--tv2-muted);
    font-size: .55rem;
}

.tv2-agenda-card__signals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.tv2-agenda-card__signals span {
    display: flex;
    gap: 4px;
    align-items: center;
    color: var(--tv2-muted);
    font-size: .62rem;
}

.tv2-agenda-card__signals i {
    color: var(--tv2-violet);
    font-size: 15px;
}

.tv2-agenda-card__signals strong {
    color: var(--tv2-ink);
    font-weight: 950;
}

.tv2-agenda-card > footer {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--tv2-agenda-line);
}

.tv2-agenda-card > footer > span,
.tv2-agenda-card > footer > a {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    font-size: .7rem;
    font-weight: 900;
}

.tv2-agenda-card > footer > span {
    color: var(--tv2-muted);
}

.tv2-agenda-card > footer > a {
    color: var(--tv2-violet);
    text-decoration: none;
}

.tv2-agenda-card > footer .material-icons {
    font-size: 17px;
}

.tv2-agenda-empty {
    display: grid;
    place-items: center;
    min-height: 370px;
    padding: 50px;
    border-radius: 30px;
    text-align: center;
}

.tv2-agenda-empty > .material-icons {
    display: grid;
    place-items: center;
    width: 82px;
    aspect-ratio: 1;
    border-radius: 26px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .1);
    font-size: 43px;
}

.tv2-agenda-empty h2 {
    margin: 18px 0 0;
    color: var(--tv2-ink);
    font-size: 2rem;
    font-weight: 950;
}

.tv2-agenda-empty p {
    max-width: 650px;
    margin: 12px auto 22px;
    color: var(--tv2-muted);
    line-height: 1.65;
}

.tv2-agenda-pagination {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    margin-top: 26px;
}

.tv2-agenda-pagination a,
.tv2-agenda-pagination span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 13px;
    font-size: .76rem;
    font-weight: 900;
}

.tv2-agenda-pagination a {
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .08);
    text-decoration: none;
}

.tv2-agenda-pagination span {
    color: var(--tv2-muted);
}

/* Builder */
.tv2-agenda-builder-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    min-height: 340px;
    padding: clamp(30px, 4vw, 54px);
}

.tv2-agenda-builder-intro h1 {
    font-size: clamp(2.35rem, 4.4vw, 4.5rem);
}

.tv2-agenda-builder-seal {
    display: grid;
    place-items: center;
    width: 190px;
    aspect-ratio: 1;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    text-align: center;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .98), transparent 30%),
        linear-gradient(145deg, rgba(var(--tv2-agenda-violet), .19), rgba(var(--tv2-agenda-cyan), .14));
    box-shadow: 0 28px 65px rgba(38, 50, 108, .18), 0 0 0 14px rgba(255, 255, 255, .22);
}

.tv2-agenda-builder-seal .material-icons {
    color: var(--tv2-violet);
    font-size: 48px;
}

.tv2-agenda-builder-seal strong,
.tv2-agenda-builder-seal small {
    display: block;
}

.tv2-agenda-builder-seal strong {
    color: var(--tv2-ink);
    font-size: 1.12rem;
    font-weight: 950;
}

.tv2-agenda-builder-seal small {
    color: var(--tv2-muted);
    font-size: .67rem;
    line-height: 1.35;
}

.tv2-agenda-builder {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-top: 18px;
}

.tv2-agenda-steps {
    position: sticky;
    top: 20px;
    padding: 22px;
    border-radius: 28px;
}

.tv2-agenda-steps__identity {
    display: flex;
    gap: 12px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--tv2-agenda-line);
}

.tv2-agenda-steps__identity > .material-icons {
    display: grid;
    place-items: center;
    width: 44px;
    aspect-ratio: 1;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, var(--tv2-violet), var(--tv2-blue));
}

.tv2-agenda-steps__identity small,
.tv2-agenda-steps__identity strong {
    display: block;
}

.tv2-agenda-steps__identity small {
    color: var(--tv2-muted);
    font-size: .64rem;
}

.tv2-agenda-steps__identity strong {
    color: var(--tv2-ink);
    font-size: .92rem;
    font-weight: 950;
}

.tv2-agenda-steps ol {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.tv2-agenda-steps li {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 15px;
    opacity: .56;
    transition: opacity .2s ease, background .2s ease, transform .2s ease;
}

.tv2-agenda-steps li.is-active,
.tv2-agenda-steps li.is-complete {
    opacity: 1;
}

.tv2-agenda-steps li.is-active {
    background: rgba(var(--tv2-agenda-violet), .09);
    transform: translateX(3px);
}

.tv2-agenda-steps li > span {
    display: grid;
    place-items: center;
    width: 35px;
    aspect-ratio: 1;
    border-radius: 12px;
    color: var(--tv2-muted);
    background: rgba(107, 124, 172, .1);
    font-size: .74rem;
    font-weight: 950;
}

.tv2-agenda-steps li.is-active > span,
.tv2-agenda-steps li.is-complete > span {
    color: #fff;
    background: linear-gradient(135deg, var(--tv2-violet), var(--tv2-blue));
}

.tv2-agenda-steps li strong,
.tv2-agenda-steps li small {
    display: block;
}

.tv2-agenda-steps li strong {
    color: var(--tv2-ink);
    font-size: .76rem;
    font-weight: 950;
}

.tv2-agenda-steps li small {
    margin-top: 2px;
    color: var(--tv2-muted);
    font-size: .61rem;
}

.tv2-agenda-progress {
    height: 7px;
    margin-top: 20px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(var(--tv2-agenda-violet), .1);
}

.tv2-agenda-progress span {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tv2-violet), var(--tv2-cyan));
    transition: width .3s ease;
}

.tv2-agenda-steps > small {
    display: block;
    margin-top: 8px;
    color: var(--tv2-muted);
    font-size: .66rem;
    text-align: center;
}

.tv2-agenda-builder-main {
    min-width: 0;
}

.tv2-agenda-step {
    display: none;
    min-height: 610px;
    padding: clamp(24px, 4vw, 44px);
    border-radius: 30px;
}

.tv2-agenda-step.is-active {
    display: block;
    animation: tv2-agenda-step-in .35s ease both;
}

.tv2-agenda-step > header {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 28px;
}

.tv2-agenda-step > header > .material-icons {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 56px;
    aspect-ratio: 1;
    border-radius: 19px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .1);
    font-size: 29px;
}

.tv2-agenda-step h2 {
    margin: 4px 0 0;
    color: var(--tv2-ink);
    font-size: clamp(1.75rem, 3vw, 2.7rem);
    font-weight: 950;
    letter-spacing: -.045em;
}

.tv2-agenda-step header p {
    max-width: 760px;
    margin: 8px 0 0;
    color: var(--tv2-muted);
    font-size: .84rem;
    line-height: 1.6;
}

.tv2-agenda-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.tv2-agenda-fields--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv2-agenda-field--wide {
    grid-column: 1 / -1;
}

.tv2-agenda-choice-grid {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.tv2-agenda-choice-grid--themes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tv2-agenda-choice-grid--urgency {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tv2-agenda-choice-grid--horizons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv2-agenda-choice-grid--stages {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tv2-agenda-choice {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 118px;
    padding: 16px;
    border: 1px solid var(--tv2-agenda-line);
    border-radius: 20px;
    cursor: pointer;
    background: rgba(255, 255, 255, .52);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.tv2-agenda-choice:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--tv2-agenda-violet), .32);
}

.tv2-agenda-choice:has(input:checked) {
    border-color: rgba(var(--tv2-agenda-violet), .45);
    background: rgba(var(--tv2-agenda-violet), .1);
    box-shadow: 0 13px 30px rgba(40, 54, 112, .1);
}

.tv2-agenda-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tv2-agenda-choice > .material-icons {
    color: var(--tv2-violet);
    font-size: 27px;
}

.tv2-agenda-choice strong {
    color: var(--tv2-ink);
    font-size: .78rem;
    font-weight: 950;
}

.tv2-agenda-choice small {
    color: var(--tv2-muted);
    font-size: .64rem;
    line-height: 1.35;
}

.tv2-agenda-source-toolbar {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.tv2-agenda-source-toolbar .tv2-agenda-input {
    flex: 1;
    max-width: 620px;
}

.tv2-agenda-source-toolbar > strong {
    color: var(--tv2-ink);
    font-size: .76rem;
    font-weight: 950;
}

.tv2-agenda-source-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    max-height: 660px;
    padding-right: 5px;
    overflow-y: auto;
}

.tv2-agenda-source-card {
    position: relative;
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
    padding: 17px;
    border: 1px solid var(--tv2-agenda-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, .5);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.tv2-agenda-source-card.is-selected {
    border-color: rgba(var(--tv2-agenda-violet), .42);
    background: rgba(var(--tv2-agenda-violet), .08);
    box-shadow: 0 14px 30px rgba(38, 51, 108, .09);
}

.tv2-agenda-source-card.is-filtered {
    display: none;
}

.tv2-agenda-source-card__select {
    display: block;
    cursor: pointer;
}

.tv2-agenda-source-card__select input {
    position: absolute;
    opacity: 0;
}

.tv2-agenda-source-card__select .material-icons {
    color: rgba(104, 121, 164, .28);
    font-size: 28px;
    transition: color .2s ease, transform .2s ease;
}

.tv2-agenda-source-card.is-selected .tv2-agenda-source-card__select .material-icons {
    color: var(--tv2-violet);
    transform: scale(1.08);
}

.tv2-agenda-source-card small {
    color: var(--tv2-muted);
    font-size: .63rem;
}

.tv2-agenda-source-card h3 {
    margin: 6px 0 0;
    color: var(--tv2-ink);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.2;
}

.tv2-agenda-source-card p {
    margin: 8px 0 0;
    color: var(--tv2-text);
    font-size: .7rem;
    line-height: 1.5;
}

.tv2-agenda-source-card__relation {
    grid-column: 2;
    display: block;
    margin-top: 10px;
}

.tv2-agenda-source-card__relation select:disabled {
    opacity: .45;
}

.tv2-agenda-source-empty {
    display: grid;
    place-items: center;
    min-height: 250px;
    text-align: center;
}

.tv2-agenda-source-empty .material-icons {
    color: var(--tv2-violet);
    font-size: 48px;
}

.tv2-agenda-source-empty strong {
    margin-top: 12px;
    color: var(--tv2-ink);
}

.tv2-agenda-source-empty p {
    color: var(--tv2-muted);
}

.tv2-agenda-preview {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 24px;
    padding: 22px;
    border-radius: 24px;
}

.tv2-agenda-preview__nucleus {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 82px;
    aspect-ratio: 1;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--tv2-violet), var(--tv2-blue));
    box-shadow: 0 18px 40px rgba(var(--tv2-agenda-violet), .25), 0 0 0 10px rgba(var(--tv2-agenda-violet), .08);
}

.tv2-agenda-preview__nucleus .material-icons {
    font-size: 38px;
}

.tv2-agenda-preview h3 {
    margin: 4px 0 0;
    color: var(--tv2-ink);
    font-size: 1.35rem;
    font-weight: 950;
}

.tv2-agenda-preview p {
    margin: 7px 0 0;
    color: var(--tv2-muted);
    font-size: .76rem;
}

.tv2-agenda-preview > div:last-child > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.tv2-agenda-preview > div:last-child > div span {
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .08);
    font-size: .63rem;
    font-weight: 900;
}

.tv2-agenda-builder-actions {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin-top: 14px;
    padding: 15px;
    border-radius: 22px;
}

.tv2-agenda-builder-actions > span {
    color: var(--tv2-muted);
    font-size: .68rem;
    text-align: center;
}

/* Detail */
.tv2-agenda-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    gap: 50px;
    align-items: center;
    min-height: 620px;
    padding: clamp(34px, 5vw, 68px);
}

.tv2-agenda-detail-hero h1 {
    margin-top: 18px;
    font-size: clamp(2.65rem, 5vw, 5rem);
}

.tv2-agenda-detail-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 22px;
}

.tv2-agenda-detail-hero__meta span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: var(--tv2-muted);
    font-size: .72rem;
    font-weight: 800;
}

.tv2-agenda-detail-hero__meta i {
    color: var(--tv2-violet);
    font-size: 18px;
}

.tv2-agenda-detail-nucleus {
    position: relative;
    display: grid;
    place-items: center;
    width: min(430px, 100%);
    aspect-ratio: 1;
    justify-self: center;
    border-radius: 50%;
    background: conic-gradient(
        rgb(var(--tv2-agenda-violet)) calc(var(--tv2-agenda-score) * 1%),
        rgba(var(--tv2-agenda-violet), .1) 0
    );
    box-shadow: 0 38px 85px rgba(38, 49, 108, .2), 0 0 0 18px rgba(255, 255, 255, .2);
}

.tv2-agenda-detail-nucleus::before {
    position: absolute;
    inset: 16px;
    border-radius: 50%;
    content: "";
    background:
        radial-gradient(circle at 34% 23%, rgba(255, 255, 255, .99), transparent 31%),
        linear-gradient(145deg, rgba(252, 253, 255, .94), rgba(238, 243, 255, .86));
}

.tv2-agenda-detail-nucleus__ring--one {
    inset: -24px;
    border-style: dashed;
    animation: tv2-agenda-spin 36s linear infinite;
}

.tv2-agenda-detail-nucleus__ring--two {
    inset: 45px;
    border-color: rgba(var(--tv2-agenda-cyan), .25);
    animation: tv2-agenda-spin 27s linear infinite reverse;
}

.tv2-agenda-detail-nucleus__ring--three {
    inset: 93px;
    border-color: rgba(var(--tv2-agenda-violet), .18);
    animation: tv2-agenda-breathe 6s ease-in-out infinite;
}

.tv2-agenda-detail-nucleus__core {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 48%;
    aspect-ratio: 1;
    border-radius: 50%;
    text-align: center;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 20px 50px rgba(39, 51, 108, .14);
}

.tv2-agenda-detail-nucleus__core .material-icons {
    color: var(--tv2-violet);
    font-size: 48px;
}

.tv2-agenda-detail-nucleus__core strong,
.tv2-agenda-detail-nucleus__core small {
    display: block;
}

.tv2-agenda-detail-nucleus__core strong {
    color: var(--tv2-ink);
    font-size: 2rem;
    font-weight: 950;
}

.tv2-agenda-detail-nucleus__core small {
    max-width: 120px;
    color: var(--tv2-muted);
    font-size: .64rem;
}

.tv2-agenda-detail-nucleus__signal {
    position: absolute;
    z-index: 5;
    display: inline-flex;
    gap: 5px;
    align-items: center;
    min-width: 58px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 15px;
    color: var(--tv2-ink);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 15px 30px rgba(37, 48, 100, .15);
    font-size: .74rem;
    font-weight: 950;
}

.tv2-agenda-detail-nucleus__signal i {
    color: var(--tv2-violet);
    font-size: 18px;
}

.tv2-agenda-detail-nucleus__signal--one { top: 5%; left: 19%; }
.tv2-agenda-detail-nucleus__signal--two { top: 24%; right: -3%; }
.tv2-agenda-detail-nucleus__signal--three { right: 12%; bottom: 5%; }
.tv2-agenda-detail-nucleus__signal--four { bottom: 20%; left: -3%; }

.tv2-agenda-metric-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.tv2-agenda-metric-grid article {
    flex-direction: column;
    justify-content: center;
    min-height: 130px;
    text-align: center;
}

.tv2-agenda-time-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 24px;
}

.tv2-agenda-time-card {
    position: relative;
    min-height: 330px;
    padding: 30px;
    overflow: hidden;
    border-radius: 28px;
}

.tv2-agenda-time-card > .material-icons {
    display: grid;
    place-items: center;
    width: 55px;
    aspect-ratio: 1;
    margin-bottom: 18px;
    border-radius: 18px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .1);
    font-size: 29px;
}

.tv2-agenda-time-card h2 {
    margin: 5px 0 0;
    color: var(--tv2-ink);
    font-size: 2rem;
    font-weight: 950;
    letter-spacing: -.04em;
}

.tv2-agenda-time-card p {
    margin: 16px 0 0;
    color: var(--tv2-text);
    line-height: 1.72;
}

.tv2-agenda-time-arrow {
    display: grid;
    place-items: center;
    align-content: center;
    color: var(--tv2-violet);
    text-align: center;
}

.tv2-agenda-time-arrow span {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(var(--tv2-agenda-violet), .09);
    font-size: .68rem;
    font-weight: 950;
}

.tv2-agenda-time-arrow i {
    margin-top: 8px;
    font-size: 38px;
}

.tv2-agenda-constellation {
    margin-top: 24px;
    padding: clamp(28px, 4vw, 48px);
    border-radius: 32px;
}

.tv2-agenda-source-orbit {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 26px;
}

.tv2-agenda-orbit-card {
    position: relative;
    min-height: 310px;
    padding: 22px;
    overflow: hidden;
    border: 1px solid var(--tv2-agenda-line);
    border-radius: 25px;
    color: inherit;
    background: rgba(255, 255, 255, .54);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.tv2-agenda-orbit-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--tv2-agenda-violet), .34);
    box-shadow: 0 24px 50px rgba(37, 49, 103, .13);
}

.tv2-agenda-orbit-card__index {
    position: absolute;
    top: 15px;
    right: 16px;
    color: rgba(var(--tv2-agenda-violet), .18);
    font-size: 3rem;
    font-weight: 950;
    letter-spacing: -.08em;
}

.tv2-agenda-orbit-card h3 {
    position: relative;
    z-index: 2;
    margin: 20px 0 0;
    color: var(--tv2-ink);
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.tv2-agenda-orbit-card > p {
    position: relative;
    z-index: 2;
    margin: 13px 0 0;
    color: var(--tv2-text);
    font-size: .78rem;
    line-height: 1.6;
}

.tv2-agenda-orbit-card footer {
    position: absolute;
    right: 22px;
    bottom: 20px;
    left: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 13px;
    border-top: 1px solid var(--tv2-agenda-line);
    color: var(--tv2-muted);
    font-size: .68rem;
    font-weight: 900;
}

.tv2-agenda-orbit-card footer i {
    color: var(--tv2-violet);
    font-size: 19px;
}

.tv2-agenda-readiness {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 18px;
    margin-top: 24px;
}

.tv2-agenda-readiness__score,
.tv2-agenda-gaps {
    padding: 30px;
    border-radius: 28px;
}

.tv2-agenda-readiness h2,
.tv2-agenda-gaps h2 {
    margin: 6px 0 0;
    color: var(--tv2-ink);
    font-size: 2rem;
    font-weight: 950;
    letter-spacing: -.04em;
}

.tv2-agenda-readiness-bars {
    display: grid;
    gap: 14px;
    margin-top: 24px;
}

.tv2-agenda-readiness-bars > div {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 14px;
    align-items: center;
}

.tv2-agenda-readiness-bars span {
    color: var(--tv2-text);
    font-size: .72rem;
    font-weight: 900;
}

.tv2-agenda-readiness-bars i {
    display: block;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(var(--tv2-agenda-violet), .09);
}

.tv2-agenda-readiness-bars b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tv2-violet), var(--tv2-cyan));
}

.tv2-agenda-readiness__score > p {
    margin: 20px 0 0;
    color: var(--tv2-muted);
    font-size: .7rem;
    line-height: 1.5;
}

.tv2-agenda-gaps > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.tv2-agenda-gap {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid rgba(var(--tv2-agenda-violet), .15);
    border-radius: 14px;
    color: var(--tv2-text);
    background: rgba(var(--tv2-agenda-violet), .07);
    font-size: .7rem;
    font-weight: 900;
}

.tv2-agenda-gap i {
    color: var(--tv2-violet);
    font-size: 18px;
}

.tv2-agenda-gap-complete {
    margin-top: 22px;
}

.tv2-agenda-gap-complete .material-icons {
    color: var(--tv2-green);
    font-size: 42px;
}

.tv2-agenda-gap-complete strong,
.tv2-agenda-gap-complete p {
    display: block;
}

.tv2-agenda-gap-complete strong {
    margin-top: 8px;
    color: var(--tv2-ink);
    font-weight: 950;
}

.tv2-agenda-gap-complete p {
    color: var(--tv2-muted);
    font-size: .74rem;
}

.tv2-agenda-governance {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 18px;
    align-items: center;
    margin-top: 24px;
    padding: 24px;
    border-radius: 28px;
}

.tv2-agenda-governance > div {
    display: flex;
    gap: 13px;
    align-items: flex-start;
}

.tv2-agenda-governance > div > .material-icons {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 44px;
    aspect-ratio: 1;
    border-radius: 14px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-agenda-violet), .09);
}

.tv2-agenda-governance small,
.tv2-agenda-governance strong,
.tv2-agenda-governance p {
    display: block;
}

.tv2-agenda-governance small {
    color: var(--tv2-muted);
    font-size: .62rem;
}

.tv2-agenda-governance strong {
    margin-top: 2px;
    color: var(--tv2-ink);
    font-size: .82rem;
    font-weight: 950;
}

.tv2-agenda-governance p {
    max-width: 460px;
    margin: 5px 0 0;
    overflow-wrap: anywhere;
    color: var(--tv2-muted);
    font-size: .64rem;
    line-height: 1.4;
}

/* Moderation */
.tv2-agenda-moderation-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.tv2-agenda-moderation-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    padding: 20px;
    border-radius: 22px;
}

.tv2-agenda-moderation-item h4 {
    margin: 8px 0 0;
    color: var(--tv2-ink);
    font-size: 1.15rem;
    font-weight: 950;
}

.tv2-agenda-moderation-item p {
    margin: 8px 0 0;
    color: var(--tv2-text);
    font-size: .74rem;
    line-height: 1.55;
}

.tv2-agenda-moderation-item form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: end;
}

.tv2-agenda-moderation-item textarea {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 76px;
    padding: 10px;
    border: 1px solid var(--tv2-agenda-line);
    border-radius: 13px;
    resize: vertical;
}

/* Public compatibility */
.tv2-public-body .tv2-agenda-container {
    width: min(1380px, calc(100% - 28px));
    margin: 18px auto 0;
    padding-bottom: 70px;
}

.tv2-public-body .tv2-agenda-detail-hero {
    margin-top: 20px;
}

/* Tone propagation */
.tv2-agenda-page .tv2-tone-violet { --tv2-agenda-current: var(--tv2-agenda-violet); }
.tv2-agenda-page .tv2-tone-blue { --tv2-agenda-current: var(--tv2-agenda-blue); }
.tv2-agenda-page .tv2-tone-cyan { --tv2-agenda-current: var(--tv2-agenda-cyan); }
.tv2-agenda-page .tv2-tone-green { --tv2-agenda-current: var(--tv2-agenda-green); }
.tv2-agenda-page .tv2-tone-amber { --tv2-agenda-current: var(--tv2-agenda-amber); }
.tv2-agenda-page .tv2-tone-orange { --tv2-agenda-current: var(--tv2-agenda-orange); }
.tv2-agenda-page .tv2-tone-coral { --tv2-agenda-current: var(--tv2-agenda-coral); }
.tv2-agenda-page .tv2-tone-magenta { --tv2-agenda-current: var(--tv2-agenda-magenta); }

.tv2-agenda-page .tv2-agenda-chip.tv2-tone-violet,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-blue,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-cyan,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-green,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-amber,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-orange,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-coral,
.tv2-agenda-page .tv2-agenda-chip.tv2-tone-magenta {
    color: rgb(var(--tv2-agenda-current));
    border-color: rgba(var(--tv2-agenda-current), .2);
    background: rgba(var(--tv2-agenda-current), .09);
}

.tv2-agenda-page .tv2-agenda-choice.tv2-tone-violet > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-blue > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-cyan > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-green > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-amber > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-orange > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-coral > .material-icons,
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-magenta > .material-icons {
    color: rgb(var(--tv2-agenda-current));
}

.tv2-agenda-page .tv2-agenda-choice.tv2-tone-violet:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-blue:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-cyan:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-green:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-amber:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-orange:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-coral:has(input:checked),
.tv2-agenda-page .tv2-agenda-choice.tv2-tone-magenta:has(input:checked) {
    border-color: rgba(var(--tv2-agenda-current), .45);
    background: rgba(var(--tv2-agenda-current), .09);
}

@media (max-width: 1250px) {
    .tv2-agenda-grid,
    .tv2-agenda-source-orbit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tv2-agenda-filter form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tv2-agenda-filter form .tv2-agenda-field--search {
        grid-column: span 2;
    }

    .tv2-agenda-choice-grid--themes,
    .tv2-agenda-choice-grid--stages {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tv2-agenda-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1040px) {
    .tv2-agenda-hero,
    .tv2-agenda-detail-hero {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-nucleus,
    .tv2-agenda-detail-nucleus {
        width: min(390px, 84vw);
        justify-self: start;
    }

    .tv2-agenda-builder {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-steps {
        position: static;
    }

    .tv2-agenda-steps ol {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tv2-agenda-time-map {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-time-arrow {
        grid-auto-flow: column;
        justify-content: center;
    }

    .tv2-agenda-time-arrow i {
        margin: 0 0 0 8px;
        transform: rotate(90deg);
    }

    .tv2-agenda-readiness {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .tv2-agenda-hero,
    .tv2-agenda-detail-hero,
    .tv2-agenda-builder-intro {
        min-height: 0;
        padding: 30px 22px;
    }

    .tv2-agenda-builder-intro {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-builder-seal {
        width: 150px;
    }

    .tv2-agenda-stats,
    .tv2-agenda-metric-grid,
    .tv2-agenda-grid,
    .tv2-agenda-source-orbit,
    .tv2-agenda-source-list {
        grid-template-columns: 1fr 1fr;
    }

    .tv2-agenda-filter__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .tv2-agenda-filter form,
    .tv2-agenda-fields,
    .tv2-agenda-fields--three {
        grid-template-columns: 1fr 1fr;
    }

    .tv2-agenda-choice-grid--themes,
    .tv2-agenda-choice-grid--urgency,
    .tv2-agenda-choice-grid--horizons,
    .tv2-agenda-choice-grid--stages {
        grid-template-columns: 1fr 1fr;
    }

    .tv2-agenda-governance {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-moderation-item {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .tv2-agenda-hero h1,
    .tv2-agenda-detail-hero h1,
    .tv2-agenda-builder-intro h1 {
        font-size: clamp(2.15rem, 12vw, 3.3rem);
    }

    .tv2-agenda-stats,
    .tv2-agenda-metric-grid,
    .tv2-agenda-grid,
    .tv2-agenda-source-orbit,
    .tv2-agenda-source-list,
    .tv2-agenda-filter form,
    .tv2-agenda-fields,
    .tv2-agenda-fields--three,
    .tv2-agenda-choice-grid--themes,
    .tv2-agenda-choice-grid--urgency,
    .tv2-agenda-choice-grid--horizons,
    .tv2-agenda-choice-grid--stages {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-filter form .tv2-agenda-field--search {
        grid-column: auto;
    }

    .tv2-agenda-steps ol {
        grid-template-columns: 1fr 1fr;
    }

    .tv2-agenda-source-toolbar,
    .tv2-agenda-card > footer,
    .tv2-agenda-builder-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .tv2-agenda-builder-actions {
        display: flex;
    }

    .tv2-agenda-builder-actions .tv2-button {
        width: 100%;
    }

    .tv2-agenda-card__maturity {
        grid-template-columns: 1fr;
    }

    .tv2-agenda-mini-gauge {
        justify-self: center;
    }

    .tv2-agenda-readiness-bars > div {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tv2-agenda-hero__aurora,
    .tv2-agenda-detail-hero__aurora,
    .tv2-agenda-nucleus__orbit,
    .tv2-agenda-nucleus__node,
    .tv2-agenda-detail-nucleus__ring,
    .tv2-agenda-step.is-active {
        animation: none !important;
    }

    .tv2-agenda-card,
    .tv2-agenda-choice,
    .tv2-agenda-orbit-card {
        transition: none !important;
    }
}

@keyframes tv2-agenda-aurora {
    to { transform: rotate(360deg); }
}

@keyframes tv2-agenda-spin {
    to { transform: rotate(360deg); }
}

@keyframes tv2-agenda-breathe {
    0%, 100% { opacity: .55; transform: scale(.98); }
    50% { opacity: 1; transform: scale(1.02); }
}

@keyframes tv2-agenda-node-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes tv2-agenda-step-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Ponte entre uma visão e as pautas que a acolhem */
.tv2-related-agendas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.tv2-agenda-chip {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid rgba(var(--tv2-violet-rgb), .16);
    border-radius: 999px;
    color: var(--tv2-ink);
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 10px 24px rgba(37, 48, 95, .08);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.tv2-agenda-chip:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--tv2-violet-rgb), .34);
    box-shadow: 0 16px 34px rgba(37, 48, 95, .13);
}

.tv2-agenda-chip .material-icons {
    flex: 0 0 auto;
    font-size: 18px;
}

.tv2-public-agenda-bridge {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    margin-top: 20px;
    padding: clamp(24px, 4vw, 38px);
    border-radius: 28px;
}

.tv2-public-agenda-bridge__symbol {
    display: grid;
    place-items: center;
    width: 64px;
    aspect-ratio: 1;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(145deg, var(--tv2-violet), var(--tv2-cyan));
    box-shadow: 0 18px 36px rgba(var(--tv2-violet-rgb), .22);
}

.tv2-public-agenda-bridge h2 {
    margin: 7px 0 0;
    color: var(--tv2-ink);
    font-size: clamp(1.45rem, 2.4vw, 2.25rem);
    font-weight: 950;
    letter-spacing: -.035em;
}

.tv2-public-agenda-bridge p {
    max-width: 900px;
    margin: 11px 0 0;
    color: var(--tv2-text);
    line-height: 1.7;
}

@media (max-width: 640px) {
    .tv2-public-agenda-bridge {
        grid-template-columns: 1fr;
    }
}

/* ======================================================================
   R2.1T.3B | Ponte para o Observatório de Relações
   ====================================================================== */

.tv2-agenda-curatorship-bridge {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .42fr) minmax(0, 1.18fr);
    gap: clamp(28px, 5vw, 68px);
    align-items: center;
    margin-top: 22px;
    padding: clamp(28px, 4vw, 52px);
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 14% 42%, rgba(var(--tv2-violet-rgb), .13), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(var(--tv2-cyan-rgb), .1), transparent 34%),
        rgba(255, 255, 255, .68);
}

.tv2-agenda-curatorship-bridge::after {
    position: absolute;
    top: -44%;
    right: -12%;
    width: 46%;
    aspect-ratio: 1;
    border-radius: 50%;
    content: "";
    pointer-events: none;
    background: conic-gradient(
        rgba(var(--tv2-violet-rgb), .17),
        rgba(var(--tv2-cyan-rgb), .12),
        rgba(var(--tv2-green-rgb), .1),
        rgba(var(--tv2-violet-rgb), .17)
    );
    filter: blur(5px);
    mask-image: radial-gradient(circle, #000 0 42%, transparent 72%);
    animation: tv2-agenda-curation-orbit 26s linear infinite;
}

.tv2-agenda-curatorship-bridge__visual,
.tv2-agenda-curatorship-bridge__copy {
    position: relative;
    z-index: 2;
}

.tv2-agenda-curatorship-bridge__visual {
    display: grid;
    place-items: center;
    width: min(300px, 100%);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255, 255, 255, .78), rgba(239, 244, 255, .4));
    box-shadow: 0 28px 68px rgba(36, 48, 96, .15), inset 0 0 36px rgba(var(--tv2-cyan-rgb), .08);
}

.tv2-agenda-curatorship-bridge__ring {
    position: absolute;
    border: 1px solid rgba(var(--tv2-violet-rgb), .17);
    border-radius: 50%;
}

.tv2-agenda-curatorship-bridge__ring--one { inset: 15%; }
.tv2-agenda-curatorship-bridge__ring--two { inset: 31%; border-color: rgba(var(--tv2-cyan-rgb), .2); }

.tv2-agenda-curatorship-bridge__core {
    display: grid;
    place-items: center;
    width: 94px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, var(--tv2-violet), var(--tv2-blue));
    box-shadow: 0 18px 40px rgba(var(--tv2-violet-rgb), .26);
}

.tv2-agenda-curatorship-bridge__core i { font-size: 38px; }

.tv2-agenda-curatorship-bridge__node {
    position: absolute;
    width: 24px;
    aspect-ratio: 1;
    border: 5px solid rgba(255, 255, 255, .88);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(33, 46, 93, .18);
}

.tv2-agenda-curatorship-bridge__node--one { top: 16%; left: 24%; background: var(--tv2-coral); }
.tv2-agenda-curatorship-bridge__node--two { top: 26%; right: 13%; background: var(--tv2-cyan); }
.tv2-agenda-curatorship-bridge__node--three { bottom: 14%; left: 37%; background: var(--tv2-green); }

.tv2-agenda-curatorship-bridge__copy h2 {
    max-width: 880px;
    margin: 7px 0 0;
    color: var(--tv2-ink);
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    font-weight: 950;
    line-height: 1.06;
    letter-spacing: -.04em;
}

.tv2-agenda-curatorship-bridge__copy > p {
    max-width: 850px;
    margin: 14px 0 0;
    color: var(--tv2-text);
    font-size: .88rem;
    line-height: 1.75;
}

.tv2-agenda-curatorship-bridge__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin: 22px 0;
}

.tv2-agenda-curatorship-bridge__stats span {
    padding: 12px;
    border: 1px solid rgba(94, 110, 164, .13);
    border-radius: 15px;
    background: rgba(255, 255, 255, .56);
}

.tv2-agenda-curatorship-bridge__stats strong,
.tv2-agenda-curatorship-bridge__stats small { display: block; }
.tv2-agenda-curatorship-bridge__stats strong { color: var(--tv2-ink); font-size: 1.05rem; font-weight: 950; }
.tv2-agenda-curatorship-bridge__stats small { margin-top: 2px; color: var(--tv2-muted); font-size: .61rem; }

.tv2-agenda-related-accepted {
    margin-top: 26px;
}

.tv2-agenda-related-accepted__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tv2-agenda-related-accepted__grid > a {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 150px;
    padding: 18px;
    overflow: hidden;
    border-radius: 22px;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.tv2-agenda-related-accepted__grid > a:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 58px rgba(31, 44, 91, .14);
}

.tv2-agenda-related-accepted__grid > a > .material-icons:first-child {
    display: grid;
    place-items: center;
    width: 46px;
    aspect-ratio: 1;
    border-radius: 15px;
    color: var(--tv2-violet);
    background: rgba(var(--tv2-violet-rgb), .08);
}

.tv2-agenda-related-accepted__grid small,
.tv2-agenda-related-accepted__grid strong { display: block; }
.tv2-agenda-related-accepted__grid small { color: var(--tv2-muted); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.tv2-agenda-related-accepted__grid strong { margin-top: 4px; color: var(--tv2-ink); font-size: .88rem; font-weight: 950; line-height: 1.2; }
.tv2-agenda-related-accepted__grid p { margin: 7px 0 0; color: var(--tv2-muted); font-size: .68rem; line-height: 1.45; }
.tv2-agenda-related-accepted__grid > a > i { color: var(--tv2-muted); font-size: 18px; }

/* Radar preventivo da criação de pautas */
.tv2-agenda-preflight {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(210px, .45fr);
    gap: 18px;
    align-items: center;
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(var(--tv2-violet-rgb), .13);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--tv2-cyan-rgb), .1), transparent 34%),
        rgba(255, 255, 255, .58);
    box-shadow: 0 16px 42px rgba(34, 47, 94, .08);
}

.tv2-agenda-preflight__icon {
    display: grid;
    place-items: center;
    width: 58px;
    aspect-ratio: 1;
    border-radius: 19px;
    color: #fff;
    background: linear-gradient(145deg, var(--tv2-violet), var(--tv2-blue));
    box-shadow: 0 12px 28px rgba(var(--tv2-violet-rgb), .24);
}

.tv2-agenda-preflight__icon .material-icons { font-size: 29px; }
.tv2-agenda-preflight__copy h3 { margin: 5px 0 0; color: var(--tv2-ink); font-size: 1.03rem; font-weight: 950; }
.tv2-agenda-preflight__copy p { margin: 6px 0 0; color: var(--tv2-muted); font-size: .72rem; line-height: 1.5; }

.tv2-agenda-preflight__status {
    display: flex;
    gap: 9px;
    align-items: center;
    justify-content: flex-end;
    color: var(--tv2-muted);
    text-align: right;
}

.tv2-agenda-preflight__status .material-icons { color: var(--tv2-cyan); }
.tv2-agenda-preflight__status small { max-width: 220px; font-size: .66rem; line-height: 1.4; }

.tv2-agenda-preflight__results {
    grid-column: 1 / -1;
    padding-top: 16px;
    border-top: 1px solid rgba(94, 110, 164, .13);
}

.tv2-agenda-preflight__result-head strong,
.tv2-agenda-preflight__result-head small { display: block; }
.tv2-agenda-preflight__result-head strong { color: var(--tv2-ink); font-size: .78rem; font-weight: 950; }
.tv2-agenda-preflight__result-head small { margin-top: 3px; color: var(--tv2-muted); font-size: .64rem; }

.tv2-agenda-preflight__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.tv2-agenda-preflight__card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 106px;
    padding: 12px;
    border: 1px solid rgba(94, 110, 164, .13);
    border-radius: 16px;
    color: inherit;
    text-decoration: none;
    background: rgba(255, 255, 255, .62);
}

.tv2-agenda-preflight__card.is-potential_duplicate { border-color: rgba(var(--tv2-coral-rgb), .25); background: rgba(var(--tv2-coral-rgb), .045); }
.tv2-agenda-preflight__card.is-overlap { border-color: rgba(var(--tv2-amber-rgb), .25); }
.tv2-agenda-preflight__card.is-complementary { border-color: rgba(var(--tv2-green-rgb), .24); }

.tv2-agenda-preflight__score {
    display: grid;
    place-items: center;
    width: 45px;
    aspect-ratio: 1;
    border-radius: 50%;
    color: var(--tv2-violet);
    font-size: .72rem;
    font-weight: 950;
    background: rgba(var(--tv2-violet-rgb), .08);
}

.tv2-agenda-preflight__card strong,
.tv2-agenda-preflight__card small { display: block; }
.tv2-agenda-preflight__card strong { color: var(--tv2-ink); font-size: .72rem; font-weight: 950; line-height: 1.2; }
.tv2-agenda-preflight__card small { margin-top: 3px; color: var(--tv2-coral); font-size: .58rem; font-weight: 900; }
.tv2-agenda-preflight__card p { margin: 4px 0 0; color: var(--tv2-muted); font-size: .58rem; line-height: 1.35; }
.tv2-agenda-preflight__card > .material-icons { color: var(--tv2-muted); font-size: 17px; }

@media (max-width: 1040px) {
    .tv2-agenda-curatorship-bridge { grid-template-columns: 1fr; }
    .tv2-agenda-curatorship-bridge__visual { width: min(260px, 80vw); justify-self: start; }
    .tv2-agenda-related-accepted__grid,
    .tv2-agenda-preflight__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tv2-agenda-preflight { grid-template-columns: auto 1fr; }
    .tv2-agenda-preflight__status { grid-column: 1 / -1; justify-content: flex-start; text-align: left; }
}

@media (max-width: 680px) {
    .tv2-agenda-curatorship-bridge__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tv2-agenda-related-accepted__grid,
    .tv2-agenda-preflight__cards { grid-template-columns: 1fr; }
    .tv2-agenda-preflight { grid-template-columns: 1fr; }
    .tv2-agenda-preflight__icon { width: 50px; }
}

@media (prefers-reduced-motion: reduce) {
    .tv2-agenda-curatorship-bridge::after { animation: none; }
    .tv2-agenda-related-accepted__grid > a { transition: none; }
}

@keyframes tv2-agenda-curation-orbit {
    to { transform: rotate(360deg); }
}
