:root{
    --bg:#f3f6fa;--surface:#fff;--surface-soft:#f8fafc;--surface-hover:#eef4f9;
    --text:#142033;--muted:#64748b;--border:#dfe6ee;--primary:#0f4775;--primary-strong:#0a3559;
    --primary-soft:#e9f2fa;--success:#169b54;--warning:#c67a0a;--danger:#c53c3c;
    --shadow:0 12px 34px rgba(15,35,55,.08);--sidebar-width:270px;--sidebar-collapsed:82px;--topbar-height:74px;
}

/* Etapa 39.1 — cursos responsivos, construtor e mídia */
.course-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.course-settings{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:20px;align-items:start}.course-settings-main,.course-settings-side{display:grid;gap:20px}.course-settings-side{position:sticky;top:calc(var(--topbar-height) + 18px)}.course-form-section{padding:24px}.course-form-section>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.course-form-section>header>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:800}.course-form-section h2,.course-builder-title h2{margin:0;font-size:1.18rem}.course-form-section header p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.course-form-section .field{margin-bottom:14px}.course-cover-editor{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:20px;align-items:start}.course-cover-editor>img,.course-cover-placeholder{width:100%;aspect-ratio:16/9;border-radius:14px;object-fit:cover;border:1px solid var(--border)}.course-cover-placeholder{display:grid;place-items:center;align-content:center;gap:8px;background:var(--surface-hover);color:var(--muted)}.course-cover-placeholder i{font-size:2rem}.course-save-bar{display:flex;justify-content:flex-end;gap:10px}.course-builder-shell{margin-top:28px}.course-builder-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.course-builder-title>span{color:var(--muted);font-size:.85rem}.course-builder{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.course-builder>aside{display:grid;gap:20px;position:sticky;top:calc(var(--topbar-height) + 18px)}.course-builder-module{padding:0;overflow:hidden;margin-bottom:14px}.course-builder-module>summary{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--surface-hover)}.course-builder-module>summary span,.course-lesson-edit>summary>span:nth-child(2){display:grid;gap:2px}.course-builder-module summary small,.course-lesson-edit summary small{font-size:.75rem;color:var(--muted);font-weight:500}.course-module-body{padding:20px}.course-inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.course-inline-actions .thematic-check:first-child{margin-right:auto}.course-delete-form{display:flex;justify-content:flex-end;margin-top:-36px;pointer-events:none}.course-delete-form button{pointer-events:auto}.course-builder-lessons{display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.course-lesson-edit{border:1px solid var(--border);border-radius:12px;overflow:hidden}.course-lesson-edit>summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer}.course-lesson-body{padding:16px;border-top:1px solid var(--border);background:var(--surface-hover)}.course-detail-cover{width:min(380px,38%);aspect-ratio:16/9;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-sm)}.course-video{display:block;width:min(100%,900px);max-height:70vh;margin-top:14px;background:#000;border-radius:12px}.course-content-link{display:inline-flex;gap:7px;margin-top:12px}.course-lesson-list article>div{min-width:0;flex:1}
@media(max-width:1180px){.course-settings{grid-template-columns:1fr}.course-settings-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.course-save-bar{grid-column:1/-1}.course-builder{grid-template-columns:1fr}.course-builder>aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.course-admin-hero{align-items:flex-start}.course-settings-side,.course-builder>aside{grid-template-columns:1fr}.course-cover-editor{grid-template-columns:1fr}.course-form-section{padding:18px}.course-module-body{padding:14px}.course-delete-form{margin:10px 0 0}.course-inline-actions{justify-content:flex-start}.course-detail-hero{align-items:flex-start}.course-detail-cover{width:100%;max-width:none}.course-lesson-list article{grid-template-columns:auto minmax(0,1fr)}.course-preview-badge{grid-column:2}}
html[data-theme="dark"]{
    --bg:#0d1420;--surface:#151f2d;--surface-soft:#101927;--surface-hover:#1b2a3b;
    --text:#edf4fb;--muted:#9fb0c4;--border:#26364a;--primary:#72b6ea;--primary-strong:#9dcff2;
    --primary-soft:#17324a;--success:#4ec987;--warning:#f0ae49;--danger:#f27777;
    --shadow:0 12px 34px rgba(0,0,0,.24)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5}
button,input,select,textarea{font:inherit}a{color:inherit}.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;background:var(--primary);color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none}.skip-link:focus{top:12px}
.app-shell{min-height:100vh;display:flex}.app-main{min-width:0;min-height:100vh;flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left .22s ease}.content-area{flex:1;padding:28px}.content-container{max-width:1440px;margin:0 auto;width:100%}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:1000;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .22s ease,transform .22s ease;overflow:hidden}.sidebar-brand-row{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border)}.sidebar-brand{min-width:220px;display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#0f4775,#082d4c);color:#fff;display:grid;place-items:center;font-size:.84rem;font-weight:850;box-shadow:0 7px 18px rgba(15,71,117,.22);flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;white-space:nowrap}.brand-copy strong{font-size:.98rem}.brand-copy small{font-size:.72rem;color:var(--muted);font-weight:500}.sidebar-nav{padding:18px 12px;overflow:auto;flex:1}.nav-section-label{padding:0 12px;margin:10px 0 7px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.nav-item{min-height:46px;display:flex;align-items:center;gap:11px;margin:4px 0;padding:10px 12px;border-radius:11px;text-decoration:none;color:var(--muted);font-size:.91rem;font-weight:650;white-space:nowrap;transition:background .16s,color .16s}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.nav-item.disabled{opacity:.58;cursor:not-allowed}.nav-icon{width:24px;height:24px;display:grid;place-items:center;font-size:1.15rem;flex:0 0 auto}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-badge{margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--surface-hover);font-size:.62rem;color:var(--muted)}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.environment-chip,.collapse-button{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.8rem;white-space:nowrap}.collapse-button{cursor:pointer}.collapse-button:hover{background:var(--surface-hover);color:var(--text)}.environment-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 16%,transparent)}.sidebar-close-mobile{display:none}
.app-topbar{height:var(--topbar-height);position:sticky;top:0;z-index:900;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:10px}.page-heading{display:flex;flex-direction:column;line-height:1.2}.page-heading strong{font-size:1.03rem}.page-kicker{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:750}.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.icon-button:hover:not(:disabled){background:var(--surface-hover)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.menu-button{display:none}.search-trigger{height:40px;min-width:230px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);color:var(--muted);text-align:left}.search-trigger span:nth-child(2){flex:1}.search-trigger kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:2px 6px;background:var(--surface);font-size:.69rem;color:var(--muted)}.theme-icon-dark{display:none}html[data-theme="dark"] .theme-icon-light{display:none}html[data-theme="dark"] .theme-icon-dark{display:inline}.notification-button{position:relative}.notification-dot{position:absolute;right:8px;top:7px;width:6px;height:6px;background:var(--danger);border-radius:50%;border:1px solid var(--surface)}.user-menu-placeholder{height:46px;display:flex;align-items:center;gap:9px;padding:4px 9px 4px 5px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);opacity:.74}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:.74rem;font-weight:850}.user-copy{display:flex;flex-direction:column;text-align:left;line-height:1.15}.user-copy strong{font-size:.78rem}.user-copy small{font-size:.66rem;color:var(--muted)}
.app-footer{min-height:58px;padding:15px 28px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.78rem}
.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:950;background:rgba(4,15,27,.56);backdrop-filter:blur(2px)}
html.sidebar-is-collapsed .sidebar{width:var(--sidebar-collapsed)}html.sidebar-is-collapsed .app-main{margin-left:var(--sidebar-collapsed)}html.sidebar-is-collapsed .brand-copy,html.sidebar-is-collapsed .nav-label,html.sidebar-is-collapsed .nav-badge,html.sidebar-is-collapsed .nav-section-label{display:none}html.sidebar-is-collapsed .sidebar-brand{min-width:auto}html.sidebar-is-collapsed .sidebar-brand-row{justify-content:center;padding:0}html.sidebar-is-collapsed .nav-item{justify-content:center;padding:10px}html.sidebar-is-collapsed .sidebar-footer{padding:10px}html.sidebar-is-collapsed .environment-chip,html.sidebar-is-collapsed .collapse-button{justify-content:center;padding:9px}html.sidebar-is-collapsed .collapse-button span:first-child{transform:rotate(180deg)}
.welcome-panel{position:relative;overflow:hidden;min-height:280px;border:1px solid var(--border);border-radius:22px;padding:34px;background:linear-gradient(125deg,var(--surface) 0%,var(--primary-soft) 100%);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:30px}.welcome-panel h1{margin:4px 0 12px;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.12}.welcome-text{max-width:720px;margin:0;color:var(--muted);font-size:1rem}.eyebrow{margin:0;color:var(--primary);font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.button-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:0;border-radius:11px;background:var(--primary);color:#fff;text-decoration:none;font-weight:750;cursor:pointer;box-shadow:0 7px 16px color-mix(in srgb,var(--primary) 20%,transparent)}.button:hover{background:var(--primary-strong)}.button-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:none}.button-secondary:hover{background:var(--surface-hover)}.button-danger{background:var(--danger);color:#fff}.button[disabled]{opacity:.48;cursor:not-allowed}.welcome-illustration{width:230px;height:200px;position:relative;display:grid;place-items:center;flex:0 0 auto}.illustration-logo{position:relative;z-index:3;width:92px;height:92px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#0f4775,#082d4c);color:#fff;font-size:1.38rem;font-weight:900;box-shadow:0 18px 36px rgba(15,71,117,.28)}.illustration-ring{position:absolute;border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:50%}.ring-one{width:150px;height:150px}.ring-two{width:210px;height:210px}
.section-block{margin-top:26px}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title-row h2{margin:3px 0 0;font-size:1.25rem}.updated-label{font-size:.76rem;color:var(--muted)}.dashboard-grid{display:grid;gap:16px}.dashboard-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(15,35,55,.035)}.metric-card{display:flex;align-items:center;gap:15px;min-height:128px}.metric-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;font-size:.76rem;font-weight:900}.metric-icon.success{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.metric-icon.warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.metric-icon.neutral{background:var(--primary-soft);color:var(--primary);font-size:1.25rem}.metric-card>div:last-child{min-width:0;display:flex;flex-direction:column}.metric-label{font-size:.73rem;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.06em}.metric-main{font-size:1.14rem;margin:3px 0}.metric-card small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-placeholder{min-height:245px}.placeholder-heading{display:flex;align-items:center;gap:13px}.placeholder-heading h2{font-size:1rem;margin:0}.placeholder-heading p{font-size:.8rem;color:var(--muted);margin:2px 0 0}.placeholder-icon{width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.empty-state{min-height:145px;margin-top:18px;border:1px dashed var(--border);border-radius:13px;background:var(--surface-soft);display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:20px}.empty-state strong{font-size:.9rem}.empty-state span{font-size:.78rem;color:var(--muted);margin-top:4px}
.hero{background:linear-gradient(135deg,var(--surface),var(--primary-soft));border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:var(--shadow)}h1{margin:0 0 10px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.status{display:inline-flex;align-items:center;gap:7px;font-weight:600}.dot{width:10px;height:10px;border-radius:50%}.ok .dot{background:var(--success)}.fail .dot{background:var(--danger)}.warn .dot{background:var(--warning)}.table{width:100%;border-collapse:collapse;margin-top:20px;background:var(--surface);border-radius:14px;overflow:hidden}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--border)}.table th{background:var(--surface-soft)}.error-box{background:var(--surface);border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-radius:16px;padding:24px}code{background:var(--surface-hover);padding:2px 6px;border-radius:5px}
/* Instalador */.installer-body{background:var(--bg)}.installer-body .topbar{height:68px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.installer-body .brand{display:flex;align-items:center;gap:12px;font-weight:700}.shell{max-width:1180px;margin:36px auto;padding:0 20px}.installer-shell{max-width:1050px}.installer-body .footer{text-align:center;color:var(--muted);padding:35px 0}.section-card{margin:20px 0;padding:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-heading h2{margin:2px 0 0}.badge{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:800}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.check-item strong,.check-item small{display:block}.check-item small{margin-top:3px;color:var(--muted);word-break:break-all}.alert{padding:16px 18px;border-radius:12px;margin:18px 0}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--text)}.field input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;background:var(--surface);color:var(--text)}.field input:focus{outline:3px solid color-mix(in srgb,var(--primary) 15%,transparent);border-color:var(--primary)}.form-help{color:var(--muted);font-size:.9rem;margin:14px 0 0}.install-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:24px 0 40px}.locked-card{display:flex;gap:22px;align-items:flex-start;padding:28px;margin-top:22px}.lock-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:#166534;font-size:1.5rem;font-weight:900;flex:0 0 auto}
/* Migrations */.migration-hero{margin-bottom:22px}.migration-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.metric-value{display:block;margin-top:8px;font-size:1.8rem;color:var(--text)}.success-text{color:var(--success)}.warning-text{color:var(--warning)}.table-wrap{overflow-x:auto}.migration-table{margin-top:0}.migration-table td{vertical-align:middle}.table-detail{display:block;color:var(--muted);margin-top:4px;font-family:Consolas,monospace}.migration-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.migration-actions form{margin:0}.no-margin{margin-top:0}
@media(max-width:1180px){.search-trigger{min-width:170px}.user-copy{display:none}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);width:280px}.app-main,html.sidebar-is-collapsed .app-main{margin-left:0}.menu-button,.sidebar-close-mobile{display:grid}html.sidebar-is-collapsed .sidebar{width:280px}.sidebar-is-collapsed .brand-copy,.sidebar-is-collapsed .nav-label,.sidebar-is-collapsed .nav-badge,.sidebar-is-collapsed .nav-section-label{display:initial}.sidebar-is-collapsed .sidebar-brand-row{justify-content:space-between;padding:0 18px}.sidebar-is-collapsed .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar-is-collapsed .environment-chip,.sidebar-is-collapsed .collapse-button{justify-content:flex-start;padding:9px 12px}.collapse-button{display:none}.sidebar-mobile-open .sidebar{transform:translateX(0)}.sidebar-mobile-open .sidebar-backdrop{display:block}.dashboard-grid.three{grid-template-columns:1fr}.welcome-illustration{width:180px}.search-trigger{display:none}}
@media(max-width:720px){.content-area{padding:18px 14px}.app-topbar{padding:0 14px}.app-footer{padding:14px;flex-direction:column;align-items:flex-start;gap:3px}.welcome-panel{padding:24px;min-height:auto}.welcome-illustration{display:none}.dashboard-grid.two{grid-template-columns:1fr}.topbar-actions{gap:6px}.user-menu-placeholder{padding:4px}.user-menu-placeholder>span:last-child{display:none}.page-kicker{display:none}.section-title-row{align-items:flex-start;flex-direction:column}.check-list,.form-grid,.form-grid.three-cols{grid-template-columns:1fr}.section-heading{align-items:flex-start}.install-actions{flex-direction:column-reverse}.install-actions .button{width:100%;text-align:center}.locked-card{flex-direction:column}.migration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.table{display:block;overflow-x:auto}}
@media(max-width:480px){.page-heading strong{font-size:.9rem}.user-menu-placeholder{display:none}.dashboard-grid.two,.migration-summary{grid-template-columns:1fr}.button-row,.button-row .button{width:100%}.migration-actions,.migration-actions form,.migration-actions .button{width:100%}.migration-actions .button{text-align:center}}

/* Etapa 6 — autenticação local */
.auth-body{min-height:100vh;margin:0;background:var(--page-bg);color:var(--text);display:grid;place-items:center;padding:24px}.auth-shell{width:min(460px,100%)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);padding:32px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-brand>div{display:grid}.auth-brand small{color:var(--muted)}.auth-heading h1{margin:.3rem 0 .6rem;font-size:2rem}.auth-heading p{color:var(--muted)}.auth-form{display:grid;gap:18px;margin:24px 0}.auth-submit{width:100%;justify-content:center}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:16px}.link-button{border:0;background:none;color:var(--primary);cursor:pointer;padding:0;font:inherit}.auth-note{font-size:.82rem;color:var(--muted);margin-top:28px;border-top:1px solid var(--border);padding-top:18px}.info-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;padding:18px;margin:22px 0}.info-panel code{display:block;overflow-wrap:anywhere;background:var(--code-bg,#eef2f7);padding:12px;border-radius:8px;margin:12px 0}.user-menu-live{display:flex;align-items:center;gap:10px;padding:5px 7px 5px 5px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.user-menu-live form{margin:0}.logout-button{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer;padding:8px}.alert{padding:12px 14px;border-radius:10px;margin:14px 0}.alert-danger{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}@media(max-width:700px){.auth-card{padding:24px}.user-copy{display:none}.logout-button{padding:7px}}

/* Etapa 9 — Central de Aplicações */
.app-launcher-hero{display:flex;align-items:center;justify-content:space-between;gap:28px}.app-search{width:min(420px,100%);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:0 15px}.app-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:14px 0}.app-section{margin-top:28px}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 5px 18px rgba(15,35,55,.04);display:flex;flex-direction:column;min-height:245px;transition:.18s ease}.app-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.app-card-top,.app-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--app-color) 14%,transparent);color:var(--app-color);font-size:1.35rem}.app-icon.compact{width:38px;height:38px;border-radius:11px;font-size:1rem}.favorite-button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.15rem;padding:8px}.favorite-button.is-favorite{color:#f59e0b}.app-card-body{flex:1;margin:17px 0}.app-card h3{font-size:1rem;margin:0}.app-card p{color:var(--muted);font-size:.86rem;line-height:1.5}.app-card small{color:var(--muted);font-size:.72rem}.app-badge{background:var(--primary-soft);color:var(--primary);font-size:.65rem;font-weight:800;padding:4px 7px;border-radius:999px}.app-open-button{justify-content:center;width:100%}.recent-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.recent-list>a{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;color:var(--text)}.recent-list span:last-child{display:grid}.recent-list small{color:var(--muted);font-size:.72rem}.compact-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.button-row,.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions form{margin:0}.button-small{padding:8px 10px;font-size:.78rem}.button-danger{background:var(--danger);color:#fff}.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;background:var(--surface);color:var(--text)}.field-full{grid-column:1/-1}.field small{font-weight:400;color:var(--muted)}.checkbox-field{display:flex;align-items:center;gap:9px}.form-stack{display:grid;gap:14px}.admin-split{align-items:start}.app-search-empty{margin-top:24px}
@media(max-width:800px){.app-launcher-hero,.compact-hero{align-items:flex-start;flex-direction:column}.app-search{width:100%}.field-full{grid-column:auto}.admin-split{grid-template-columns:1fr}}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;margin:1rem 0}.rbac-profile{border:1px solid var(--border,#d9e1ea);border-radius:12px;padding:.8rem;margin-bottom:.75rem}.rbac-profile summary{cursor:pointer}.rbac-profile form{margin-top:1rem}


/* Etapas 11 e 50 — Auditoria */
.diagnostic-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.diagnostic-hero form{margin:0}.diagnostic-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.diagnostic-kpis article{padding:1rem}.diagnostic-kpis small,.diagnostic-kpis strong,.diagnostic-kpis span{display:block}.diagnostic-kpis strong{font-size:1.5rem;margin:.25rem 0}.diagnostic-kpis span{font-size:.7rem;color:var(--muted)}.diagnostic-overall{border-left:5px solid var(--success)}.diagnostic-overall.status-aviso{border-left-color:#d97706}.diagnostic-overall.status-erro{border-left-color:var(--danger)}.diagnostic-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.diagnostic-actions span{font-size:.75rem;color:var(--muted)}.diagnostic-checks{display:grid;gap:.65rem}.diagnostic-check{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding:.85rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-soft)}.diagnostic-check p{margin:.15rem 0}.diagnostic-check small{color:var(--muted)}.diagnostic-status{font-size:.72rem;font-weight:800}.diagnostic-status i{margin-right:.35rem}.diagnostic-check.status-ok .diagnostic-status{color:#15803d}.diagnostic-check.status-aviso .diagnostic-status{color:#b45309}.diagnostic-check.status-erro .diagnostic-status{color:#b91c1c}.diagnostic-check.status-info .diagnostic-status{color:#0369a1}.diagnostic-check details{margin-top:.45rem}.diagnostic-check code{display:block;max-width:100%;overflow:auto;padding:.5rem;background:var(--surface);border-radius:.4rem}.diagnostic-badge.status-ok{background:#dcfce7;color:#166534}.diagnostic-badge.status-aviso{background:#fef3c7;color:#92400e}.diagnostic-badge.status-erro{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.diagnostic-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.diagnostic-hero{align-items:stretch;flex-direction:column}.diagnostic-kpis{grid-template-columns:1fr}.diagnostic-check{grid-template-columns:1fr;gap:.35rem}}
.audit-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.audit-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.audit-kpis article{padding:1rem}.audit-kpis small,.audit-kpis strong,.audit-kpis span{display:block}.audit-kpis strong{font-size:1.45rem;margin:.25rem 0}.audit-kpis span{font-size:.7rem;color:var(--muted)}.audit-filter-grid{margin-top:1rem}.audit-risk-baixo{background:#e8f5ed;color:#166534}.audit-risk-medio{background:#fff5d6;color:#92400e}.audit-risk-alto,.audit-risk-critico{background:#fee2e2;color:#991b1b}.data-table td small{display:block;margin-top:.25rem}
@media(max-width:1100px){.audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.audit-hero{align-items:stretch;flex-direction:column}.audit-kpis{grid-template-columns:1fr}}
.audit-json {
    margin: 0;
    padding: 1rem;
    border-radius: .75rem;
    background: var(--surface-muted, #f3f4f6);
    overflow: auto;
    max-height: 32rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.error-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.error-actions form{margin:0}
.definition-list > div {
    padding: .75rem 0;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.definition-list dt {
    font-weight: 700;
    margin-bottom: .25rem;
}
.definition-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.data-table small {
    display: block;
}
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 1rem;
}
.pagination a {
    min-width: 2.25rem;
    padding: .45rem .65rem;
    text-align: center;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .5rem;
    text-decoration: none;
}
.pagination a.active {
    font-weight: 700;
    background: var(--primary, #2563eb);
    color: #fff;
}


/* Etapa 12 — Dashboard e widgets */
.dashboard-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1.75rem;
    border-radius: 1rem;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, .16), transparent 40%),
        var(--surface, #fff);
    border: 1px solid var(--border-color, #e5e7eb);
}
.dashboard-hero h1 {
    margin: .15rem 0 .5rem;
}
.dashboard-hero p {
    margin: 0;
    max-width: 48rem;
}
.dashboard-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.dashboard-widget-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}
.dashboard-widget {
    grid-column: span 6;
    min-width: 0;
}
.dashboard-widget.widget-size-pequeno {
    grid-column: span 4;
}
.dashboard-widget.widget-size-medio {
    grid-column: span 6;
}
.dashboard-widget.widget-size-grande {
    grid-column: span 12;
}
.dashboard-widget-header {
    margin-bottom: 1rem;
}
.dashboard-widget-title {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
}
.dashboard-widget-title h2,
.dashboard-preference-heading h2 {
    margin: 0 0 .25rem;
    font-size: 1.05rem;
}
.dashboard-widget-title p,
.dashboard-preference-heading p {
    margin: 0;
    color: var(--text-muted, #6b7280);
    font-size: .9rem;
}
.dashboard-widget-icon {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    border-radius: .8rem;
    background: rgba(37, 99, 235, .1);
    color: var(--primary, #2563eb);
    font-size: 1.15rem;
}
.dashboard-app-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: .75rem;
}
.dashboard-app-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .75rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .8rem;
    text-decoration: none;
    color: inherit;
    transition: transform .16s ease, border-color .16s ease;
}
.dashboard-app-item:hover {
    transform: translateY(-2px);
    border-color: var(--primary, #2563eb);
}
.dashboard-app-item strong,
.dashboard-app-item small {
    display: block;
}
.dashboard-app-item small {
    color: var(--text-muted, #6b7280);
}
.dashboard-app-icon {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border-radius: .75rem;
    color: var(--app-color, #2563eb);
    background: color-mix(in srgb, var(--app-color, #2563eb) 12%, transparent);
}
.dashboard-status-grid,
.dashboard-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: .75rem;
}
.dashboard-status-grid > div,
.dashboard-summary-grid > div {
    padding: 1rem;
    border-radius: .8rem;
    background: var(--surface-muted, #f3f4f6);
}
.dashboard-status-grid span,
.dashboard-status-grid strong,
.dashboard-status-grid small,
.dashboard-summary-grid strong,
.dashboard-summary-grid span {
    display: block;
}
.dashboard-summary-grid strong {
    font-size: 1.65rem;
}
.dashboard-summary-grid span,
.dashboard-status-grid span,
.dashboard-status-grid small {
    color: var(--text-muted, #6b7280);
}
.status-ok {
    color: #15803d;
}
.status-warning {
    color: #b45309;
}
.dashboard-account {
    margin: 0;
}
.dashboard-account > div {
    display: grid;
    grid-template-columns: minmax(8rem, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.dashboard-account dt {
    font-weight: 700;
}
.dashboard-account dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.quick-link-list {
    display: grid;
    gap: .65rem;
}
.quick-link-list a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
    padding: .8rem;
    border-radius: .75rem;
    border: 1px solid var(--border-color, #e5e7eb);
    text-decoration: none;
    color: inherit;
}
.quick-link-list strong,
.quick-link-list small {
    display: block;
}
.quick-link-list small {
    color: var(--text-muted, #6b7280);
}
.widget-empty,
.dashboard-empty {
    text-align: center;
    padding: 1.5rem;
    color: var(--text-muted, #6b7280);
}
.widget-empty i,
.dashboard-empty > i {
    display: block;
    font-size: 2rem;
    margin-bottom: .5rem;
}
.dashboard-preference-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: 1rem;
}
.dashboard-preference-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.dashboard-preference-heading {
    display: flex;
    gap: .85rem;
}
.dashboard-toggle {
    display: flex;
    gap: .65rem;
    align-items: center;
    font-weight: 700;
}

@media (max-width: 900px) {
    .dashboard-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .dashboard-widget,
    .dashboard-widget.widget-size-pequeno,
    .dashboard-widget.widget-size-medio,
    .dashboard-widget.widget-size-grande {
        grid-column: span 12;
    }
}

@media (max-width: 560px) {
    .dashboard-hero {
        padding: 1.15rem;
    }
    .dashboard-hero-actions,
    .dashboard-hero-actions .button {
        width: 100%;
    }
    .dashboard-account > div {
        grid-template-columns: 1fr;
        gap: .2rem;
    }
}

/* Etapa 43 — framework e governança de widgets */
.widget-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.widget-admin-summary .card{padding:1rem}.widget-admin-summary strong,.widget-admin-summary span{display:block}.widget-admin-summary strong{font-size:1.7rem;color:var(--primary,#2563eb)}.widget-admin-name{display:flex;align-items:center;gap:.7rem;min-width:14rem}.widget-admin-name .dashboard-widget-icon{margin:0}.widget-admin-name strong,.widget-admin-name small{display:block}.widget-admin-name small{color:var(--text-muted,#6b7280)}.widget-admin-form{display:grid;gap:1.25rem}.widget-provider-status{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-radius:.65rem;background:rgba(22,163,74,.08);color:#15803d}.widget-provider-status.is-warning{background:rgba(217,119,6,.1);color:#b45309}.widget-provider-status i{font-size:1.4rem}.widget-provider-status strong,.widget-provider-status small{display:block}.widget-admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.widget-field-wide{grid-column:1/-1}.widget-admin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.widget-admin-options label{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.65rem}.widget-admin-options strong,.widget-admin-options small{display:block}.widget-admin-options small{color:var(--text-muted,#6b7280)}.widget-provider-unavailable{color:var(--text-muted,#6b7280)}
@media(max-width:900px){.widget-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.widget-admin-summary,.widget-admin-fields,.widget-admin-options{grid-template-columns:1fr}.widget-field-wide{grid-column:auto}}

/* Etapa 44 — dashboards administrativos */
.admin-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.25rem;background:linear-gradient(135deg,rgba(15,95,149,.13),rgba(39,143,151,.08)),var(--institutional-panel,#fff)}.admin-dashboard-hero h1,.admin-dashboard-hero p{margin:.1rem 0 .35rem}.admin-dashboard-filter{margin-bottom:.75rem;padding:.85rem}.admin-dashboard-filter form{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.admin-dashboard-presets{display:flex;gap:.35rem;flex-wrap:wrap}.admin-dashboard-presets a,.admin-dashboard-nav a{padding:.5rem .7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;color:inherit;text-decoration:none;background:var(--surface,#fff)}.admin-dashboard-nav{display:flex;gap:.4rem;overflow:auto;margin-bottom:1rem;padding-bottom:.2rem}.admin-dashboard-nav a{white-space:nowrap}.admin-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.admin-dashboard-kpis article{display:flex;align-items:flex-start;gap:.7rem;padding:.9rem}.admin-kpi-icon{display:grid;place-items:center;width:2.45rem;height:2.45rem;flex:0 0 auto;border-radius:.65rem;background:rgba(15,95,149,.1);color:#0f5f95}.admin-dashboard-kpis small,.admin-dashboard-kpis strong,.admin-dashboard-kpis em{display:block}.admin-dashboard-kpis strong{font-size:1.55rem}.admin-dashboard-kpis em{font-size:.65rem;font-style:normal;color:var(--text-muted,#6b7280)}.is-up{color:#15803d!important}.is-down{color:#b91c1c!important}.admin-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(17rem,.7fr);gap:1rem;margin-bottom:1rem;align-items:start}.admin-dashboard-trend,.admin-dashboard-alerts,.admin-dashboard-group,.admin-dashboard-rank-grid>section{overflow:hidden}.trend-legend{display:flex;gap:.7rem;font-size:.68rem}.trend-legend span:before{content:'';display:inline-block;width:.55rem;height:.55rem;margin-right:.25rem;border-radius:50%;background:#4474aa}.trend-legend .post:before{background:#a61932}.trend-legend .course:before{background:#278f97}.trend-chart{display:flex;align-items:end;gap:.35rem;min-height:13rem;padding:1rem;overflow-x:auto}.trend-day{display:grid;grid-template-rows:10rem auto;min-width:2rem;gap:.35rem}.trend-bars{display:flex;align-items:end;gap:2px;height:10rem}.trend-bars i{display:block;width:.42rem;height:max(2px,var(--height));border-radius:.2rem .2rem 0 0;background:#4474aa}.trend-bars i.post{background:#a61932}.trend-bars i.course{background:#278f97}.trend-day small{font-size:.57rem;transform:rotate(-45deg);transform-origin:center;white-space:nowrap}.admin-dashboard-alerts>div{display:grid}.admin-dashboard-alerts a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;padding:.8rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--border-color,#e5e7eb)}.admin-dashboard-alerts a.is-danger strong{color:#b91c1c}.admin-dashboard-alerts a.is-warning strong{color:#b45309}.admin-dashboard-group{margin-bottom:1rem}.admin-dashboard-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;padding:.85rem}.admin-dashboard-metric-grid article{padding:.75rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.6rem}.admin-dashboard-metric-grid small,.admin-dashboard-metric-grid strong,.admin-dashboard-metric-grid span{display:block}.admin-dashboard-metric-grid strong{font-size:1.35rem}.admin-dashboard-metric-grid span{font-size:.67rem}.admin-dashboard-rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.admin-dashboard-ranking{margin:0;padding:.7rem 1rem .9rem 2.2rem}.admin-dashboard-ranking li{padding:.45rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.admin-dashboard-ranking li:not(.is-empty){display:list-item}.admin-dashboard-ranking li span{display:inline-block;width:calc(100% - 3rem)}.admin-dashboard-ranking li strong{float:right}.admin-dashboard-ranking .is-empty{color:var(--text-muted,#6b7280);list-style:none}
@media(max-width:1100px){.admin-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-rank-grid{grid-template-columns:1fr}}
@media(max-width:850px){.admin-dashboard-layout{grid-template-columns:1fr}}
@media(max-width:620px){.admin-dashboard-hero{align-items:stretch;flex-direction:column}.admin-dashboard-filter form,.admin-dashboard-filter .button{width:100%}.admin-dashboard-kpis{grid-template-columns:1fr}.admin-dashboard-presets{width:100%}.admin-dashboard-presets a{flex:1;text-align:center}}

/* Etapa 13 — Perfil do colaborador */
.profile-hero{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;margin-bottom:1.25rem}.profile-heading{flex:1}.profile-heading h1{margin:.15rem 0}.profile-photo,.profile-edit-photo>span{width:6rem;height:6rem;border-radius:1.25rem;display:grid;place-items:center;background:rgba(37,99,235,.12);color:var(--primary,#2563eb);font-size:1.8rem;font-weight:800;overflow:hidden}.profile-photo img,.profile-edit-photo img{width:6rem;height:6rem;object-fit:cover;border-radius:1.25rem}.profile-edit-photo{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.profile-edit-photo .field{flex:1}.profile-bio{white-space:pre-wrap}.privacy-list{padding-left:1.25rem}.privacy-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.8rem;margin-bottom:.75rem}.privacy-option span,.privacy-option strong,.privacy-option small{display:block}.privacy-option small{color:var(--text-muted,#6b7280);margin-top:.2rem}.topbar-profile-link{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit}.avatar-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}@media(max-width:700px){.profile-hero{align-items:flex-start;flex-direction:column}.profile-edit-photo{align-items:flex-start;flex-direction:column}}


/* Etapa 14 — Diretório de colaboradores */
.directory-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}
.directory-hero h1 {
    margin: .15rem 0 .45rem;
}
.directory-hero p {
    margin: 0;
}
.directory-count {
    min-width: 9rem;
    padding: 1rem 1.25rem;
    text-align: center;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 1rem;
    background: var(--surface, #fff);
}
.directory-count strong,
.directory-count span {
    display: block;
}
.directory-count strong {
    font-size: 1.75rem;
}
.directory-count span {
    color: var(--text-muted, #6b7280);
}
.directory-filter-form {
    display: grid;
    grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
    align-items: end;
    gap: .85rem;
}
.directory-filter-actions {
    display: flex;
    gap: .5rem;
}
.input-icon-wrap {
    position: relative;
}
.input-icon-wrap > i {
    position: absolute;
    top: 50%;
    left: .85rem;
    transform: translateY(-50%);
    color: var(--text-muted, #6b7280);
}
.input-icon-wrap input {
    padding-left: 2.5rem;
}
.people-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: 1rem;
}
.person-card {
    padding: 0;
    overflow: hidden;
}
.person-card-main {
    display: flex;
    gap: .9rem;
    padding: 1rem;
    color: inherit;
    text-decoration: none;
}
.person-avatar {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 1rem;
    background: rgba(37, 99, 235, .12);
    color: var(--primary, #2563eb);
    font-weight: 800;
}
.person-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.person-card-copy {
    min-width: 0;
}
.person-card-copy strong,
.person-card-copy small,
.person-card-copy span {
    display: block;
}
.person-card-copy strong {
    margin-bottom: .15rem;
    font-size: 1rem;
}
.person-card-copy small {
    margin-bottom: .55rem;
    color: var(--text-muted, #6b7280);
}
.person-card-copy span {
    margin-top: .25rem;
    font-size: .85rem;
    overflow-wrap: anywhere;
}
.person-card-copy span i {
    margin-right: .35rem;
}
.person-card-footer {
    display: grid;
    gap: .4rem;
    padding: .8rem 1rem;
    border-top: 1px solid var(--border-color, #e5e7eb);
    background: var(--surface-muted, #f8fafc);
}
.person-card-footer a,
.person-card-footer span {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    font-size: .84rem;
    overflow-wrap: anywhere;
}
.directory-empty {
    padding: 2rem;
    text-align: center;
}
.directory-empty > i {
    display: block;
    margin-bottom: .5rem;
    font-size: 2.3rem;
}
.directory-contact-list {
    display: grid;
    gap: .75rem;
}
.directory-contact-list > a,
.directory-contact-list > div {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem;
    color: inherit;
    text-decoration: none;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .8rem;
}
.directory-contact-list > a > i,
.directory-contact-list > div > i {
    font-size: 1.15rem;
    color: var(--primary, #2563eb);
}
.directory-contact-list strong,
.directory-contact-list small {
    display: block;
}
.directory-contact-list small {
    color: var(--text-muted, #6b7280);
    overflow-wrap: anywhere;
}
.directory-profile-photo span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
}

@media (max-width: 1100px) {
    .directory-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .directory-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .directory-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .directory-count {
        width: 100%;
    }
    .directory-filter-form {
        grid-template-columns: 1fr;
    }
    .directory-search {
        grid-column: auto;
    }
    .directory-filter-actions,
    .directory-filter-actions .button {
        width: 100%;
    }
    .people-grid {
        grid-template-columns: 1fr;
    }
}


/* Etapa 15 — Organograma */
.organization-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}
.organization-hero h1 {
    margin: .15rem 0 .45rem;
}
.organization-hero p {
    margin: 0;
}
.organization-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.organization-metrics > div {
    min-width: 7rem;
    padding: .8rem 1rem;
    text-align: center;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .85rem;
    background: var(--surface, #fff);
}
.organization-metrics strong,
.organization-metrics span {
    display: block;
}
.organization-metrics strong {
    font-size: 1.4rem;
}
.organization-metrics span {
    color: var(--text-muted, #6b7280);
    font-size: .84rem;
}
.organization-filter-form {
    display: grid;
    grid-template-columns: minmax(16rem, 2fr) minmax(10rem, 1fr) minmax(10rem, 1fr);
    gap: .85rem;
    align-items: end;
}
.organization-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    grid-column: 1 / -1;
}
.organization-chart {
    overflow: auto;
    padding: .5rem 0 2rem;
}
.organization-root-list,
.organization-children {
    margin: 0;
    padding: 0;
    list-style: none;
}
.organization-root-list {
    display: grid;
    gap: 1rem;
}
.organization-node {
    position: relative;
}
.organization-children {
    display: grid;
    gap: .75rem;
    margin-top: .75rem;
    margin-left: 2rem;
    padding-left: 1.4rem;
    border-left: 2px solid var(--border-color, #e5e7eb);
}
.organization-children > .organization-node::before {
    position: absolute;
    top: 2.25rem;
    left: -1.4rem;
    width: 1.4rem;
    border-top: 2px solid var(--border-color, #e5e7eb);
    content: "";
}
.organization-person-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: .7rem;
    max-width: 34rem;
    padding: .65rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .9rem;
    background: var(--surface, #fff);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}
.organization-person-card.is-match {
    border-color: color-mix(in srgb, var(--primary, #2563eb) 55%, var(--border-color, #e5e7eb));
}
.organization-person-card.is-context {
    opacity: .72;
}
.organization-person-card > a {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    flex: 1;
    color: inherit;
    text-decoration: none;
}
.organization-avatar {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: .8rem;
    background: rgba(37, 99, 235, .12);
    color: var(--primary, #2563eb);
    font-weight: 800;
}
.organization-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.organization-person-copy {
    min-width: 0;
}
.organization-person-copy strong,
.organization-person-copy small,
.organization-person-copy span {
    display: block;
}
.organization-person-copy small,
.organization-person-copy span {
    color: var(--text-muted, #6b7280);
}
.organization-person-copy .organization-unit {
    margin-top: .15rem;
    font-size: .78rem;
}
.organization-inferred {
    padding: .25rem .45rem;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-size: .7rem;
    font-weight: 700;
}
.organization-toggle {
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: .35rem .5rem;
    border: 0;
    border-radius: .6rem;
    background: var(--surface-muted, #f3f4f6);
    color: inherit;
    cursor: pointer;
}
.organization-manager-form {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 24rem;
}
.organization-manager-form select {
    min-width: 18rem;
}
.organization-admin-table small {
    display: block;
    color: var(--text-muted, #6b7280);
}

@media (max-width: 900px) {
    .organization-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .organization-filter-form {
        grid-template-columns: 1fr;
    }
    .organization-filter-actions {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .organization-metrics {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .organization-metrics > div {
        min-width: 0;
        padding: .65rem .4rem;
    }
    .organization-children {
        margin-left: .65rem;
        padding-left: .85rem;
    }
    .organization-children > .organization-node::before {
        left: -.85rem;
        width: .85rem;
    }
    .organization-person-card {
        align-items: flex-start;
    }
    .organization-inferred {
        display: none;
    }
    .organization-filter-actions,
    .organization-filter-actions .button {
        width: 100%;
    }
}


/* =========================================================
   Etapa 16 — Design System institucional
   ========================================================= */
:root {
    --institutional-red: #a61932;
    --institutional-red-dark: #861226;
    --institutional-cream: #f3f5c7;
    --institutional-sidebar: #f4f4f5;
    --institutional-sidebar-hover: #e8e9eb;
    --institutional-canvas: #e7e8ea;
    --institutional-panel: #ffffff;
    --institutional-rightbar-width: 19.5rem;
    --institutional-sidebar-width: 17.5rem;
    --institutional-topbar-height: 4rem;
    --institutional-content-max: 82rem;
}

[data-theme="dark"] {
    --institutional-red: #8d1830;
    --institutional-red-dark: #741126;
    --institutional-cream: #343a2c;
    --institutional-sidebar: #171a20;
    --institutional-sidebar-hover: #252a32;
    --institutional-canvas: #0f1217;
    --institutional-panel: #181c23;
}

body.institutional-layout {
    min-width: 0;
    background: var(--institutional-canvas);
}

.institutional-topbar {
    position: fixed;
    z-index: 1100;
    inset: 0 0 auto 0;
    display: grid;
    grid-template-columns:
        minmax(15rem, var(--institutional-sidebar-width))
        minmax(20rem, 1fr)
        auto;
    align-items: center;
    min-height: var(--institutional-topbar-height);
    padding: 0 1rem;
    color: #fff;
    background: var(--institutional-red);
    border-bottom: 1px solid rgba(0, 0, 0, .12);
    box-shadow: 0 1px 5px rgba(15, 23, 42, .16);
}

.institutional-brand-area {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.institutional-wordmark {
    display: flex;
    flex-direction: column;
    color: #fff;
    text-decoration: none;
    letter-spacing: .22rem;
    line-height: 1.05;
}

.institutional-wordmark span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.02rem;
}

.institutional-wordmark small {
    margin-top: .25rem;
    font-family: system-ui, sans-serif;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12rem;
    opacity: .8;
}

.institutional-search-area {
    display: flex;
    justify-content: center;
    padding: 0 1rem;
}

.institutional-search {
    display: flex;
    align-items: center;
    width: min(100%, 34rem);
    min-height: 2.55rem;
    gap: .7rem;
    padding: 0 .9rem;
    color: #53582c;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: .45rem;
    background: var(--institutional-cream);
    opacity: 1;
}

.institutional-search:disabled {
    cursor: default;
}

.institutional-search span {
    flex: 1;
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.institutional-search kbd {
    padding: .12rem .35rem;
    color: inherit;
    border: 1px solid rgba(83, 88, 44, .25);
    border-radius: .25rem;
    background: rgba(255, 255, 255, .3);
    font-size: .7rem;
}

.institutional-topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
}

.institutional-page-name {
    display: none;
    max-width: 13rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: .8rem;
    font-weight: 700;
    opacity: .9;
}

.institutional-action-button {
    position: relative;
    color: #f4cf4b;
    background: transparent;
}

.institutional-action-button:hover {
    color: #fff;
    background: rgba(255, 255, 255, .12);
}

.institutional-counter {
    position: absolute;
    top: .15rem;
    right: .05rem;
    display: grid;
    place-items: center;
    min-width: 1rem;
    height: 1rem;
    padding: 0 .2rem;
    color: #fff;
    border: 2px solid var(--institutional-red);
    border-radius: 999px;
    background: #ca172f;
    font-size: .58rem;
    font-weight: 800;
}

.institutional-profile {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    padding: .25rem .4rem;
    color: #fff;
    text-decoration: none;
    border-radius: .5rem;
}

.institutional-profile:hover {
    background: rgba(255, 255, 255, .1);
}

.institutional-profile .user-copy strong,
.institutional-profile .user-copy small {
    color: #fff;
}

.institutional-profile .user-copy small {
    opacity: .78;
}

.institutional-logout-form {
    margin: 0;
}

.institutional-logout {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    color: #fff;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    cursor: pointer;
}

.institutional-logout:hover {
    background: rgba(255, 255, 255, .12);
}

.institutional-shell {
    display: grid;
    grid-template-columns:
        var(--institutional-sidebar-width)
        minmax(0, 1fr)
        var(--institutional-rightbar-width);
    min-height: 100vh;
    padding-top: var(--institutional-topbar-height);
}

.institutional-center {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.institutional-center .content-area {
    flex: 1;
    padding: 1rem;
}

.institutional-center .content-container {
    width: min(100%, var(--institutional-content-max));
    margin: 0 auto;
}

.institutional-sidebar {
    position: sticky;
    top: var(--institutional-topbar-height);
    width: auto;
    height: calc(100vh - var(--institutional-topbar-height));
    color: #3d4653;
    border-right: 1px solid #d5d7da;
    background: var(--institutional-sidebar);
    box-shadow: none;
}

[data-theme="dark"] .institutional-sidebar {
    color: #d9dee7;
    border-right-color: #2d333d;
}

.sidebar-mobile-heading {
    display: none;
}

.institutional-nav {
    padding: .65rem .5rem 5rem;
}

.institutional-nav .nav-section-label {
    margin: 1rem .6rem .35rem;
    color: #7c3140;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .04rem;
    text-transform: uppercase;
}

[data-theme="dark"] .institutional-nav .nav-section-label {
    color: #ef91a4;
}

.institutional-nav .nav-item {
    min-height: 2.55rem;
    margin-bottom: .12rem;
    padding: .3rem .5rem;
    color: inherit;
    border-radius: .35rem;
}

.institutional-nav .nav-item:hover {
    background: var(--institutional-sidebar-hover);
}

.institutional-nav .nav-item.active {
    color: var(--institutional-red);
    background: #fff;
    box-shadow: inset 3px 0 0 var(--institutional-red);
}

[data-theme="dark"] .institutional-nav .nav-item.active {
    color: #ff9aaf;
    background: #242933;
}

.institutional-nav .nav-label {
    font-size: .78rem;
}

.institutional-nav .nav-badge {
    margin-left: auto;
    padding: .1rem .32rem;
    font-size: .52rem;
}

.institutional-menu-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    color: #fff;
    border-radius: 50%;
    font-size: .88rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
}

.tone-red { background: #c51f38; }
.tone-blue { background: #4474aa; }
.tone-yellow { background: #f1b517; }
.tone-gray { background: #8c9097; }
.tone-green { background: #2c9d69; }
.tone-purple { background: #8057a6; }
.tone-orange { background: #dd7937; }
.tone-teal { background: #278f97; }

.institutional-sidebar-footer {
    position: sticky;
    bottom: 0;
    padding: .5rem;
    border-top: 1px solid #d5d7da;
    background: var(--institutional-sidebar);
}

.institutional-sidebar-footer .collapse-button {
    color: inherit;
}

.institutional-rightbar {
    position: sticky;
    top: var(--institutional-topbar-height);
    display: flex;
    flex-direction: column;
    width: auto;
    height: calc(100vh - var(--institutional-topbar-height));
    min-width: 0;
    border-left: 1px solid #d6d8dc;
    background: var(--institutional-panel);
    transition: transform .22s ease, width .22s ease, opacity .22s ease;
}

.rightbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.25rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.rightbar-header strong,
.rightbar-header span {
    display: block;
}

.rightbar-kicker {
    margin-bottom: .15rem;
    color: var(--institutional-red);
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rightbar-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.rightbar-tabs button,
.rightbar-footer button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .65rem .3rem;
    color: var(--text-muted, #6b7280);
    border: 0;
    background: transparent;
    font-size: .68rem;
    cursor: pointer;
}

.rightbar-tabs button.active,
.rightbar-footer button.active {
    color: var(--institutional-red);
    box-shadow: inset 0 -2px 0 var(--institutional-red);
}

.rightbar-body {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
}

.rightbar-panel {
    display: none;
    padding: .85rem;
}

.rightbar-panel.active {
    display: block;
}

.rightbar-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .75rem;
}

.rightbar-section-heading strong {
    font-size: .82rem;
}

.rightbar-section-heading a {
    color: var(--institutional-red);
    font-size: .7rem;
    text-decoration: none;
}

.rightbar-list {
    display: grid;
    gap: .35rem;
}

.rightbar-list-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .55rem;
    color: inherit;
    text-decoration: none;
    border-radius: .5rem;
}

.rightbar-list-item:hover {
    background: var(--surface-muted, #f3f4f6);
}

.rightbar-list-item strong,
.rightbar-list-item small {
    display: block;
}

.rightbar-list-item strong {
    font-size: .77rem;
}

.rightbar-list-item small {
    color: var(--text-muted, #6b7280);
    font-size: .67rem;
}

.rightbar-app-icon,
.rightbar-avatar {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 50%;
}

.rightbar-app-icon {
    color: var(--item-color, var(--institutional-red));
    background: color-mix(in srgb, var(--item-color, var(--institutional-red)) 13%, transparent);
}

.rightbar-avatar {
    color: #fff;
    background: #4c9e99;
    font-size: .72rem;
    font-weight: 800;
}

.rightbar-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rightbar-timeline {
    display: grid;
}

.rightbar-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 1rem 1fr;
    gap: .5rem;
    padding: .5rem 0;
}

.rightbar-timeline-item:not(:last-child)::before {
    position: absolute;
    top: 1.15rem;
    bottom: -.35rem;
    left: .29rem;
    border-left: 1px solid #d5d8dd;
    content: "";
}

.timeline-dot {
    position: relative;
    z-index: 1;
    width: .6rem;
    height: .6rem;
    margin-top: .25rem;
    border-radius: 50%;
    background: var(--institutional-red);
}

.rightbar-timeline-item strong,
.rightbar-timeline-item p,
.rightbar-timeline-item small {
    display: block;
    margin: 0;
}

.rightbar-timeline-item strong {
    font-size: .74rem;
}

.rightbar-timeline-item p,
.rightbar-timeline-item small {
    color: var(--text-muted, #6b7280);
    font-size: .66rem;
}

.rightbar-empty {
    padding: 2rem .75rem;
    text-align: center;
    color: var(--text-muted, #6b7280);
}

.rightbar-empty i {
    display: block;
    margin-bottom: .5rem;
    font-size: 1.65rem;
}

.rightbar-empty p {
    margin: 0;
    font-size: .75rem;
}

.rightbar-footer {
    display: none;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.rightbar-close {
    display: none;
}

.rightbar-backdrop {
    display: none;
}

.institutional-panel {
    overflow: hidden;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .55rem;
    background: var(--institutional-panel);
}

.institutional-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .85rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.institutional-panel-header span,
.institutional-panel-header strong {
    display: block;
}

.institutional-panel-header span {
    color: var(--institutional-red);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.institutional-panel-header strong {
    font-size: .88rem;
}

.institutional-panel-header a {
    color: var(--institutional-red);
    font-size: .72rem;
    text-decoration: none;
}

.institutional-panel-body {
    padding: .85rem;
}

/* Compactação visual progressiva */
.institutional-layout .card,
.institutional-layout .section-card {
    border-radius: .55rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}

.institutional-layout .hero,
.institutional-layout .dashboard-hero,
.institutional-layout .profile-hero {
    border-radius: .55rem;
}

.institutional-layout .button {
    border-radius: .4rem;
}

.institutional-layout .data-table th,
.institutional-layout .data-table td {
    padding-top: .65rem;
    padding-bottom: .65rem;
}

.sidebar-is-collapsed .institutional-shell {
    grid-template-columns: 4.6rem minmax(0, 1fr) var(--institutional-rightbar-width);
}

.sidebar-is-collapsed .institutional-sidebar .nav-label,
.sidebar-is-collapsed .institutional-sidebar .nav-section-label,
.sidebar-is-collapsed .institutional-sidebar .nav-badge,
.sidebar-is-collapsed .institutional-sidebar .environment-chip .nav-label {
    display: none;
}

.sidebar-is-collapsed .institutional-sidebar .nav-item {
    justify-content: center;
}

.sidebar-is-collapsed .institutional-sidebar .institutional-menu-icon {
    margin: 0;
}

.rightbar-is-collapsed .institutional-shell {
    grid-template-columns: var(--institutional-sidebar-width) minmax(0, 1fr) 0;
}

.sidebar-is-collapsed.rightbar-is-collapsed .institutional-shell {
    grid-template-columns: 4.6rem minmax(0, 1fr) 0;
}

.rightbar-is-collapsed .institutional-rightbar {
    width: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 1180px) {
    .institutional-shell,
    .rightbar-is-collapsed .institutional-shell {
        grid-template-columns: var(--institutional-sidebar-width) minmax(0, 1fr);
    }

    .sidebar-is-collapsed .institutional-shell,
    .sidebar-is-collapsed.rightbar-is-collapsed .institutional-shell {
        grid-template-columns: 4.6rem minmax(0, 1fr);
    }

    .institutional-rightbar {
        position: fixed;
        z-index: 1250;
        top: var(--institutional-topbar-height);
        right: 0;
        width: min(23rem, 92vw);
        height: calc(100vh - var(--institutional-topbar-height));
        transform: translateX(105%);
        box-shadow: -8px 0 24px rgba(15, 23, 42, .18);
    }

    .rightbar-mobile-open .institutional-rightbar {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

    .rightbar-close {
        display: grid;
    }

    .rightbar-footer {
        display: grid;
    }

    .rightbar-mobile-open .rightbar-backdrop {
        position: fixed;
        z-index: 1200;
        inset: var(--institutional-topbar-height) 0 0 0;
        display: block;
        background: rgba(15, 23, 42, .45);
    }
}

@media (max-width: 980px) {
    .institutional-topbar {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .institutional-search-area {
        padding: 0 .5rem;
    }

    .institutional-search kbd,
    .institutional-page-name,
    .institutional-profile .user-copy,
    .institutional-profile > i {
        display: none;
    }

    .institutional-shell,
    .sidebar-is-collapsed .institutional-shell,
    .rightbar-is-collapsed .institutional-shell,
    .sidebar-is-collapsed.rightbar-is-collapsed .institutional-shell {
        display: block;
    }

    .institutional-sidebar {
        position: fixed;
        z-index: 1250;
        top: var(--institutional-topbar-height);
        left: 0;
        width: min(20rem, 92vw);
        transform: translateX(-105%);
        box-shadow: 8px 0 24px rgba(15, 23, 42, .18);
    }

    .sidebar-mobile-open .institutional-sidebar {
        transform: translateX(0);
    }

    .sidebar-mobile-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: .75rem;
        border-bottom: 1px solid var(--border-color, #e5e7eb);
    }

    .institutional-sidebar .nav-label,
    .institutional-sidebar .nav-section-label,
    .institutional-sidebar .nav-badge,
    .institutional-sidebar .environment-chip .nav-label {
        display: initial !important;
    }

    .institutional-sidebar .nav-item {
        justify-content: flex-start !important;
    }

    .institutional-center .content-area {
        padding: .75rem;
    }
}

@media (max-width: 660px) {
    :root {
        --institutional-topbar-height: 3.65rem;
    }

    .institutional-topbar {
        padding: 0 .45rem;
    }

    .institutional-wordmark span {
        font-size: .82rem;
        letter-spacing: .13rem;
    }

    .institutional-wordmark small {
        display: none;
    }

    .institutional-search-area {
        display: none;
    }

    .institutional-topbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .institutional-brand-area {
        min-width: 0;
    }

    .institutional-profile {
        padding: .15rem;
    }

    .institutional-logout {
        width: 1.9rem;
    }

    .institutional-action-button {
        width: 1.95rem;
        height: 1.95rem;
    }
}


/* =========================================================
   Correção 16.1 — encaixe integral do layout institucional
   ========================================================= */

/* Impede larguras intrínsecas de estourarem o grid. */
.institutional-layout,
.institutional-layout *,
.institutional-layout *::before,
.institutional-layout *::after {
    box-sizing: border-box;
}

html,
body.institutional-layout {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* Neutraliza regras legadas do layout antigo. */
body.institutional-layout .app-topbar.institutional-topbar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: var(--institutional-topbar-height);
    min-height: var(--institutional-topbar-height);
    margin: 0;
    padding: 0 1rem;
    background: var(--institutional-red);
    color: #fff;
}

body.institutional-layout .institutional-shell {
    display: grid;
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    margin: 0;
    padding-top: var(--institutional-topbar-height);
    grid-template-columns:
        minmax(4.6rem, var(--institutional-sidebar-width))
        minmax(0, 1fr)
        minmax(0, var(--institutional-rightbar-width));
    align-items: stretch;
}

body.institutional-layout .institutional-sidebar {
    position: sticky;
    inset: auto;
    top: var(--institutional-topbar-height);
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
}

body.institutional-layout .institutional-center {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

body.institutional-layout .institutional-center .content-area {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body.institutional-layout .institutional-center .content-container {
    width: 100%;
    min-width: 0;
    max-width: var(--institutional-content-max);
    margin-inline: auto;
    overflow-wrap: anywhere;
}

body.institutional-layout .institutional-rightbar {
    position: sticky;
    inset: auto;
    top: var(--institutional-topbar-height);
    width: 100%;
    min-width: 0;
    max-width: var(--institutional-rightbar-width);
    margin: 0;
}

/* Componentes internos nunca podem impor largura maior que a coluna. */
body.institutional-layout main,
body.institutional-layout section,
body.institutional-layout article,
body.institutional-layout form,
body.institutional-layout table,
body.institutional-layout .card,
body.institutional-layout .hero,
body.institutional-layout .dashboard-hero,
body.institutional-layout .directory-hero,
body.institutional-layout .organization-hero,
body.institutional-layout .content-grid,
body.institutional-layout .dashboard-widget-grid,
body.institutional-layout .people-grid,
body.institutional-layout .app-catalog-grid,
body.institutional-layout .apps-grid {
    min-width: 0;
    max-width: 100%;
}

body.institutional-layout input,
body.institutional-layout select,
body.institutional-layout textarea {
    max-width: 100%;
}

/* Tabelas e conteúdos largos rolam dentro do card, não na página. */
body.institutional-layout .table-responsive,
body.institutional-layout .organization-chart {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

/* Estado recolhido: reduz apenas a coluna do menu. */
html.sidebar-is-collapsed body.institutional-layout .institutional-shell {
    grid-template-columns:
        4.6rem
        minmax(0, 1fr)
        minmax(0, var(--institutional-rightbar-width));
}

/* Estado do painel direito fechado. */
html.rightbar-is-collapsed body.institutional-layout .institutional-shell {
    grid-template-columns:
        minmax(4.6rem, var(--institutional-sidebar-width))
        minmax(0, 1fr)
        0;
}

html.sidebar-is-collapsed.rightbar-is-collapsed
body.institutional-layout .institutional-shell {
    grid-template-columns: 4.6rem minmax(0, 1fr) 0;
}

/* Desktop intermediário: painel direito vira gaveta para preservar conteúdo. */
@media (max-width: 1365px) {
    body.institutional-layout .institutional-shell,
    html.rightbar-is-collapsed body.institutional-layout .institutional-shell {
        grid-template-columns:
            minmax(4.6rem, var(--institutional-sidebar-width))
            minmax(0, 1fr);
    }

    html.sidebar-is-collapsed body.institutional-layout .institutional-shell,
    html.sidebar-is-collapsed.rightbar-is-collapsed
    body.institutional-layout .institutional-shell {
        grid-template-columns: 4.6rem minmax(0, 1fr);
    }

    body.institutional-layout .institutional-rightbar {
        position: fixed;
        z-index: 1250;
        top: var(--institutional-topbar-height);
        right: 0;
        width: min(23rem, 92vw);
        max-width: none;
        height: calc(100vh - var(--institutional-topbar-height));
        transform: translateX(105%);
        opacity: 1;
        pointer-events: auto;
    }

    body.rightbar-mobile-open .institutional-rightbar {
        transform: translateX(0);
    }
}

/* Tablet/celular: menu também vira gaveta. */
@media (max-width: 980px) {
    body.institutional-layout .institutional-shell,
    html.sidebar-is-collapsed body.institutional-layout .institutional-shell,
    html.rightbar-is-collapsed body.institutional-layout .institutional-shell,
    html.sidebar-is-collapsed.rightbar-is-collapsed
    body.institutional-layout .institutional-shell {
        display: block;
        width: 100%;
    }

    body.institutional-layout .institutional-sidebar {
        position: fixed;
        top: var(--institutional-topbar-height);
        left: 0;
        width: min(20rem, 92vw);
        height: calc(100vh - var(--institutional-topbar-height));
    }

    body.institutional-layout .institutional-center {
        width: 100%;
    }
}

/* Corrige títulos, cards e formulários vistos comprimidos nas imagens. */
body.institutional-layout .directory-filter-form,
body.institutional-layout .organization-filter-form {
    width: 100%;
}

body.institutional-layout .person-card-main,
body.institutional-layout .app-card,
body.institutional-layout .dashboard-app-item {
    min-width: 0;
}

body.institutional-layout .person-card-copy,
body.institutional-layout .person-card-copy *,
body.institutional-layout .app-card *,
body.institutional-layout .dashboard-app-item * {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* O rodapé pertence somente à coluna central. */
body.institutional-layout .institutional-center .app-footer {
    width: 100%;
    max-width: 100%;
    margin: 0;
}


/* =========================================================
   Etapa 17 — Feed corporativo
   ========================================================= */
.feed-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.feed-page-heading h1 {
    margin: .1rem 0 .35rem;
}

.feed-page-heading p {
    margin: 0;
}

.feed-page-metrics > div {
    min-width: 8rem;
    padding: .75rem 1rem;
    text-align: center;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .55rem;
    background: var(--institutional-panel, #fff);
}

.feed-page-metrics strong,
.feed-page-metrics span {
    display: block;
}

.feed-page-metrics strong {
    font-size: 1.4rem;
}

.feed-page-metrics span {
    color: var(--text-muted, #6b7280);
    font-size: .75rem;
}

.feed-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
    align-items: start;
    gap: 1rem;
}

.feed-main-column,
.feed-support-column {
    min-width: 0;
}

.feed-support-column {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: calc(var(--institutional-topbar-height) + 1rem);
}

.feed-composer {
    margin-bottom: 1rem;
}

.feed-composer-form {
    padding: .85rem;
}

.feed-composer-person {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.feed-composer-trigger {
    min-width: 0;
    flex: 1;
    min-height: 2.75rem;
    padding: .65rem .9rem;
    text-align: left;
    color: var(--text-muted, #6b7280);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 999px;
    background: var(--surface-muted, #f3f4f6);
    cursor: pointer;
}

.feed-composer-trigger:hover {
    border-color: var(--institutional-red);
}

.feed-composer-expanded {
    margin-top: 1rem;
}

.feed-composer-expanded[hidden] {
    display: none;
}

.feed-composer-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
}

.feed-checkbox {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 2.6rem;
    padding-top: 1.15rem;
    font-weight: 700;
}

.feed-profile-options {
    margin: .75rem 0;
    padding: .75rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .55rem;
    background: var(--surface-muted, #f8fafc);
}

.feed-profile-options > span {
    display: block;
    margin-bottom: .55rem;
    font-size: .75rem;
    font-weight: 800;
}

.feed-profile-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.feed-profile-checkboxes label {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .55rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 999px;
    background: var(--institutional-panel, #fff);
    font-size: .75rem;
}

.feed-stream {
    display: grid;
    gap: 1rem;
}

.feed-post {
    scroll-margin-top: calc(var(--institutional-topbar-height) + 1rem);
}

.feed-post.is-pinned {
    border-color: color-mix(
        in srgb,
        var(--institutional-red) 45%,
        var(--border-color, #e5e7eb)
    );
}

.feed-post-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.feed-author {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
}

.feed-author > div {
    min-width: 0;
}

.feed-author a {
    color: inherit;
    text-decoration: none;
}

.feed-author strong,
.feed-author small {
    display: block;
}

.feed-author strong {
    font-size: .86rem;
}

.feed-author small {
    color: var(--text-muted, #6b7280);
    font-size: .68rem;
    overflow-wrap: anywhere;
}

.feed-avatar {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    overflow: hidden;
    color: #fff;
    border-radius: 50%;
    background: #4474aa;
    font-size: .72rem;
    font-weight: 800;
    text-decoration: none;
}

.feed-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feed-avatar-small {
    width: 2rem;
    height: 2rem;
    font-size: .6rem;
}

.feed-post-header-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.feed-pinned-label,
.feed-type-badge {
    padding: .2rem .45rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
}

.feed-pinned-label {
    color: #8a4b00;
    background: #fff3cd;
}

.feed-type-badge {
    color: #35506f;
    background: #e8eef5;
}

.feed-type-badge.type-aviso {
    color: #9b1c31;
    background: #fde8ec;
}

.feed-type-badge.type-noticia {
    color: #166534;
    background: #dcfce7;
}

.feed-icon-action {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: var(--text-muted, #6b7280);
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.feed-icon-action:hover {
    background: var(--surface-muted, #f3f4f6);
}

.feed-post-body {
    padding: .9rem;
}

.feed-post-body h2 {
    margin: 0 0 .55rem;
    font-size: 1.05rem;
}

.feed-post-content {
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.feed-media-grid {
    display: grid;
    gap: .35rem;
    margin-top: .85rem;
    overflow: hidden;
    border-radius: .5rem;
}

.feed-media-grid.media-count-1 {
    grid-template-columns: 1fr;
}

.feed-media-grid.media-count-2 {
    grid-template-columns: repeat(2, 1fr);
}

.feed-media-grid.media-count-3,
.feed-media-grid.media-count-4 {
    grid-template-columns: repeat(2, 1fr);
}

.feed-media-grid a {
    min-width: 0;
    min-height: 10rem;
    overflow: hidden;
    background: #e5e7eb;
}

.feed-media-grid img {
    width: 100%;
    height: 100%;
    max-height: 30rem;
    object-fit: cover;
    transition: transform .18s ease;
}

.feed-media-grid a:hover img {
    transform: scale(1.015);
}

.feed-post-summary {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .9rem;
    color: var(--text-muted, #6b7280);
    border-top: 1px solid var(--border-color, #e5e7eb);
    font-size: .7rem;
}

.feed-post-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--border-color, #e5e7eb);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.feed-post-actions form {
    margin: 0;
}

.feed-post-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.6rem;
    gap: .35rem;
    padding: .45rem;
    color: var(--text-muted, #6b7280);
    border: 0;
    background: transparent;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
}

.feed-post-actions button:hover,
.feed-post-actions button.active {
    color: var(--institutional-red);
    background: color-mix(
        in srgb,
        var(--institutional-red) 7%,
        transparent
    );
}

.feed-post-actions button span {
    padding: .05rem .3rem;
    border-radius: 999px;
    background: var(--surface-muted, #f3f4f6);
    font-size: .6rem;
}

.feed-comments {
    display: grid;
    gap: .55rem;
    padding: .75rem .9rem 0;
}

.feed-comment {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}

.feed-comment-bubble {
    min-width: 0;
    padding: .55rem .7rem;
    border-radius: .75rem;
    background: var(--surface-muted, #f3f4f6);
}

.feed-comment-bubble strong,
.feed-comment-bubble p,
.feed-comment-bubble small {
    display: block;
    margin: 0;
}

.feed-comment-bubble strong {
    font-size: .72rem;
}

.feed-comment-bubble p {
    margin: .15rem 0;
    font-size: .76rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.feed-comment-bubble small {
    color: var(--text-muted, #6b7280);
    font-size: .6rem;
}

.feed-comment-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .5rem;
    padding: .75rem .9rem;
}

.feed-comment-form input {
    min-width: 0;
    width: 100%;
    min-height: 2.25rem;
    padding: .5rem .7rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 999px;
    background: var(--surface-muted, #f8fafc);
}

.feed-comment-form button {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: var(--institutional-red);
    cursor: pointer;
}

.feed-moderation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .45rem .9rem;
    color: var(--text-muted, #6b7280);
    border-top: 1px dashed var(--border-color, #e5e7eb);
    background: color-mix(in srgb, var(--institutional-red) 3%, transparent);
    font-size: .65rem;
}

.feed-moderation > span {
    margin-right: auto;
    font-weight: 800;
}

.feed-moderation form {
    margin: 0;
}

.feed-moderation button {
    padding: .25rem .4rem;
    color: inherit;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .3rem;
    background: var(--institutional-panel, #fff);
    font-size: .62rem;
    cursor: pointer;
}

.feed-guidelines {
    margin: 0;
    padding-left: 1rem;
    color: var(--text-muted, #6b7280);
    font-size: .75rem;
    line-height: 1.55;
}

.feed-empty {
    padding: 2rem;
    text-align: center;
}

.feed-empty > i {
    display: block;
    margin-bottom: .5rem;
    color: var(--institutional-red);
    font-size: 2rem;
}

@media (max-width: 1080px) {
    .feed-layout-grid {
        grid-template-columns: 1fr;
    }

    .feed-support-column {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .feed-page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .feed-page-metrics > div {
        width: 100%;
    }

    .feed-support-column {
        grid-template-columns: 1fr;
    }

    .feed-post-header {
        align-items: flex-start;
    }

    .feed-pinned-label {
        display: none;
    }

    .feed-post-actions {
        grid-template-columns: repeat(2, 1fr);
    }

    .feed-media-grid.media-count-2,
    .feed-media-grid.media-count-3,
    .feed-media-grid.media-count-4 {
        grid-template-columns: 1fr;
    }

    .feed-composer-actions,
    .feed-composer-actions .button {
        width: 100%;
    }
}


/* Revisão 17.1 — avisos vigentes e notícias em carrossel */
.feed-notices-panel,
.feed-news-carousel {
    margin-bottom: 1rem;
}

.feed-notice-list {
    display: grid;
}

.feed-notice-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    padding: .85rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.feed-notice-item:last-child {
    border-bottom: 0;
}

.feed-notice-icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    color: #fff;
    border-radius: 50%;
    background: var(--institutional-red);
}

.feed-notice-item strong,
.feed-notice-item p,
.feed-notice-item small {
    display: block;
    margin: 0;
}

.feed-notice-item p {
    margin: .2rem 0 .35rem;
    line-height: 1.45;
}

.feed-notice-item small {
    color: var(--text-muted, #6b7280);
    font-size: .67rem;
}

.feed-carousel-controls {
    display: flex;
    gap: .3rem;
}

.feed-carousel-controls button {
    display: grid;
    place-items: center;
    width: 1.9rem;
    height: 1.9rem;
    color: inherit;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.feed-carousel-track {
    position: relative;
    min-height: 19rem;
    overflow: hidden;
    background: #172033;
}

.feed-news-slide {
    position: absolute;
    inset: 0;
    display: grid;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
}

.feed-news-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.feed-news-slide > img {
    width: 100%;
    height: 100%;
    min-height: 19rem;
    object-fit: cover;
}

.feed-news-slide::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(15, 23, 42, .9) 0%,
        rgba(15, 23, 42, .66) 50%,
        rgba(15, 23, 42, .18) 100%
    );
}

.feed-news-overlay {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: min(70%, 42rem);
    padding: 1.25rem;
    color: #fff;
}

.feed-news-overlay > span {
    display: inline-block;
    margin-bottom: .35rem;
    padding: .2rem .45rem;
    border-radius: .25rem;
    background: var(--institutional-red);
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.feed-news-overlay h2 {
    margin: 0 0 .45rem;
    font-size: clamp(1.25rem, 2.3vw, 2rem);
}

.feed-news-overlay p {
    margin: 0 0 .5rem;
    line-height: 1.45;
}

.feed-news-overlay small {
    opacity: .82;
}

.feed-carousel-dots {
    display: flex;
    justify-content: center;
    gap: .4rem;
    padding: .55rem;
}

.feed-carousel-dots button {
    width: .55rem;
    height: .55rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b9bdc5;
    cursor: pointer;
}

.feed-carousel-dots button.active {
    background: var(--institutional-red);
}

.feed-schedule-fields {
    margin-top: .75rem;
}

@media (max-width: 700px) {
    .feed-carousel-track,
    .feed-news-slide > img {
        min-height: 23rem;
    }

    .feed-news-overlay {
        width: 100%;
        padding: 1rem;
    }

    .feed-news-slide::after {
        background: linear-gradient(
            0deg,
            rgba(15, 23, 42, .94) 0%,
            rgba(15, 23, 42, .45) 75%,
            rgba(15, 23, 42, .15) 100%
        );
    }
}

/* Etapa 18 — Aniversariantes */
.birthday-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.25rem;background:linear-gradient(135deg,#fff1f3,#fff9df)}[data-theme="dark"] .birthday-hero{background:linear-gradient(135deg,#321a23,#332d1b)}.birthday-today-count{min-width:9rem;padding:.8rem;text-align:center;border:1px solid rgba(166,25,50,.2);border-radius:.6rem;background:rgba(255,255,255,.7)}.birthday-today-count strong,.birthday-today-count span{display:block}.birthday-today-count strong{color:var(--institutional-red);font-size:1.7rem}.birthday-today-panel,.birthday-none-today{margin-bottom:1rem}.birthday-today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;padding:.85rem}.birthday-today-card{display:flex;align-items:center;gap:.7rem;padding:.75rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-radius:.6rem;text-decoration:none}.birthday-today-card strong,.birthday-today-card span,.birthday-today-card small{display:block}.birthday-today-card small,.birthday-today-card>div>span{color:var(--text-muted,#6b7280);font-size:.7rem}.birthday-cake{margin-left:auto;font-size:1.4rem}.birthday-avatar{display:grid;place-items:center;width:2.7rem;height:2.7rem;flex:0 0 auto;overflow:hidden;color:#fff;border-radius:50%;background:#c9697b;font-size:.7rem;font-weight:800}.birthday-avatar-large{width:4rem;height:4rem}.birthday-avatar img{width:100%;height:100%;object-fit:cover}.birthday-none-today{display:flex;align-items:center;gap:.7rem;padding:1rem}.birthday-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,21rem);gap:1rem}.birthday-month-list>a{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .85rem;color:inherit;border-bottom:1px solid var(--border-color,#e5e7eb);text-decoration:none}.birthday-date-badge{display:grid;place-items:center;min-width:3rem;padding:.35rem;color:#fff;border-radius:.45rem;background:var(--institutional-red)}.birthday-date-badge strong,.birthday-date-badge small,.birthday-person-copy strong,.birthday-person-copy small{display:block}.birthday-date-badge small,.birthday-person-copy small{font-size:.65rem}.birthday-upcoming-list>a{display:flex;align-items:center;gap:.65rem;padding:.65rem .8rem;color:inherit;border-bottom:1px solid var(--border-color,#e5e7eb);text-decoration:none}.birthday-upcoming-list strong,.birthday-upcoming-list small{display:block}.birthday-upcoming-list small{color:var(--text-muted,#6b7280);font-size:.68rem}.birthday-empty{padding:2rem;text-align:center}.birthday-admin-search,.birthday-admin-form{display:flex;align-items:center;gap:.5rem}.birthday-admin-form{min-width:24rem}.birthday-admin-table small{display:block;color:var(--text-muted,#6b7280)}.dashboard-birthday-list{display:grid;gap:.5rem}.dashboard-birthday-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.6rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem;text-decoration:none}.dashboard-birthday-list strong,.dashboard-birthday-list small{display:block}.dashboard-birthday-list small{color:var(--text-muted,#6b7280)}.dashboard-widget-more{display:inline-block;margin-top:.7rem;color:var(--institutional-red);font-size:.72rem;text-decoration:none}@media(max-width:900px){.birthday-layout-grid{grid-template-columns:1fr}}@media(max-width:650px){.birthday-hero{align-items:stretch;flex-direction:column}.birthday-today-count{width:100%}.birthday-today-grid{grid-template-columns:1fr}.birthday-admin-search{width:100%}}


/* =========================================================
   Etapa 19 — Eventos corporativos
   ========================================================= */
.event-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.2rem;
    background:
        linear-gradient(135deg, rgba(166,25,50,.08), rgba(221,121,55,.09)),
        var(--institutional-panel, #fff);
}

.event-hero h1,
.event-hero p {
    margin-top: .1rem;
    margin-bottom: .35rem;
}

.event-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
    align-items: start;
    gap: 1rem;
}

.event-calendar-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    text-align: center;
}

.event-month-navigation {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: inherit;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 50%;
    text-decoration: none;
}

.event-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.event-calendar-weekday {
    padding: .5rem;
    text-align: center;
    color: var(--text-muted, #6b7280);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    background: var(--surface-muted, #f8fafc);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.event-calendar-day {
    min-width: 0;
    min-height: 8rem;
    padding: .45rem;
    border-right: 1px solid var(--border-color, #e5e7eb);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.event-calendar-day:nth-child(7n) {
    border-right: 0;
}

.event-calendar-day.is-empty {
    background: color-mix(in srgb, var(--surface-muted, #f8fafc) 70%, transparent);
}

.event-calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--institutional-red);
}

.event-day-number {
    display: grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    margin-bottom: .35rem;
    border-radius: 50%;
    font-size: .7rem;
    font-weight: 800;
}

.event-calendar-day.is-today .event-day-number {
    color: #fff;
    background: var(--institutional-red);
}

.event-day-items {
    display: grid;
    gap: .25rem;
}

.event-day-items a {
    display: block;
    min-width: 0;
    padding: .25rem .35rem;
    color: #35506f;
    border-left: 3px solid #4474aa;
    border-radius: .25rem;
    background: #edf4fb;
    font-size: .62rem;
    text-decoration: none;
}

.event-day-items a.is-featured {
    color: #8a2438;
    border-left-color: var(--institutional-red);
    background: #fdecef;
}

.event-day-items time,
.event-day-items span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.event-day-items time {
    font-size: .55rem;
    font-weight: 800;
}

.event-day-items small {
    color: var(--text-muted, #6b7280);
    font-size: .57rem;
}

.event-upcoming-list {
    display: grid;
}

.event-upcoming-list > a,
.feed-event-list > a,
.dashboard-event-list > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    padding: .7rem .8rem;
    color: inherit;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    text-decoration: none;
}

.event-upcoming-list > a:last-child,
.feed-event-list > a:last-child {
    border-bottom: 0;
}

.event-upcoming-list > a:hover,
.feed-event-list > a:hover,
.dashboard-event-list > a:hover {
    background: var(--surface-muted, #f3f4f6);
}

.event-date-badge,
.feed-event-date,
.dashboard-event-date {
    display: grid;
    place-items: center;
    min-width: 2.8rem;
    padding: .35rem;
    color: #fff;
    border-radius: .45rem;
    background: var(--institutional-red);
}

.event-date-badge strong,
.event-date-badge small,
.feed-event-date strong,
.feed-event-date small,
.dashboard-event-date strong,
.dashboard-event-date small {
    display: block;
}

.event-date-badge small,
.feed-event-date small,
.dashboard-event-date small {
    font-size: .55rem;
}

.event-upcoming-copy strong,
.event-upcoming-copy small,
.event-upcoming-copy span,
.feed-event-list strong,
.feed-event-list small,
.dashboard-event-list strong,
.dashboard-event-list small {
    display: block;
}

.event-upcoming-copy small,
.event-upcoming-copy span,
.feed-event-list small,
.dashboard-event-list small {
    color: var(--text-muted, #6b7280);
    font-size: .66rem;
}

.event-empty {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-muted, #6b7280);
}

.event-empty i {
    display: block;
    margin-bottom: .5rem;
    font-size: 1.8rem;
}

.event-detail-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.15rem;
}

.event-detail-date {
    display: grid;
    place-items: center;
    min-width: 5rem;
    padding: .65rem;
    color: #fff;
    border-radius: .65rem;
    background: var(--institutional-red);
}

.event-detail-date strong,
.event-detail-date span,
.event-detail-date small {
    display: block;
}

.event-detail-date strong {
    font-size: 1.7rem;
}

.event-detail-heading h1 {
    margin: .25rem 0;
}

.event-detail-heading p {
    margin: 0;
    color: var(--text-muted, #6b7280);
}

.event-detail-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.event-detail-badges span {
    padding: .2rem .45rem;
    border-radius: 999px;
    background: var(--surface-muted, #f3f4f6);
    font-size: .62rem;
    font-weight: 800;
}

.event-detail-badges .event-featured-badge {
    color: #fff;
    background: var(--institutional-red);
}

.event-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
    align-items: start;
    gap: 1rem;
}

.event-description {
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.event-registration-card {
    position: sticky;
    top: calc(var(--institutional-topbar-height) + 1rem);
}

.event-information-list {
    display: grid;
    gap: .65rem;
    margin: 0 0 1rem;
}

.event-information-list div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: .5rem;
}

.event-information-list dt {
    color: var(--text-muted, #6b7280);
    font-size: .7rem;
}

.event-information-list dd {
    margin: 0;
    font-weight: 700;
}

.event-registration-status {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .75rem;
    padding: .7rem;
    border-radius: .5rem;
    background: var(--surface-muted, #f3f4f6);
    font-size: .75rem;
}

.event-registration-status.is-confirmed {
    color: #166534;
    background: #dcfce7;
}

.event-full-button {
    width: 100%;
}

.event-attendees-panel {
    margin-top: 1rem;
}

.event-attendee-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: .55rem;
    padding: .8rem;
}

.event-attendee-grid > a {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem;
    color: inherit;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .5rem;
    text-decoration: none;
}

.event-attendee-avatar {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 auto;
    overflow: hidden;
    color: #fff;
    border-radius: 50%;
    background: #dd7937;
    font-size: .65rem;
    font-weight: 800;
}

.event-attendee-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-attendee-grid strong,
.event-attendee-grid small {
    display: block;
}

.event-attendee-grid small {
    color: var(--text-muted, #6b7280);
    font-size: .65rem;
}

.event-form {
    padding: 1rem;
}

.event-form-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0 .7rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, #e5e7eb);
}

.event-form-section h2 {
    margin: .1rem 0;
    font-size: 1rem;
}

.event-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-weight: 700;
}

.event-feature-check {
    align-self: end;
    min-height: 2.6rem;
}

[data-event-registration-fields].is-disabled {
    opacity: .5;
}

.event-profile-selection {
    margin-top: .85rem;
    padding: .8rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .55rem;
    background: var(--surface-muted, #f8fafc);
}

.event-profile-selection > strong {
    display: block;
    margin-bottom: .5rem;
}

.event-profile-selection > div {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.event-profile-selection label {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .5rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 999px;
    background: var(--institutional-panel, #fff);
    font-size: .72rem;
}

.event-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    margin-top: 1rem;
}

.event-admin-heading {
    flex-wrap: wrap;
}

.event-admin-filter {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.event-admin-filter input {
    min-width: 14rem;
}

.event-admin-table small {
    display: block;
    color: var(--text-muted, #6b7280);
}

.event-status {
    display: inline-block;
    padding: .2rem .45rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
}

.event-status.status-publicado {
    color: #166534;
    background: #dcfce7;
}

.event-status.status-rascunho {
    color: #854d0e;
    background: #fef9c3;
}

.event-status.status-cancelado {
    color: #991b1b;
    background: #fee2e2;
}

.dashboard-event-list,
.feed-event-list {
    display: grid;
}

.feed-events-panel {
    margin-bottom: 1rem;
}

@media (max-width: 1050px) {
    .event-layout-grid,
    .event-detail-grid {
        grid-template-columns: 1fr;
    }

    .event-registration-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .event-calendar {
        display: block;
    }

    .event-calendar-weekday,
    .event-calendar-day.is-empty {
        display: none;
    }

    .event-calendar-day {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        min-height: 0;
        border-right: 0;
    }

    .event-day-number {
        margin: 0;
    }

    .event-detail-hero {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .event-detail-hero > .button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .event-admin-filter {
        width: 100%;
        flex-wrap: wrap;
    }

    .event-admin-filter input,
    .event-admin-filter select {
        min-width: 0;
        flex: 1;
    }
}

@media (max-width: 620px) {
    .event-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .event-hero .button,
    .event-form-actions,
    .event-form-actions .button {
        width: 100%;
    }

    .event-form-section {
        align-items: flex-start;
        flex-direction: column;
    }

    .event-detail-date {
        min-width: 4rem;
    }
}


/* =========================================================
   Etapa 19.1 — Reserva de salas e recursos
   ========================================================= */
.resource-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.2rem;
    background:
        linear-gradient(135deg, rgba(39,143,151,.1), rgba(68,116,170,.08)),
        var(--institutional-panel, #fff);
}

.resource-hero h1,
.resource-hero p {
    margin-top: .1rem;
    margin-bottom: .35rem;
}

.resource-filter-panel {
    margin-bottom: 1rem;
    padding: .85rem;
}

.resource-filter-form {
    display: grid;
    grid-template-columns: minmax(10rem, .7fr) minmax(16rem, 1.5fr) auto;
    align-items: end;
    gap: .7rem;
}

.resource-reservation-form {
    margin-bottom: 1rem;
}

.resource-reservation-form > form,
.resource-admin-form {
    padding: 1rem;
}

.resource-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    margin-top: 1rem;
}

.meeting-invite-box{margin-top:1rem;padding:1rem;border:1px solid var(--border-color,#dbe3ea);border-radius:14px;background:#f8fafc}.meeting-invite-box .event-check span{display:flex;flex-direction:column;gap:.2rem}.meeting-invite-box small{color:var(--muted,#64748b)}.meeting-targets{margin-top:1rem}.meeting-targets select{min-height:9rem}.meeting-response-actions,.attendance-actions,.attendance-form-actions,.meeting-manager-card{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.meeting-manager-card{justify-content:space-between;margin-top:1rem;padding:1.25rem}.attendance-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;padding:1rem}.attendance-summary div{display:flex;flex-direction:column;text-align:center}.attendance-summary strong{font-size:1.7rem;color:#0f5f95}.attendance-table{width:100%;border-collapse:collapse}.attendance-table th,.attendance-table td{padding:.75rem;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.attendance-table td small{display:block;color:#64748b}.attendance-table select,.attendance-table input{min-width:150px}.signature-cell{min-width:170px}.meeting-status{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#e2e8f0;font-size:.8rem}.status-confirmado{background:#dcfce7;color:#166534}.status-recusado{background:#fee2e2;color:#991b1b}

@media(max-width:800px){.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-manager-card{align-items:flex-start}.meeting-manager-card .button{width:100%;justify-content:center}}
@media print{.no-print,.app-sidebar,.topbar,.right-rail,.app-footer{display:none!important}.app-main,.app-content{margin:0!important;padding:0!important}.attendance-table input,.attendance-table select{border:0;appearance:none}.signature-cell{height:42px;border-bottom:1px solid #334155!important}}

/* Etapa 47.7 — participantes de eventos e convidados externos */
.participant-section-heading{margin-top:1.5rem}.invitation-send-check{margin:1rem 0}.external-guests-editor{margin:1.25rem 0;padding:1rem;border:1px solid var(--border-color,#dbe3ea);border-radius:14px;background:#f8fafc}.external-guests-editor>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.external-guest-row{display:grid;grid-template-columns:130px repeat(3,minmax(140px,1fr)) repeat(3,minmax(120px,.8fr)) auto;gap:.65rem;align-items:end;padding:.8rem 0;border-top:1px solid #e2e8f0}.external-quick-add{padding:1rem;margin-bottom:1rem}.external-quick-add summary{cursor:pointer}.external-quick-add form{margin-top:1rem}.status-sem_confirmacao{background:#e0f2fe;color:#075985}
@media(max-width:1200px){.external-guest-row{grid-template-columns:repeat(3,minmax(0,1fr))}.external-guest-row .feed-icon-action{align-self:end}}
@media(max-width:700px){.external-guests-editor>header{align-items:flex-start;flex-direction:column}.external-guest-row{grid-template-columns:1fr}.external-guests-editor>header .button{width:100%;justify-content:center}}

/* Etapa 48 — configurações gerais */
.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.settings-scope{max-width:27rem;padding:.65rem .8rem;border-radius:.7rem;background:var(--primary-soft);color:var(--primary);font-size:.78rem}.general-settings-form{display:grid;gap:1rem}.settings-tabs{display:flex;gap:.45rem;overflow:auto;position:sticky;top:var(--institutional-topbar-height);z-index:8;padding:.55rem;border:1px solid var(--border);border-radius:.8rem;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px)}.settings-tabs a{padding:.55rem .75rem;border-radius:.55rem;text-decoration:none;white-space:nowrap;font-size:.82rem;font-weight:750}.settings-tabs a:hover{background:var(--primary-soft);color:var(--primary)}.settings-section{padding:1.2rem;scroll-margin-top:8rem}.settings-section>header{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.1rem}.settings-section>header>span{display:grid;place-items:center;width:2.3rem;height:2.3rem;flex:0 0 auto;border-radius:.65rem;background:var(--primary-soft);color:var(--primary);font-weight:850}.settings-section h2,.settings-section p{margin:.05rem 0 .25rem}.settings-section header p{color:var(--muted);font-size:.84rem}.settings-media-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;margin-bottom:1rem}.settings-media-grid>div{padding:1rem;border:1px dashed var(--border);border-radius:.8rem}.settings-logo-preview{display:block;max-width:280px;max-height:90px;object-fit:contain;margin:.8rem 0}.settings-favicon-preview{display:block;width:48px;height:48px;object-fit:contain;margin:.8rem 0}.settings-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.settings-module{cursor:pointer}.settings-module>input{position:absolute;opacity:0;pointer-events:none}.settings-module>span{display:flex;align-items:center;gap:.7rem;min-height:72px;padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-soft)}.settings-module input:checked+span{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.settings-module span>i{color:var(--settings-accent,#E67E22);font-size:1.2rem}.settings-module strong,.settings-module small{display:block}.settings-module small{color:var(--muted);font-weight:400}.settings-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.settings-integration-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.9rem;border:1px solid var(--border);border-radius:.75rem;text-decoration:none}.settings-integration-grid small{display:block;color:var(--muted)}.integration-state{width:.7rem;height:.7rem;border-radius:50%;background:var(--danger)}.integration-state.is-on{background:var(--success)}.settings-save-bar{position:sticky;bottom:.75rem;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.settings-save-bar span{font-size:.78rem;color:var(--muted)}.institutional-brand-logo{display:block;max-width:145px;max-height:28px;object-fit:contain;object-position:left center}.auth-brand-logo{width:64px;height:48px;object-fit:contain;flex:0 0 auto}
@media(max-width:1050px){.settings-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.settings-hero{align-items:flex-start;flex-direction:column}.settings-media-grid,.settings-integration-grid{grid-template-columns:1fr}.settings-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .button{width:100%}}
@media(max-width:480px){.settings-module-grid{grid-template-columns:1fr}}

.resource-board {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
    align-items: start;
    gap: 1rem;
}

.resource-card {
    min-width: 0;
}

.resource-card-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding: .8rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.resource-card-header strong,
.resource-card-header small {
    display: block;
}

.resource-card-header small {
    color: var(--text-muted, #6b7280);
    font-size: .68rem;
}

.resource-type-icon {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    color: #fff;
    border-radius: 50%;
    background: #278f97;
}

.resource-type-icon.type-equipamento {
    background: #8057a6;
}

.resource-type-icon.type-veiculo {
    background: #dd7937;
}

.resource-type-icon.type-outro {
    background: #8c9097;
}

.resource-current-status {
    padding: .25rem .5rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    white-space: nowrap;
}

.resource-current-status.is-free,
.dashboard-resource-state.is-free {
    color: #166534;
    background: #dcfce7;
}

.resource-current-status.is-busy,
.dashboard-resource-state.is-busy {
    color: #9a3412;
    background: #ffedd5;
}

.resource-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    padding: .65rem .8rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.resource-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .25rem .45rem;
    border-radius: .35rem;
    background: var(--surface-muted, #f3f4f6);
    font-size: .67rem;
}

.resource-reservation-list {
    display: grid;
}

.resource-reservation-list > div {
    display: grid;
    grid-template-columns: 5.4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .7rem .8rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.resource-reservation-list > div:last-child {
    border-bottom: 0;
}

.resource-reservation-list time {
    color: var(--institutional-red);
    font-size: .68rem;
    font-weight: 800;
}

.resource-reservation-list strong,
.resource-reservation-list small {
    display: block;
}

.resource-reservation-list small {
    color: var(--text-muted, #6b7280);
    font-size: .64rem;
}

.resource-reservation-list a {
    color: var(--institutional-red);
    font-size: .65rem;
    text-decoration: none;
}

.resource-empty-schedule {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem;
    color: #166534;
    font-size: .75rem;
}

.resource-empty-board {
    grid-column: 1 / -1;
    padding: 2rem;
    text-align: center;
}

.resource-empty-board i {
    display: block;
    margin-bottom: .5rem;
    font-size: 2rem;
}

.resource-admin-heading {
    flex-wrap: wrap;
}

.resource-admin-filter {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.resource-admin-filter input {
    min-width: 14rem;
}

.resource-admin-table small {
    display: block;
    color: var(--text-muted, #6b7280);
}

.resource-status {
    display: inline-block;
    padding: .2rem .45rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
}

.resource-status.status-disponivel {
    color: #166534;
    background: #dcfce7;
}

.resource-status.status-manutencao {
    color: #854d0e;
    background: #fef9c3;
}

.resource-status.status-indisponivel {
    color: #991b1b;
    background: #fee2e2;
}

.resource-active-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.6rem;
    align-self: end;
    font-weight: 700;
}

.event-resource-selection {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: .55rem;
}

.event-resource-selection > label {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    padding: .7rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .55rem;
    cursor: pointer;
}

.event-resource-selection > label:has(input:checked) {
    border-color: #278f97;
    background: color-mix(in srgb, #278f97 8%, transparent);
}

.event-resource-icon {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    color: #fff;
    border-radius: 50%;
    background: #278f97;
}

.event-resource-selection strong,
.event-resource-selection small {
    display: block;
}

.event-resource-selection small {
    color: var(--text-muted, #6b7280);
    font-size: .65rem;
}

.event-resource-help {
    margin: .55rem 0 0;
    color: var(--text-muted, #6b7280);
    font-size: .7rem;
}

.dashboard-resource-list {
    display: grid;
    gap: .45rem;
}

.dashboard-resource-list > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .55rem;
    color: inherit;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: .5rem;
    text-decoration: none;
}

.dashboard-resource-icon {
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    color: #fff;
    border-radius: 50%;
    background: #278f97;
}

.dashboard-resource-list strong,
.dashboard-resource-list small {
    display: block;
}

.dashboard-resource-list small {
    color: var(--text-muted, #6b7280);
    font-size: .65rem;
}

.dashboard-resource-state {
    padding: .2rem .4rem;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 800;
}

@media (max-width: 850px) {
    .resource-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .resource-filter-form .button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .resource-admin-filter {
        width: 100%;
        flex-wrap: wrap;
    }

    .resource-admin-filter input,
    .resource-admin-filter select {
        min-width: 0;
        flex: 1;
    }
}

@media (max-width: 620px) {
    .resource-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .resource-hero .button,
    .resource-filter-form,
    .resource-form-actions,
    .resource-form-actions .button {
        width: 100%;
    }

    .resource-filter-form {
        display: grid;
        grid-template-columns: 1fr;
    }

    .resource-filter-form .button {
        grid-column: auto;
    }

    .resource-board {
        grid-template-columns: 1fr;
    }

    .resource-card-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .resource-current-status {
        grid-column: 1 / -1;
    }

    .resource-reservation-list > div {
        grid-template-columns: 4.8rem minmax(0, 1fr);
    }

    .resource-reservation-list > div > a {
        grid-column: 2;
    }
}
\n/* Etapa 20 — Documentos */
.document-hero,.document-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(128,87,166,.1),rgba(68,116,170,.08)),var(--institutional-panel,#fff)}.document-alert{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #f59e0b;border-radius:.6rem;background:#fffbeb;color:#92400e}.document-alert div{flex:1}.document-alert strong,.document-alert span{display:block}.document-filter{padding:.8rem;margin-bottom:1rem}.document-filter form{display:grid;grid-template-columns:1.5fr 1fr auto auto auto;align-items:end;gap:.6rem}.document-check{display:flex;align-items:center;gap:.4rem;min-height:2.5rem;font-weight:700}.document-categories{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1rem}.document-categories a{display:flex;align-items:center;gap:.35rem;min-width:max-content;padding:.5rem .7rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;background:var(--institutional-panel,#fff);text-decoration:none}.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}.document-card{display:flex;flex-direction:column}.document-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.document-card h2{margin:.1rem 0;font-size:1rem}.document-card>p{flex:1;padding:.75rem;margin:0}.document-icon,.document-big-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;color:#fff;border-radius:.5rem;background:#8057a6}.document-big-icon{width:4rem;height:4rem;font-size:1.4rem}.document-star{color:#f59e0b}.document-tags{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 .75rem .75rem}.document-tags span{padding:.2rem .4rem;border-radius:999px;background:var(--surface-muted,#f3f4f6);font-size:.62rem}.document-tags .pending{color:#991b1b;background:#fee2e2}.document-tags .ok{color:#166534;background:#dcfce7}.document-card footer{display:flex;justify-content:space-between;padding:.65rem .75rem;border-top:1px solid var(--border-color,#e5e7eb)}.document-card footer a{color:var(--institutional-red);font-weight:800;text-decoration:none}.document-empty{grid-column:1/-1;padding:2rem;text-align:center}.document-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.document-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);gap:1rem;align-items:start}.document-meta{display:grid;gap:.5rem;margin:1rem 0}.document-meta div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.5rem}.document-meta dt{color:var(--text-muted,#6b7280);font-size:.7rem}.document-meta dd{margin:0;font-weight:700}.document-hash{overflow-wrap:anywhere;font-family:monospace;font-size:.65rem}.document-science{margin-bottom:1rem}.science-done{color:#166534}.full{width:100%}.version-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;padding:.6rem .7rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.version-list b{padding:.25rem .4rem;border-radius:.35rem;background:#8057a6;color:#fff}.version-list strong,.version-list small{display:block}.version-list small{color:var(--text-muted,#6b7280);font-size:.62rem}.document-admin-head{flex-wrap:wrap}.document-admin-filter{display:flex;gap:.4rem;flex-wrap:wrap}.document-admin-filter input{min-width:14rem}.data-table small{display:block;color:var(--text-muted,#6b7280)}.document-status{padding:.2rem .4rem;border-radius:999px;font-size:.6rem;font-weight:800}.status-publicado{color:#166534;background:#dcfce7}.status-rascunho{color:#854d0e;background:#fef9c3}.status-em_aprovacao{color:#1e40af;background:#dbeafe}.status-aprovado{color:#065f46;background:#d1fae5}.status-arquivado{color:#374151;background:#e5e7eb}.document-actions{display:flex;gap:.35rem;flex-wrap:wrap}.document-actions form{display:inline}.document-actions button{border:0;background:none;color:var(--institutional-red);cursor:pointer}.document-form,.category-form{padding:1rem}.profile-select{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem}.profile-select label{display:flex;gap:.3rem;padding:.3rem .45rem;border:1px solid var(--border-color,#e5e7eb);border-radius:999px}.document-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.version-admin{margin-top:1rem}.category-admin-grid{display:grid;grid-template-columns:.8fr 1.5fr;gap:1rem}.category-list{display:grid;gap:.7rem;padding:.8rem}.category-list form{padding:.7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem}.dashboard-doc-list{display:grid;gap:.4rem}.dashboard-doc-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.5rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;text-decoration:none}.dashboard-doc-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;color:#fff;border-radius:.45rem;background:#8057a6}.dashboard-doc-list strong,.dashboard-doc-list small{display:block}.dashboard-doc-list small{color:var(--text-muted,#6b7280);font-size:.62rem}.dashboard-doc-list b{padding:.2rem .35rem;border-radius:999px;color:#991b1b;background:#fee2e2;font-size:.55rem}@media(max-width:1050px){.document-filter form{grid-template-columns:1fr 1fr}.document-detail-grid,.category-admin-grid{grid-template-columns:1fr}}@media(max-width:680px){.document-hero{align-items:stretch;flex-direction:column}.document-detail-hero{grid-template-columns:auto 1fr}.document-detail-hero form{grid-column:1/-1}.document-filter form,.document-grid{grid-template-columns:1fr}.document-meta div{grid-template-columns:1fr}.document-form-actions,.document-form-actions .button{width:100%}}

/* Etapa 21 — Central de notificações */
.notification-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(166,25,50,.09),rgba(245,158,11,.08)),var(--institutional-panel,#fff)}.notification-hero h1,.notification-hero p{margin:.1rem 0 .35rem}.notification-hero-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.notification-hero-actions>span{padding:.5rem .7rem;border-radius:.5rem;background:var(--surface-muted,#f3f4f6)}.notification-filter-panel{margin-bottom:1rem;padding:.8rem}.notification-filter-form{display:grid;grid-template-columns:minmax(16rem,1.5fr) minmax(10rem,.7fr) minmax(10rem,.7fr) auto;align-items:end;gap:.65rem}.notification-list{display:grid;gap:.7rem}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem;border-left:4px solid #94a3b8}.notification-card.is-unread{background:color-mix(in srgb,var(--institutional-red) 4%,var(--institutional-panel,#fff))}.notification-card.priority-urgente{border-left-color:#dc2626}.notification-card.priority-alta{border-left-color:#f59e0b}.notification-card.priority-normal{border-left-color:#4474aa}.notification-card-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;color:#fff;border-radius:50%;background:#4474aa}.notification-card-icon.type-documento{background:#8057a6}.notification-card-icon.type-evento{background:#dd7937}.notification-card-icon.type-reserva{background:#278f97}.notification-card-icon.type-mural,.notification-card-icon.type-aviso{background:#a61932}.notification-card-icon.type-seguranca{background:#111827}.notification-card-copy h2{margin:.2rem 0;font-size:1rem}.notification-card-copy p{margin:.2rem 0;color:var(--text-muted,#6b7280)}.notification-card-meta{display:flex;flex-wrap:wrap;gap:.35rem}.notification-card-meta span,.notification-card-meta time{padding:.18rem .4rem;border-radius:999px;background:var(--surface-muted,#f3f4f6);font-size:.58rem;font-weight:700}.notification-card-actions{display:flex;align-items:center;gap:.35rem}.notification-card-actions form{display:inline}.notification-card-actions button{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.4rem;background:transparent;color:inherit;cursor:pointer}.notification-empty{padding:2.5rem;text-align:center}.notification-empty i{font-size:2rem}.notification-preferences-panel>form{padding:1rem}.notification-preference-group{display:grid;gap:.55rem;margin-bottom:1rem}.notification-preference-group h2{margin:.2rem 0;font-size:1rem}.notification-preference-group label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem}.notification-preference-group strong,.notification-preference-group small{display:block}.notification-preference-group small{color:var(--text-muted,#6b7280)}.notification-preference-actions{display:flex;justify-content:flex-end;gap:.55rem}.notification-admin-grid{display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(0,1.4fr);gap:1rem;align-items:start}.notification-admin-form{padding:1rem}.notification-audience-selection{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0;padding:.7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem}.notification-audience-selection>strong{width:100%}.notification-audience-selection label{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border:1px solid var(--border-color,#e5e7eb);border-radius:999px}.notification-audience-selection small{display:block;color:var(--text-muted,#6b7280)}.notification-admin-history{display:grid}.notification-admin-history>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;padding:.7rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.notification-admin-history strong,.notification-admin-history small{display:block}.notification-admin-history small{color:var(--text-muted,#6b7280)}.notification-admin-empty{padding:1rem}
@media(max-width:1000px){.notification-admin-grid{grid-template-columns:1fr}.notification-filter-form{grid-template-columns:1fr 1fr}.notification-filter-form .button{grid-column:1/-1}}
@media(max-width:680px){.notification-hero{align-items:stretch;flex-direction:column}.notification-filter-form{grid-template-columns:1fr}.notification-filter-form .button{grid-column:auto}.notification-card{grid-template-columns:auto minmax(0,1fr)}.notification-card-actions{grid-column:1/-1;justify-content:flex-end}.notification-preference-actions,.notification-preference-actions .button{width:100%}}
\n/* Etapa 22 — Indicadores */.analytics-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(68,116,170,.11),rgba(39,143,151,.08)),var(--institutional-panel,#fff)}.analytics-hero h1,.analytics-hero p{margin:.1rem 0 .35rem}.analytics-filter{margin-bottom:1rem;padding:.8rem}.analytics-filter form{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.analytics-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;margin-bottom:1rem}.analytics-kpis article{padding:.8rem}.analytics-kpis small,.analytics-kpis strong{display:block}.analytics-kpis small{color:var(--text-muted,#6b7280)}.analytics-kpis strong{margin-top:.25rem;font-size:1.55rem}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(20rem,.8fr);gap:1rem;align-items:start}.analytics-series,.analytics-rankings{display:grid;gap:.8rem;padding:.8rem}.analytics-series h3,.analytics-rankings h3{margin:.1rem 0 .5rem;font-size:.85rem}.analytics-series span{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem;align-items:center;gap:.45rem;margin:.3rem 0}.analytics-series b{display:block;height:.55rem;border-radius:999px;background:linear-gradient(90deg,#4474aa calc(var(--value)*1%),#e5e7eb 0)}.analytics-series strong{text-align:right}.analytics-rankings ol{margin:0;padding-left:1.4rem}.analytics-rankings li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border-color,#e5e7eb)}@media(max-width:1000px){.analytics-grid{grid-template-columns:1fr}}@media(max-width:620px){.analytics-hero{align-items:stretch;flex-direction:column}.analytics-filter form,.analytics-filter .button{width:100%}}

/* Etapa 23 — API REST e integrações */
.api-token-reveal{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem;border:1px solid #22c55e;border-radius:.65rem;background:#f0fdf4;color:#166534}.api-token-reveal>i{font-size:1.7rem}.api-token-reveal>div{min-width:0;flex:1}.api-token-reveal strong,.api-token-reveal span,.api-token-reveal code{display:block}.api-token-reveal code{margin-top:.45rem;padding:.55rem;overflow-x:auto;border:1px solid #bbf7d0;border-radius:.4rem;background:#fff;color:#111827}.api-admin-grid{display:grid;grid-template-columns:minmax(20rem,.85fr) minmax(0,1.45fr);gap:1rem;align-items:start}.api-client-form{padding:1rem}.api-scope-selection{display:grid;gap:.45rem;margin:.7rem 0}.api-scope-selection>label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.5rem;padding:.55rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem}.api-scope-selection strong,.api-scope-selection small{display:block}.api-scope-selection small{color:var(--text-muted,#6b7280)}.api-client-list{display:grid}.api-client-list>article{padding:.8rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.api-client-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem}.api-client-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;color:#fff;border-radius:.55rem;background:#4474aa}.api-client-main strong,.api-client-main small{display:block}.api-client-main small{color:var(--text-muted,#6b7280)}.api-client-state{padding:.22rem .45rem;border-radius:999px;font-size:.6rem;font-weight:800}.api-client-state.is-active{color:#166534;background:#dcfce7}.api-client-state.is-inactive{color:#991b1b;background:#fee2e2}.api-client-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.api-client-meta span{padding:.45rem;border-radius:.4rem;background:var(--surface-muted,#f3f4f6);font-size:.67rem;overflow-wrap:anywhere}.api-client-meta strong{display:block}.api-client-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.6rem}.api-client-actions form{display:inline}.api-client-empty{padding:2rem;text-align:center}.api-doc-panel{margin-top:1rem}.api-endpoint-list{display:grid}.api-endpoint-list>div{display:grid;grid-template-columns:3.5rem minmax(15rem,.8fr) minmax(0,1fr);gap:.6rem;padding:.6rem .8rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.api-endpoint-list code{color:#166534;font-weight:800}.api-doc-panel pre{margin:.8rem;padding:.8rem;overflow-x:auto;border-radius:.5rem;background:#111827;color:#e5e7eb}.api-log-table small{display:block;color:var(--text-muted,#6b7280)}.api-http-status{display:inline-block;padding:.2rem .4rem;border-radius:999px;font-size:.62rem;font-weight:800}.api-http-status.status-2xx{color:#166534;background:#dcfce7}.api-http-status.status-4xx,.api-http-status.status-5xx{color:#991b1b;background:#fee2e2}
@media(max-width:1050px){.api-admin-grid{grid-template-columns:1fr}}
@media(max-width:680px){.api-token-reveal{align-items:stretch;flex-direction:column}.api-client-main{grid-template-columns:auto minmax(0,1fr)}.api-client-state{grid-column:1/-1}.api-client-meta{grid-template-columns:1fr}.api-client-actions,.api-client-actions .button{width:100%}.api-endpoint-list>div{grid-template-columns:1fr}.api-endpoint-list code{width:max-content}}

/* Etapa 24 — Pesquisas e enquetes */
.survey-hero,.survey-detail-hero,.survey-result-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(68,116,170,.12),rgba(128,87,166,.09)),var(--institutional-panel,#fff)}.survey-hero h1,.survey-detail-hero h1,.survey-result-hero h1,.survey-hero p,.survey-detail-hero p,.survey-result-hero p{margin:.12rem 0 .35rem}.survey-hero>i,.survey-detail-hero>i{font-size:3rem;color:#4474aa}.survey-tabs{display:flex;gap:.3rem;margin-bottom:1rem;padding:.4rem}.survey-tabs a{padding:.5rem .75rem;border-radius:.45rem;color:inherit;font-size:.75rem;font-weight:800;text-decoration:none}.survey-tabs a.active{color:#fff;background:#4474aa}.survey-grid{display:grid;gap:.7rem}.survey-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem;border-left:4px solid #4474aa}.survey-card.featured{border-left-color:#a61932;background:color-mix(in srgb,#a61932 4%,var(--institutional-panel,#fff))}.survey-card-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.6rem;color:#fff;background:#4474aa}.survey-card h2{margin:.2rem 0;font-size:1rem}.survey-card p{margin:.2rem 0;color:var(--text-muted,#6b7280)}.survey-card small{color:var(--text-muted,#6b7280)}.survey-badges{display:flex;flex-wrap:wrap;gap:.3rem}.survey-badges span{padding:.2rem .42rem;border-radius:999px;background:var(--surface-muted,#f3f4f6);font-size:.58rem;font-weight:800}.survey-empty,.survey-complete{padding:2.5rem;text-align:center}.survey-empty i,.survey-complete i{font-size:2.2rem;color:#4474aa}.survey-question{margin-bottom:.75rem;padding:1rem;border:0}.survey-question legend{display:flex;align-items:center;gap:.55rem;width:100%;margin-bottom:.8rem;font-size:.95rem;font-weight:800}.survey-question legend>span{display:grid;place-items:center;min-width:1.8rem;height:1.8rem;border-radius:50%;color:#fff;background:#4474aa}.survey-question legend small{margin-left:auto;color:#a61932;font-size:.58rem}.survey-question textarea{width:100%}.survey-options{display:grid;gap:.45rem}.survey-options label{display:flex;align-items:center;gap:.55rem;padding:.65rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;cursor:pointer}.survey-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:.3rem}.survey-scale label input{position:absolute;opacity:0}.survey-scale label span{display:grid;place-items:center;height:2.4rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.4rem;cursor:pointer}.survey-scale label input:checked+span{color:#fff;background:#4474aa;border-color:#4474aa}.survey-scale-label{display:flex;justify-content:space-between;margin-top:.35rem;color:var(--text-muted,#6b7280);font-size:.62rem}.survey-submit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}.survey-submit p{margin:0;color:var(--text-muted,#6b7280)}.survey-admin-list{display:grid}.survey-admin-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.survey-admin-list strong,.survey-admin-list small{display:block}.survey-admin-list small{color:var(--text-muted,#6b7280)}.survey-admin-actions{display:flex;align-items:center;gap:.4rem}.survey-admin-actions form{display:inline}.survey-admin-empty{padding:1rem}.survey-builder{display:grid;gap:1rem}.survey-builder-body{padding:1rem}.survey-profile-selection,.survey-flags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.survey-profile-selection label,.survey-flags label,.survey-required{display:flex;align-items:center;gap:.4rem;padding:.5rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem}.survey-question-builder{display:grid;gap:.7rem;padding:1rem}.survey-question-editor{padding:.8rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.6rem;background:var(--surface-muted,#f8fafc)}.survey-question-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.survey-question-editor-head button{border:0;background:transparent;color:#b91c1c;cursor:pointer}.survey-builder-actions{display:flex;justify-content:flex-end;gap:.5rem}.survey-result-hero>strong{font-size:2.2rem;text-align:center;color:#4474aa}.survey-result-hero>strong small{display:block;font-size:.65rem;color:var(--text-muted,#6b7280)}.survey-result-question{margin-bottom:.8rem;padding:1rem}.survey-result-question>header{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.survey-result-question>header>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;color:#fff;background:#4474aa}.survey-result-question>header strong,.survey-result-question>header small{display:block}.survey-result-question>header small{color:var(--text-muted,#6b7280)}.survey-result-bars{display:grid;gap:.5rem}.survey-result-bars>div{display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(10rem,1.3fr) 3rem;align-items:center;gap:.5rem}.survey-result-bars b{height:.65rem;overflow:hidden;border-radius:999px;background:#e5e7eb}.survey-result-bars i{display:block;width:var(--value);height:100%;background:#4474aa}.survey-result-bars strong{text-align:right}.survey-score{display:flex;align-items:baseline;gap:.5rem;padding:1rem}.survey-score>strong{font-size:2.6rem;color:#4474aa}.survey-text-results{display:grid;gap:.5rem}.survey-text-results blockquote{margin:0;padding:.7rem;border-left:3px solid #4474aa;background:var(--surface-muted,#f8fafc)}.survey-text-results blockquote p{margin:0}.survey-text-results footer{margin-top:.35rem;color:var(--text-muted,#6b7280);font-size:.65rem}
@media(max-width:760px){.survey-hero,.survey-detail-hero,.survey-result-hero{align-items:flex-start;flex-direction:column}.survey-card,.survey-admin-list>article{grid-template-columns:auto minmax(0,1fr)}.survey-card>.button,.survey-admin-actions{grid-column:1/-1;width:100%}.survey-admin-actions .button,.survey-admin-actions form{flex:1}.survey-admin-actions form .button{width:100%}.survey-scale{grid-template-columns:repeat(5,1fr)}.survey-submit,.survey-builder-actions{align-items:stretch;flex-direction:column}.survey-submit .button,.survey-builder-actions .button{width:100%}.survey-result-bars>div{grid-template-columns:1fr 3rem}.survey-result-bars b{grid-column:1/-1;grid-row:2}}
\n\n/* Etapa 24.1 — Pesquisas integradas ao mural e navegação */\n.survey-nav-badge{min-width:1.35rem;text-align:center;background:#a61932;color:#fff;font-weight:850;box-shadow:0 0 0 3px color-mix(in srgb,#a61932 12%,transparent)}\n.feed-survey-panel{margin-bottom:1rem;overflow:hidden;border-color:color-mix(in srgb,#4474aa 28%,var(--border,#e5e7eb));background:linear-gradient(135deg,color-mix(in srgb,#4474aa 7%,var(--surface,#fff)),var(--surface,#fff) 58%)}\n.feed-survey-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border,#e5e7eb)}\n.feed-survey-panel-header>div{display:flex;align-items:center;gap:.75rem;min-width:0}.feed-survey-panel-header span,.feed-survey-panel-header strong,.feed-survey-panel-header small{display:block}.feed-survey-panel-header>div>div>span{font-size:.62rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#4474aa}.feed-survey-panel-header strong{font-size:1rem}.feed-survey-panel-header small{margin-top:.15rem;color:var(--muted,#6b7280);font-size:.72rem}.feed-survey-heading-icon{display:grid!important;place-items:center;width:2.8rem;height:2.8rem;flex:0 0 auto;border-radius:.75rem;background:#4474aa;color:#fff;font-size:1.15rem}.feed-survey-list{display:grid;gap:.65rem;padding:.8rem}.feed-survey-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border,#e5e7eb);border-radius:.75rem;background:var(--surface,#fff);box-shadow:0 4px 14px rgba(15,35,55,.035)}.feed-survey-card.is-required{border-left:4px solid #a61932}.feed-survey-card.is-featured{background:linear-gradient(100deg,color-mix(in srgb,#f4b740 8%,var(--surface,#fff)),var(--surface,#fff) 42%)}.feed-survey-card-main{min-width:0;flex:1}.feed-survey-card-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem}.feed-survey-type,.feed-survey-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .48rem;border-radius:999px;background:var(--surface-muted,#f3f4f6);color:var(--muted,#6b7280);font-size:.6rem;font-weight:800}.feed-survey-type{background:color-mix(in srgb,#4474aa 12%,var(--surface,#fff));color:#315d91}.feed-survey-badge.required{background:color-mix(in srgb,#a61932 10%,var(--surface,#fff));color:#a61932}.feed-survey-badge.featured{background:color-mix(in srgb,#f4b740 18%,var(--surface,#fff));color:#7c5b00}.feed-survey-card h2{margin:.1rem 0 .25rem;font-size:1rem}.feed-survey-card p{max-width:850px;margin:.2rem 0 .45rem;color:var(--muted,#6b7280);font-size:.82rem}.feed-survey-meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted,#6b7280);font-size:.68rem}.feed-survey-meta span{display:inline-flex;align-items:center;gap:.3rem}.feed-survey-action{flex:0 0 auto;gap:.4rem;white-space:nowrap}.button-small{min-height:34px;padding:7px 11px;font-size:.72rem}\n@media(max-width:760px){.feed-survey-panel-header{align-items:flex-start;flex-direction:column}.feed-survey-panel-header>.button{width:100%}.feed-survey-card{align-items:stretch;flex-direction:column}.feed-survey-action{width:100%}.feed-survey-meta{flex-direction:column;gap:.3rem}}\n
/* Etapa 25 — Galerias corporativas */
.gallery-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;margin-bottom:16px}.gallery-hero>i{font-size:52px;color:var(--brand,#a61932)}.gallery-search{padding:16px;display:flex;gap:12px;align-items:end;margin-bottom:16px}.gallery-search .field{flex:1}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.gallery-card{overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.gallery-card:hover{transform:translateY(-2px)}.gallery-card>img,.gallery-placeholder{width:100%;height:180px;object-fit:cover}.gallery-placeholder{display:grid;place-items:center;background:var(--surface-soft,#eef2f6);font-size:42px}.gallery-card-body{padding:16px}.gallery-card-body h2{font-size:18px;margin:8px 0}.gallery-card-body p{margin:0 0 10px}.gallery-badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 8px;border-radius:99px;background:#fff0c2;color:#755500}.gallery-empty{grid-column:1/-1;text-align:center;padding:48px}.gallery-empty>i{font-size:44px}.gallery-detail-head{padding:24px;margin:14px 0;display:flex;justify-content:space-between;gap:20px}.gallery-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.gallery-media-card{overflow:hidden;margin:0;padding-bottom:10px}.gallery-media-card img{display:block;width:100%;height:230px;object-fit:cover}.gallery-media-card figcaption{padding:10px 12px}.gallery-download{display:inline-block;margin:0 12px;text-decoration:none}.gallery-video-card{padding:20px;display:flex;gap:16px;align-items:center}.gallery-video-card>i{font-size:42px}.gallery-form{padding:20px}.gallery-profile-selection,.gallery-flags{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.gallery-profile-selection label,.gallery-flags label{padding:9px 12px;border:1px solid var(--border,#dce2e8);border-radius:9px}.gallery-form-actions{margin-top:16px}.gallery-admin-list>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-bottom:1px solid var(--border,#e1e5e9)}.gallery-admin-list small{display:block;margin-top:4px}.gallery-admin-actions{display:flex;gap:8px;align-items:center}.gallery-admin-actions form{margin:0}.gallery-admin-columns{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.gallery-admin-columns>section{padding:16px}.gallery-inline-form{display:flex;gap:10px;align-items:center;margin-bottom:14px}.gallery-admin-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.gallery-admin-media article{border:1px solid var(--border,#dce2e8);border-radius:10px;overflow:hidden}.gallery-admin-media img{width:100%;height:120px;object-fit:cover}.gallery-admin-media article>div{display:flex;gap:5px;padding:7px;flex-wrap:wrap}.gallery-video-form{display:grid;gap:10px}.gallery-video-admin{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border,#ddd);padding:10px 0}.gallery-video-admin div{min-width:0;flex:1}.gallery-video-admin small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.gallery-admin-columns{grid-template-columns:1fr}.gallery-search{align-items:stretch;flex-direction:column}}@media(max-width:600px){.gallery-hero,.gallery-detail-head{align-items:flex-start;flex-direction:column}.gallery-grid,.gallery-media-grid{grid-template-columns:1fr}.gallery-admin-list>article{align-items:flex-start;flex-direction:column}.gallery-inline-form{align-items:stretch;flex-direction:column}}

/* =========================================================
   Etapa 26 — Páginas temáticas e portais de área
   ========================================================= */
.thematic-hero,.thematic-detail-hero{margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(68,116,170,.09),rgba(128,87,166,.06)),var(--institutional-panel,#fff)}
.thematic-hero h1,.thematic-hero p,.thematic-detail-hero h1,.thematic-detail-hero p{margin:.1rem 0 .35rem}
.thematic-filter-panel{margin-bottom:1rem;padding:.8rem}.thematic-filter-form{display:grid;grid-template-columns:minmax(16rem,1fr) auto;align-items:end;gap:.65rem}
.thematic-page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem}.thematic-page-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.9rem;color:inherit;text-decoration:none;border-left:4px solid #4474aa;transition:transform .15s ease,box-shadow .15s ease}.thematic-page-card:hover{transform:translateY(-2px);box-shadow:0 .55rem 1.5rem rgba(15,23,42,.09)}.thematic-page-card.theme-red{border-left-color:#a61932}.thematic-page-card.theme-green{border-left-color:#3a9668}.thematic-page-card.theme-purple{border-left-color:#8057a6}.thematic-page-card.theme-orange{border-left-color:#dd7937}.thematic-page-card.theme-teal{border-left-color:#278f97}.thematic-page-card.theme-gray{border-left-color:#777f89}.thematic-page-icon,.thematic-detail-icon,.thematic-block-icon,.dashboard-thematic-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:#4474aa;color:#fff}.theme-red .thematic-page-icon,.theme-red .thematic-detail-icon,.theme-red .thematic-block-icon,.theme-red .dashboard-thematic-icon{background:#a61932}.theme-green .thematic-page-icon,.theme-green .thematic-detail-icon,.theme-green .thematic-block-icon,.theme-green .dashboard-thematic-icon{background:#3a9668}.theme-purple .thematic-page-icon,.theme-purple .thematic-detail-icon,.theme-purple .thematic-block-icon,.theme-purple .dashboard-thematic-icon{background:#8057a6}.theme-orange .thematic-page-icon,.theme-orange .thematic-detail-icon,.theme-orange .thematic-block-icon,.theme-orange .dashboard-thematic-icon{background:#dd7937}.theme-teal .thematic-page-icon,.theme-teal .thematic-detail-icon,.theme-teal .thematic-block-icon,.theme-teal .dashboard-thematic-icon{background:#278f97}.theme-gray .thematic-page-icon,.theme-gray .thematic-detail-icon,.theme-gray .thematic-block-icon,.theme-gray .dashboard-thematic-icon{background:#777f89}.thematic-page-card h2{margin:.1rem 0;font-size:1rem}.thematic-page-card p{margin:.15rem 0;color:var(--text-muted,#6b7280);line-height:1.4}.thematic-page-card small{color:var(--text-muted,#6b7280)}.thematic-page-arrow{color:var(--text-muted,#6b7280)}.thematic-featured{display:inline-block;padding:.15rem .4rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.56rem;font-weight:800}.thematic-empty{grid-column:1/-1;padding:2.3rem;text-align:center}.thematic-empty>i{font-size:2rem}.thematic-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;border-top:4px solid #4474aa}.thematic-detail-hero.theme-red{border-top-color:#a61932}.thematic-detail-hero.theme-green{border-top-color:#3a9668}.thematic-detail-hero.theme-purple{border-top-color:#8057a6}.thematic-detail-hero.theme-orange{border-top-color:#dd7937}.thematic-detail-hero.theme-teal{border-top-color:#278f97}.thematic-detail-hero.theme-gray{border-top-color:#777f89}.thematic-detail-icon{width:3.8rem;height:3.8rem;font-size:1.35rem}.thematic-intro{margin-bottom:1rem;padding:1rem;line-height:1.6}.thematic-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.thematic-block{padding:1rem}.thematic-block h2{margin:.1rem 0 .6rem;font-size:1rem}.thematic-block-text,.thematic-block-list{grid-column:span 2}.thematic-rich-text{line-height:1.65;white-space:normal}.thematic-block-highlight{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;border-top:3px solid #4474aa}.thematic-block-highlight p{margin:.15rem 0;line-height:1.5}.thematic-block-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;color:inherit;text-decoration:none;border-top:3px solid #4474aa}.thematic-block-link strong,.thematic-block-link small{display:block}.thematic-block-link small{margin-top:.1rem;color:var(--text-muted,#6b7280)}.thematic-block-list ul{margin:.4rem 0 0;padding-left:1.2rem}.thematic-block-list li{margin:.35rem 0;line-height:1.45}.thematic-page-form,.thematic-block-form{padding:1rem}.thematic-check{display:flex;align-items:center;gap:.4rem;min-height:2.5rem;font-weight:700}.thematic-profile-selection{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem;padding:.7rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem;background:var(--surface-muted,#f8fafc)}.thematic-profile-selection>strong{width:100%}.thematic-profile-selection label{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border:1px solid var(--border-color,#e5e7eb);border-radius:999px;background:var(--institutional-panel,#fff)}.thematic-form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.thematic-status{display:inline-block;padding:.2rem .45rem;border-radius:999px;font-size:.6rem;font-weight:800}.thematic-status.status-publicada{color:#166534;background:#dcfce7}.thematic-status.status-rascunho{color:#854d0e;background:#fef9c3}.thematic-status.status-arquivada{color:#374151;background:#e5e7eb}.thematic-admin-table small{display:block;color:var(--text-muted,#6b7280)}.thematic-admin-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.thematic-admin-actions form{display:inline}.thematic-admin-actions button{padding:0;border:0;background:none;color:var(--institutional-red);cursor:pointer;font:inherit}.thematic-block-admin{margin-top:1rem}.thematic-block-admin-grid{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.3fr);gap:1rem;align-items:start;padding:.8rem}.thematic-block-form{border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem}.thematic-block-existing{display:grid;gap:.7rem}.thematic-block-existing-card{padding:.75rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.55rem}.thematic-block-existing-card>form:first-child{display:grid;gap:.5rem}.thematic-block-existing-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.thematic-block-existing-head span{padding:.15rem .4rem;border-radius:999px;background:var(--surface-muted,#f3f4f6);font-size:.6rem}.thematic-delete-block-form{margin-top:.5rem;text-align:right}.thematic-block-empty{padding:1rem;text-align:center;color:var(--text-muted,#6b7280)}.dashboard-thematic-list{display:grid;gap:.45rem}.dashboard-thematic-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-left:3px solid #4474aa;border-radius:.5rem;text-decoration:none}.dashboard-thematic-list strong,.dashboard-thematic-list small{display:block}.dashboard-thematic-list small{color:var(--text-muted,#6b7280);font-size:.64rem}.dashboard-thematic-icon{width:2.2rem;height:2.2rem}
@media(max-width:900px){.thematic-block-admin-grid{grid-template-columns:1fr}.thematic-block-grid{grid-template-columns:1fr}.thematic-block-text,.thematic-block-list{grid-column:span 1}}
@media(max-width:680px){.thematic-filter-form{grid-template-columns:1fr}.thematic-page-grid{grid-template-columns:1fr}.thematic-detail-hero{grid-template-columns:auto minmax(0,1fr)}.thematic-detail-hero>.button{grid-column:1/-1;width:100%}.thematic-page-card{grid-template-columns:auto minmax(0,1fr)}.thematic-page-arrow{display:none}.thematic-form-actions,.thematic-form-actions .button{width:100%}}


/* =========================================================
   Etapa 27 — Cardápio corporativo
   ========================================================= */
.cafeteria-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(245,158,11,.08)),var(--institutional-panel,#fff)}.cafeteria-hero h1,.cafeteria-hero p{margin:.1rem 0 .35rem}.cafeteria-location{display:flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:999px;background:#ecfdf5;color:#166534;font-size:.7rem;font-weight:800}.cafeteria-week-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.7rem}.cafeteria-week-nav>a{display:flex;align-items:center;gap:.35rem;color:inherit;text-decoration:none;font-size:.7rem;font-weight:800}.cafeteria-week-nav>div{text-align:center}.cafeteria-week-nav strong,.cafeteria-week-nav small{display:block}.cafeteria-week-nav small{margin-top:.1rem;color:var(--text-muted,#6b7280)}.cafeteria-note{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:1rem;padding:.7rem .8rem;border:1px solid #fde68a;border-radius:.6rem;background:#fffbeb;color:#854d0e}.cafeteria-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.cafeteria-day{min-width:0;overflow:hidden}.cafeteria-day.is-today{border-color:#22c55e;box-shadow:0 0 0 1px rgba(34,197,94,.12)}.cafeteria-day>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.cafeteria-day>header span,.cafeteria-day>header strong{display:block}.cafeteria-day>header span{font-size:.65rem;color:var(--text-muted,#6b7280)}.cafeteria-day>header b{padding:.2rem .45rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.6rem}.cafeteria-meals{display:grid}.cafeteria-meals>section{padding:.8rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.cafeteria-meals>section:last-child{border-bottom:0}.cafeteria-meal-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;margin-bottom:.45rem}.cafeteria-meal-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:#166534;color:#fff}.cafeteria-meal-title small,.cafeteria-meal-title strong{display:block}.cafeteria-meal-title small{font-size:.6rem;color:var(--text-muted,#6b7280)}.cafeteria-meals ul{margin:.3rem 0;padding-left:1.2rem}.cafeteria-meals li{margin:.2rem 0;font-size:.75rem}.cafeteria-meals p{margin:.45rem 0 0;padding:.4rem;border-radius:.4rem;background:var(--surface-muted,#f3f4f6);font-size:.65rem;color:var(--text-muted,#6b7280)}.cafeteria-empty-day{display:flex;align-items:center;gap:.45rem;padding:1rem;color:var(--text-muted,#6b7280);font-size:.72rem}.cafeteria-empty-week{padding:2.5rem;text-align:center}.cafeteria-empty-week>i{font-size:2rem}.cafeteria-admin-heading{flex-wrap:wrap}.cafeteria-admin-table small{display:block;color:var(--text-muted,#6b7280)}.cafeteria-status{display:inline-block;padding:.2rem .45rem;border-radius:999px;font-size:.6rem;font-weight:800}.cafeteria-status.status-publicado{background:#dcfce7;color:#166534}.cafeteria-status.status-rascunho{background:#fef9c3;color:#854d0e}.cafeteria-status.status-arquivado{background:#e5e7eb;color:#374151}.cafeteria-table-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.cafeteria-table-actions form{display:inline}.cafeteria-table-actions button{padding:0;border:0;background:none;color:var(--institutional-red);cursor:pointer;font:inherit}.cafeteria-admin-form{padding:1rem}.cafeteria-form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.cafeteria-meal-editor,.cafeteria-existing-meals{margin-top:1rem}.cafeteria-admin-meal-list{display:grid}.cafeteria-admin-meal-list>article{display:grid;grid-template-columns:minmax(11rem,.6fr) minmax(0,1.4fr) auto;gap:.7rem;align-items:start;padding:.75rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.cafeteria-admin-meal-list>article.is-inactive{opacity:.55}.cafeteria-admin-meal-list strong,.cafeteria-admin-meal-list small{display:block}.cafeteria-admin-meal-list ul{margin:0;padding-left:1.2rem}.cafeteria-admin-meal-actions{display:flex;align-items:center;gap:.4rem}.cafeteria-admin-meal-actions span{font-size:.62rem;color:var(--text-muted,#6b7280)}.cafeteria-admin-meal-actions button{border:0;background:none;color:#b91c1c;cursor:pointer}.cafeteria-admin-empty{padding:1.5rem;text-align:center}.dashboard-cafeteria-list{display:grid;gap:.45rem}.dashboard-cafeteria-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem}.dashboard-cafeteria-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#166534;color:#fff}.dashboard-cafeteria-list strong,.dashboard-cafeteria-list small{display:block}.dashboard-cafeteria-list small{color:var(--text-muted,#6b7280);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.cafeteria-hero{align-items:stretch;flex-direction:column}.cafeteria-week-nav{grid-template-columns:auto 1fr auto}.cafeteria-week-nav>a span{display:none}.cafeteria-days{grid-template-columns:1fr}.cafeteria-form-actions,.cafeteria-form-actions .button{width:100%}.cafeteria-admin-meal-list>article{grid-template-columns:1fr}.cafeteria-admin-meal-actions{justify-content:flex-end}}


/* Etapa 27.1 — ajustes de URL e edição de refeições */
.cafeteria-meal-form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.75rem}
.cafeteria-admin-meal-actions a{display:inline-flex;align-items:center;gap:.2rem;color:#0f5f95;text-decoration:none;font-size:.68rem;font-weight:700}
.cafeteria-admin-meal-actions a:hover{text-decoration:underline}
@media(max-width:700px){.cafeteria-meal-form-actions,.cafeteria-meal-form-actions .button{width:100%}}
/* Etapa 27.2 — RBAC e setores */
.admin-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.admin-tabs a{display:flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border:1px solid var(--border-color,#dbe3ec);border-radius:.75rem;background:#fff;color:inherit;text-decoration:none;font-weight:700}.admin-tabs a.active{background:#0b4f7f;color:#fff;border-color:#0b4f7f}.permission-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1.25rem 0 .75rem}.permission-toolbar h3{margin:0 auto 0 0}.permission-group{border:1px solid #e0e7ef;border-radius:.75rem;margin:.65rem 0;background:#fff}.permission-group>summary{padding:.8rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.55rem}.permission-group .link-button{margin-left:auto;border:0;background:none;color:#0b5b91;font-size:.82rem}.permission-group .permission-grid{padding:0 1rem 1rem}.permission-option{display:flex!important;align-items:flex-start;gap:.55rem;padding:.4rem}.permission-option span{display:flex;flex-direction:column}.permission-option small{color:#718096;font-family:monospace;font-size:.72rem}.pagination-bar{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1rem}.pagination-bar a{padding:.45rem .7rem;border:1px solid #dbe3ec;border-radius:.45rem;text-decoration:none}.pagination-bar a.active{background:#0b4f7f;color:#fff}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end;margin-bottom:1rem}.filter-actions{display:flex;gap:.4rem}@media(max-width:1000px){.filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}}@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr!important}}
/* Etapa 28 — Banners e campanhas */
.campaign-carousel{position:relative;margin:0 0 18px;border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.08)}.campaign-slide{display:none;position:relative;aspect-ratio:5/1;min-height:130px;max-height:250px}.campaign-slide.active{display:block}.campaign-slide>a{display:block;height:100%;color:inherit}.campaign-slide img{width:100%;height:100%;object-fit:cover;display:block}.campaign-caption{position:absolute;left:0;right:0;bottom:0;padding:34px 24px 16px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;display:flex;flex-direction:column;gap:3px}.campaign-caption strong{font-size:1.25rem}.campaign-dots{position:absolute;right:16px;bottom:12px;display:flex;gap:7px;z-index:3}.campaign-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.55);cursor:pointer}.campaign-dots button.active{background:#fff;transform:scale(1.25)}.banner-targets{display:none;margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:12px}.banner-targets.active{display:block}.banner-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;max-height:280px;overflow:auto}.banner-target-grid label{display:flex;gap:8px;align-items:flex-start}.table-responsive{overflow-x:auto}@media(max-width:720px){.campaign-slide{aspect-ratio:2.4/1;min-height:150px}.campaign-caption{padding:28px 14px 12px}.campaign-caption strong{font-size:1rem}.campaign-caption span{font-size:.82rem}.banner-target-grid{grid-template-columns:1fr}}


/* Etapa 29 — Elogios */
.my-praises-panel{
    margin:0 0 1rem;
    border:1px solid rgba(166,25,50,.16);
    border-radius:.8rem;
    overflow:hidden;
    background:
        radial-gradient(circle at 92% 10%,rgba(245,158,11,.13),transparent 28%),
        linear-gradient(135deg,rgba(166,25,50,.055),rgba(255,255,255,.96));
    box-shadow:0 10px 28px rgba(15,23,42,.05)
}
.my-praises-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.8rem 1rem;
    border-bottom:1px solid rgba(166,25,50,.1)
}
.my-praises-header span,.my-praises-header strong{display:block}
.my-praises-header span{
    color:var(--institutional-red,#a61932);
    font-size:.62rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em
}
.my-praises-header strong{font-size:1rem}
.my-praises-header>i{
    color:#d97706;
    font-size:1.6rem
}
.my-praises-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
    gap:.7rem;
    padding:.8rem
}
.my-praise-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:.65rem;
    padding:.8rem;
    border:1px solid rgba(148,163,184,.3);
    border-radius:.65rem;
    background:rgba(255,255,255,.83)
}
.my-praise-card.is-featured{border-color:rgba(217,119,6,.35)}
.my-praise-mark{
    display:grid;
    place-items:center;
    width:2.4rem;
    height:2.4rem;
    border-radius:50%;
    background:#fff7ed;
    color:#d97706;
    font-size:1.1rem
}
.my-praise-card h2{
    margin:0 0 .25rem;
    font-size:.95rem
}
.my-praise-card p{
    margin:.1rem 0 .55rem;
    color:#334155;
    line-height:1.48
}
.my-praise-card footer{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.3rem .55rem;
    color:#64748b;
    font-size:.68rem
}
.my-praise-card footer strong{color:#7c2d12}
.feed-praises-panel .institutional-panel-header>i{
    color:#d97706;
    font-size:1.2rem
}
.feed-praise-list{display:grid}
.feed-praise-item{
    padding:.8rem;
    border-bottom:1px solid var(--border-color,#e5e7eb)
}
.feed-praise-item:last-child{border-bottom:0}
.feed-praise-person{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:.5rem;
    margin-bottom:.55rem
}
.feed-praise-avatar{
    display:grid;
    place-items:center;
    width:2.3rem;
    height:2.3rem;
    overflow:hidden;
    border-radius:50%;
    background:#fff7ed;
    color:#9a3412;
    font-size:.68rem;
    font-weight:800
}
.feed-praise-avatar img{
    width:100%;
    height:100%;
    object-fit:cover
}
.feed-praise-person strong,.feed-praise-person small{display:block}
.feed-praise-person strong{font-size:.78rem}
.feed-praise-person small{color:#64748b;font-size:.65rem}
.feed-praise-item h3{
    margin:.15rem 0 .35rem;
    font-size:.8rem
}
.feed-praise-item p{
    margin:0;
    color:#334155;
    font-size:.74rem;
    line-height:1.45
}
.feed-praise-item footer{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:.3rem;
    margin-top:.55rem;
    color:#64748b;
    font-size:.62rem
}
.feed-praise-item footer span{
    display:inline-flex;
    align-items:center;
    gap:.2rem
}
.praise-admin-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.praise-admin-filter{margin-bottom:1rem;padding:.8rem}
.praise-admin-table td small{
    display:block;
    margin-top:.14rem;
    color:#64748b
}
.praise-status{
    display:inline-flex;
    padding:.2rem .42rem;
    border-radius:999px;
    font-size:.6rem;
    font-weight:800
}
.praise-status.status-rascunho{background:#fef3c7;color:#92400e}
.praise-status.status-publicado{background:#dcfce7;color:#166534}
.praise-status.status-arquivado{background:#e5e7eb;color:#475569}
.praise-admin-actions{
    display:flex;
    align-items:center;
    gap:.35rem;
    flex-wrap:wrap
}
.praise-admin-actions form{display:inline}
.praise-admin-empty{text-align:center;padding:2rem!important;color:#64748b}
.praise-form-panel{padding:1rem}
.praise-form-status{
    display:flex;
    align-items:center;
    gap:.5rem;
    flex-wrap:wrap;
    margin-top:.8rem;
    padding:.65rem;
    border-radius:.5rem;
    background:var(--surface-muted,#f3f4f6)
}
.praise-form-status span,.praise-form-status small{color:#64748b}
.praise-form-actions{
    display:flex;
    justify-content:flex-end;
    gap:.55rem;
    margin-top:1rem
}
@media(max-width:700px){
    .praise-admin-hero{align-items:stretch;flex-direction:column}
    .praise-admin-hero>.button{width:100%}
    .my-praises-list{grid-template-columns:1fr}
    .praise-form-actions,.praise-form-actions .button{width:100%}
}


/* Etapa 30 — Base de Conhecimento */
.knowledge-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(22rem,.72fr);
    align-items:center;
    gap:1.2rem;
    margin-bottom:1rem;
    padding:1.35rem;
    border:1px solid rgba(15,95,149,.14);
    border-radius:.85rem;
    background:
        radial-gradient(circle at 90% 20%,rgba(39,143,151,.14),transparent 28%),
        linear-gradient(135deg,#fff,rgba(239,246,255,.92))
}
.knowledge-hero h1{margin:.15rem 0;font-size:1.8rem}
.knowledge-hero p{margin:.2rem 0;color:#475569}
.knowledge-search{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.5rem;
    padding:.45rem;
    border:1px solid #cbd5e1;
    border-radius:.7rem;
    background:#fff
}
.knowledge-search>i{margin-left:.4rem;color:#64748b}
.knowledge-search input{
    min-width:0;
    padding:.55rem .2rem;
    border:0;
    outline:0;
    background:transparent
}
.knowledge-category-strip{
    display:flex;
    gap:.5rem;
    margin-bottom:1rem;
    padding:.15rem 0 .4rem;
    overflow-x:auto
}
.knowledge-category-strip a{
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    flex:0 0 auto;
    padding:.5rem .7rem;
    border:1px solid #dbe3ec;
    border-radius:999px;
    background:#fff;
    color:#334155;
    text-decoration:none;
    font-size:.72rem;
    font-weight:700
}
.knowledge-category-strip a.active{
    border-color:#0f5f95;
    background:#eff6ff;
    color:#0f5f95
}
.knowledge-category-strip small{
    display:grid;
    place-items:center;
    min-width:1.2rem;
    height:1.2rem;
    padding:0 .25rem;
    border-radius:999px;
    background:#f1f5f9;
    font-size:.58rem
}
.knowledge-result-summary{
    margin:.2rem 0 .8rem;
    color:#64748b;
    font-size:.75rem
}
.knowledge-result-summary span{color:#0f172a;font-weight:700}
.knowledge-article-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));
    gap:.8rem
}
.knowledge-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:.75rem;
    padding:1rem;
    border:1px solid #dbe3ec;
    border-radius:.75rem;
    background:#fff;
    box-shadow:0 7px 20px rgba(15,23,42,.035)
}
.knowledge-card.is-featured{border-top:3px solid #0f5f95}
.knowledge-card-icon{
    display:grid;
    place-items:center;
    width:2.7rem;
    height:2.7rem;
    border-radius:.6rem;
    background:#eaf6f6;
    color:#167b83;
    font-size:1.2rem
}
.knowledge-card-meta{
    display:flex;
    gap:.35rem;
    flex-wrap:wrap;
    margin-bottom:.3rem
}
.knowledge-card-meta span{
    color:#64748b;
    font-size:.6rem;
    font-weight:800;
    text-transform:uppercase
}
.knowledge-card-meta .featured{color:#a61932}
.knowledge-card h2{margin:.1rem 0 .35rem;font-size:.95rem}
.knowledge-card h2 a{color:#0f172a;text-decoration:none}
.knowledge-card h2 a:hover{color:#0f5f95}
.knowledge-card p{
    margin:.1rem 0 .7rem;
    color:#64748b;
    font-size:.73rem;
    line-height:1.45
}
.knowledge-card footer{
    display:flex;
    gap:.7rem;
    flex-wrap:wrap;
    color:#64748b;
    font-size:.64rem
}
.knowledge-card footer span{
    display:inline-flex;
    align-items:center;
    gap:.18rem
}
.knowledge-card footer .bi-star-fill{color:#d97706}
.knowledge-empty{
    grid-column:1/-1;
    padding:3rem;
    text-align:center
}
.knowledge-empty>i{font-size:2rem;color:#94a3b8}
.knowledge-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);
    gap:1rem;
    align-items:start
}
.knowledge-breadcrumb{
    display:flex;
    align-items:center;
    gap:.35rem;
    margin-bottom:.65rem;
    color:#64748b;
    font-size:.7rem
}
.knowledge-breadcrumb a{color:#0f5f95;text-decoration:none}
.knowledge-article{overflow:hidden}
.knowledge-article>header{
    padding:1.25rem 1.35rem;
    border-bottom:1px solid #e5e7eb;
    background:linear-gradient(135deg,#fff,#f8fafc)
}
.knowledge-article-category{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    color:#167b83;
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase
}
.knowledge-article h1{
    margin:.45rem 0;
    font-size:1.75rem;
    line-height:1.2
}
.knowledge-article-lead{
    margin:.4rem 0 .7rem;
    color:#475569;
    font-size:.9rem;
    line-height:1.5
}
.knowledge-article-info{
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    color:#64748b;
    font-size:.65rem
}
.knowledge-article-info span{
    display:inline-flex;
    align-items:center;
    gap:.22rem
}
.knowledge-article-content{
    padding:1.35rem;
    color:#263548;
    font-size:.86rem;
    line-height:1.72
}
.knowledge-keywords{
    display:flex;
    gap:.35rem;
    flex-wrap:wrap;
    padding:0 1.35rem 1.25rem
}
.knowledge-keywords a{
    padding:.28rem .5rem;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    text-decoration:none;
    font-size:.65rem
}
.knowledge-attachments,.knowledge-rating-panel{margin-top:1rem}
.knowledge-attachment-list{display:grid}
.knowledge-attachment-list>a{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.65rem;
    padding:.7rem .85rem;
    border-bottom:1px solid #e5e7eb;
    color:#334155;
    text-decoration:none
}
.knowledge-attachment-list>a:last-child{border-bottom:0}
.knowledge-file-icon{
    display:grid;
    place-items:center;
    width:2.3rem;
    height:2.3rem;
    border-radius:.5rem;
    background:#eff6ff;
    color:#0f5f95
}
.knowledge-attachment-list strong,.knowledge-attachment-list small{display:block}
.knowledge-attachment-list small{color:#64748b;font-size:.62rem}
.knowledge-rating-average{
    display:inline-flex;
    align-items:center;
    gap:.2rem;
    color:#92400e;
    font-weight:800
}
.knowledge-rating-form{padding:.9rem}
.knowledge-stars{
    display:flex;
    flex-direction:row-reverse;
    justify-content:flex-end;
    gap:.1rem;
    margin-bottom:.7rem
}
.knowledge-stars input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0
}
.knowledge-stars span{
    color:#cbd5e1;
    cursor:pointer;
    font-size:1.8rem;
    line-height:1
}
.knowledge-stars label:hover span,
.knowledge-stars label:hover~label span,
.knowledge-stars input:checked~span,
.knowledge-stars label:has(input:checked)~label span{
    color:#f59e0b
}
.knowledge-side-card{
    padding:1rem;
    text-align:center
}
.knowledge-side-card>span,.knowledge-side-card>small{display:block;color:#64748b}
.knowledge-side-card>strong{
    display:block;
    margin:.25rem 0;
    color:#92400e;
    font-size:1.8rem
}
.knowledge-rating-bars{display:grid;gap:.35rem;margin-top:.8rem}
.knowledge-rating-bars>div{
    display:grid;
    grid-template-columns:2rem minmax(0,1fr) 1.5rem;
    align-items:center;
    gap:.35rem;
    font-size:.62rem
}
.knowledge-rating-bars i{
    height:.38rem;
    overflow:hidden;
    border-radius:999px;
    background:#e5e7eb
}
.knowledge-rating-bars b{
    display:block;
    height:100%;
    background:#f59e0b
}
.knowledge-related{margin-top:1rem;overflow:hidden}
.knowledge-related>a{
    display:block;
    padding:.7rem .8rem;
    border-bottom:1px solid #e5e7eb;
    color:#334155;
    text-decoration:none
}
.knowledge-related>a:last-child{border-bottom:0}
.knowledge-related strong,.knowledge-related small{display:block}
.knowledge-related small{margin-top:.18rem;color:#64748b;font-size:.63rem}
.knowledge-admin-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.knowledge-admin-hero-actions{display:flex;gap:.5rem}
.knowledge-admin-filter{margin-bottom:1rem;padding:.8rem}
.knowledge-admin-table td small{display:block;color:#64748b}
.knowledge-status{
    display:inline-flex;
    padding:.2rem .42rem;
    border-radius:999px;
    font-size:.58rem;
    font-weight:800
}
.knowledge-status.status-rascunho{background:#fef3c7;color:#92400e}
.knowledge-status.status-publicado{background:#dcfce7;color:#166534}
.knowledge-status.status-arquivado{background:#e5e7eb;color:#475569}
.knowledge-admin-actions{
    display:flex;
    gap:.3rem;
    align-items:center;
    flex-wrap:wrap
}
.knowledge-admin-actions form{display:inline}
.knowledge-admin-empty{text-align:center;padding:2rem!important}
.knowledge-editor-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);
    gap:1rem;
    align-items:start
}
.knowledge-editor-form{padding:1rem}
.knowledge-editor-actions{
    display:flex;
    justify-content:flex-end;
    gap:.5rem;
    margin-top:1rem
}
.knowledge-editor-status{padding:1rem}
.knowledge-editor-status>span,.knowledge-editor-status>strong,
.knowledge-editor-status>small{display:block}
.knowledge-editor-status>span,.knowledge-editor-status>small{color:#64748b}
.knowledge-editor-status>strong{margin:.2rem 0;font-size:1.1rem}
.knowledge-editor-status>div{
    display:flex;
    gap:.7rem;
    margin-top:.7rem;
    color:#64748b;
    font-size:.68rem
}
.knowledge-editor-files{margin-top:1rem}
.knowledge-editor-file{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:.4rem;
    padding:.65rem .75rem;
    border-bottom:1px solid #e5e7eb
}
.knowledge-editor-file strong,.knowledge-editor-file small{display:block}
.knowledge-editor-file small{color:#64748b}
.knowledge-editor-file form button{
    border:0;
    background:transparent;
    color:#dc2626;
    cursor:pointer
}
.knowledge-upload-more{
    display:grid;
    gap:.45rem;
    padding:.75rem
}
.knowledge-editor-help{
    padding:1rem;
    background:linear-gradient(135deg,#f0fdfa,#fff)
}
.knowledge-editor-help>i{color:#167b83;font-size:1.5rem}
.knowledge-editor-help strong{display:block;margin:.35rem 0}
.knowledge-editor-help p{margin:0;color:#64748b;font-size:.72rem;line-height:1.45}
.knowledge-category-admin-grid{
    display:grid;
    grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);
    gap:1rem;
    align-items:start
}
.knowledge-category-form{padding:1rem}
.knowledge-category-admin-list{display:grid}
.knowledge-category-admin-list>article{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:.6rem;
    padding:.7rem .8rem;
    border-bottom:1px solid #e5e7eb
}
.knowledge-category-admin-icon{
    display:grid;
    place-items:center;
    width:2.4rem;
    height:2.4rem;
    border-radius:.5rem;
    background:#eaf6f6;
    color:#167b83
}
.knowledge-category-admin-list strong,.knowledge-category-admin-list small{
    display:block
}
.knowledge-category-admin-list small{color:#64748b}
.knowledge-category-admin-list p{
    margin:.25rem 0 0;
    color:#64748b;
    font-size:.68rem
}
.knowledge-category-state{
    padding:.2rem .4rem;
    border-radius:999px;
    font-size:.58rem;
    font-weight:800
}
.knowledge-category-state.active{background:#dcfce7;color:#166534}
.knowledge-category-state.inactive{background:#e5e7eb;color:#475569}
@media(max-width:1000px){
    .knowledge-hero,
    .knowledge-detail-layout,
    .knowledge-editor-layout,
    .knowledge-category-admin-grid{
        grid-template-columns:1fr
    }
}
@media(max-width:700px){
    .knowledge-admin-hero{align-items:stretch;flex-direction:column}
    .knowledge-admin-hero-actions{display:grid;grid-template-columns:1fr}
    .knowledge-admin-hero-actions .button{width:100%}
    .knowledge-search{grid-template-columns:auto minmax(0,1fr)}
    .knowledge-search .button{grid-column:1/-1;width:100%}
    .knowledge-article-grid{grid-template-columns:1fr}
    .knowledge-editor-actions,.knowledge-editor-actions .button{width:100%}
    .knowledge-category-admin-list>article{
        grid-template-columns:auto minmax(0,1fr)
    }
    .knowledge-category-state,
    .knowledge-category-admin-list>article>.button{
        grid-column:1/-1
    }
}


/* Etapa 30.1 — Base de Conhecimento por Setor */
.knowledge-no-sector{
    max-width:45rem;
    margin:2rem auto;
    padding:2.2rem;
    border:1px solid #dbe3ec;
    border-radius:.9rem;
    background:#fff;
    text-align:center;
    box-shadow:0 12px 32px rgba(15,23,42,.055)
}
.knowledge-no-sector-icon{
    display:grid;
    place-items:center;
    width:4rem;
    height:4rem;
    margin:0 auto .8rem;
    border-radius:50%;
    background:#fff7ed;
    color:#c2410c;
    font-size:1.7rem
}
.knowledge-no-sector h1{margin:.2rem 0 .6rem}
.knowledge-no-sector p{
    margin:.4rem auto;
    max-width:36rem;
    color:#64748b;
    line-height:1.55
}
.knowledge-no-sector-actions{
    display:flex;
    justify-content:center;
    gap:.5rem;
    margin-top:1.1rem
}
.knowledge-category-sector-grid{
    grid-template-columns:minmax(22rem,.85fr) minmax(0,1.15fr)
}
.knowledge-sector-permissions{
    margin-top:.9rem;
    padding:.75rem;
    border:1px solid #dbe3ec;
    border-radius:.65rem;
    background:#f8fafc
}
.knowledge-sector-permission-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    margin-bottom:.65rem
}
.knowledge-sector-permission-head strong,
.knowledge-sector-permission-head small{
    display:block
}
.knowledge-sector-permission-head small{
    margin-top:.1rem;
    color:#64748b
}
.knowledge-sector-permission-list{
    display:grid;
    max-height:25rem;
    overflow:auto;
    border:1px solid #e2e8f0;
    border-radius:.5rem;
    background:#fff
}
.knowledge-sector-permission-list>article{
    display:grid;
    grid-template-columns:minmax(0,1fr) 6rem 6rem;
    align-items:center;
    gap:.5rem;
    padding:.55rem .65rem;
    border-bottom:1px solid #e5e7eb
}
.knowledge-sector-permission-list>article:last-child{border-bottom:0}
.knowledge-sector-permission-list strong,
.knowledge-sector-permission-list small{display:block}
.knowledge-sector-permission-list small{color:#64748b}
.knowledge-sector-permission-list label{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    font-size:.68rem
}
.knowledge-category-form-actions{
    display:flex;
    justify-content:flex-end;
    gap:.5rem;
    margin-top:.8rem
}
.knowledge-category-sector-list>article{
    grid-template-columns:auto minmax(0,1fr) auto auto
}
.knowledge-category-access-summary{
    display:grid;
    gap:.25rem;
    margin-top:.5rem
}
.knowledge-category-access-summary>span{
    display:block;
    color:#64748b;
    font-size:.64rem;
    line-height:1.4
}
.knowledge-category-access-summary i{
    width:1rem;
    color:#167b83
}
.knowledge-category-access-summary strong{
    display:inline;
    color:#334155
}
@media(max-width:1050px){
    .knowledge-category-sector-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .knowledge-no-sector-actions{display:grid}
    .knowledge-no-sector-actions .button{width:100%}
    .knowledge-sector-permission-head{
        align-items:stretch;
        flex-direction:column
    }
    .knowledge-sector-permission-list>article{
        grid-template-columns:1fr 1fr
    }
    .knowledge-sector-permission-list>article>div{
        grid-column:1/-1
    }
    .knowledge-category-form-actions,
    .knowledge-category-form-actions .button{width:100%}
    .knowledge-category-sector-list>article{
        grid-template-columns:auto minmax(0,1fr)
    }
}


/* Etapa 31 — Pesquisa Global */
.global-search-modal[hidden]{display:none!important}.global-search-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:start center;padding:8vh 1rem 1rem}.global-search-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}.global-search-dialog{position:relative;width:min(47rem,100%);max-height:78vh;overflow:hidden;border:1px solid rgba(148,163,184,.35);border-radius:.85rem;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.28)}.global-search-input-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.8rem 1rem;border-bottom:1px solid #e5e7eb}.global-search-input-row>i{font-size:1.25rem;color:#0f5f95}.global-search-input-row input{padding:.45rem 0;border:0;outline:0;background:transparent;font-size:1rem}.global-search-input-row kbd{padding:.2rem .4rem;border:1px solid #cbd5e1;border-radius:.3rem;background:#f8fafc;color:#64748b;font-size:.6rem}.global-search-help{padding:.65rem 1rem;color:#64748b;font-size:.68rem}.global-search-suggestions{max-height:53vh;overflow:auto}.global-search-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem 1rem;border-top:1px solid #f1f5f9;color:#334155;text-decoration:none}.global-search-suggestion:hover,.global-search-suggestion.is-active{background:#f0f7fb}.global-search-suggestion-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.55rem;background:#edf6f8;color:#167b83}.global-search-suggestion small,.global-search-suggestion strong,.global-search-suggestion span{display:block}.global-search-suggestion small{color:#0f5f95;font-size:.58rem;font-weight:800;text-transform:uppercase}.global-search-suggestion strong{font-size:.78rem}.global-search-suggestion span{margin-top:.1rem;color:#64748b;font-size:.65rem}.global-search-dialog>footer{display:flex;justify-content:space-between;gap:.7rem;padding:.6rem 1rem;border-top:1px solid #e5e7eb;background:#f8fafc;color:#64748b;font-size:.62rem}.global-search-dialog>footer a{color:#0f5f95;font-weight:700;text-decoration:none}.search-page-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);align-items:center;gap:1rem;margin-bottom:1rem;padding:1.25rem;border:1px solid rgba(15,95,149,.14);border-radius:.8rem;background:linear-gradient(135deg,#fff,#f0f7fb)}.search-page-hero h1{margin:.1rem 0}.search-page-hero p{margin:.2rem 0;color:#64748b}.search-page-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff}.search-page-form>i{margin-left:.4rem;color:#64748b}.search-page-form input{padding:.55rem .15rem;border:0;outline:0}.search-type-filters{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.search-type-filters label{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .58rem;border:1px solid #dbe3ec;border-radius:999px;background:#fff;color:#475569;cursor:pointer;font-size:.67rem;font-weight:700}.search-type-filters label.active{border-color:#0f5f95;background:#eff6ff;color:#0f5f95}.search-type-filters input{position:absolute;opacity:0;pointer-events:none}.search-type-filters small{display:grid;place-items:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:#e2e8f0;font-size:.55rem}.search-type-filters>a{margin-left:auto;color:#0f5f95;font-size:.68rem}.search-result-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.7rem;color:#64748b;font-size:.72rem}.search-result-heading span{color:#0f172a;font-weight:700}.search-index-info{display:flex;align-items:center;gap:.5rem}.search-index-info form{display:inline}.search-results-list{display:grid;gap:.45rem}.search-result-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem .9rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#fff;color:#334155;text-decoration:none;transition:transform .12s,border-color .12s}.search-result-card:hover{transform:translateY(-1px);border-color:#94bcd2}.search-result-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.6rem;background:#edf6f8;color:#167b83;font-size:1.05rem}.search-result-copy>small{display:block;color:#0f5f95;font-size:.58rem;font-weight:800;text-transform:uppercase}.search-result-copy>strong{display:block;margin:.12rem 0;font-size:.85rem}.search-result-copy>p{margin:.15rem 0 0;color:#64748b;font-size:.69rem;line-height:1.4}.search-result-arrow{color:#94a3b8}.search-empty{padding:3rem;text-align:center}.search-empty>i{color:#94a3b8;font-size:2rem}.search-start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem}.search-start-grid>a{display:grid;gap:.25rem;padding:1rem;border:1px solid #dbe3ec;border-radius:.7rem;background:#fff;color:#334155;text-decoration:none}.search-start-grid>a>i{color:#167b83;font-size:1.35rem}.search-start-grid>a small{color:#64748b}
@media(max-width:900px){.search-page-hero{grid-template-columns:1fr}.search-result-heading{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.global-search-modal{padding:0}.global-search-dialog{width:100%;height:100%;max-height:none;border-radius:0}.global-search-dialog>footer{align-items:flex-start;flex-direction:column}.search-page-form{grid-template-columns:auto minmax(0,1fr)}.search-page-form .button{grid-column:1/-1;width:100%}.search-type-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem}.search-type-filters>a{flex:0 0 auto}.search-result-card{grid-template-columns:auto minmax(0,1fr)}.search-result-arrow{display:none}}


/* Etapa 32 — Construtor de Formulários */
.forms-hero{
    margin-bottom:1rem;padding:1.25rem;border:1px solid rgba(15,95,149,.15);
    border-radius:.85rem;background:linear-gradient(135deg,#fff,#eff6ff)
}
.forms-hero h1{margin:.15rem 0}.forms-hero p{margin:.25rem 0;color:#64748b}
.forms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));gap:.8rem}
.form-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:1rem;
    border:1px solid #dbe3ec;border-radius:.75rem;background:#fff;position:relative}
.form-card.is-featured{border-top:3px solid #0f5f95}
.form-card-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.6rem;background:#eff6ff;color:#0f5f95;font-size:1.2rem}
.form-card-meta{display:flex;gap:.35rem;flex-wrap:wrap}.form-card-meta span{font-size:.58rem;font-weight:800;text-transform:uppercase;color:#64748b}
.form-card h2{margin:.25rem 0;font-size:1rem}.form-card p{margin:.2rem 0 .65rem;color:#64748b;font-size:.73rem;line-height:1.45}
.form-card footer{display:flex;gap:.7rem;flex-wrap:wrap;color:#64748b;font-size:.63rem}
.form-card-action{grid-column:1/-1;display:flex;justify-content:flex-end}
.form-answer-status{display:inline-flex;align-items:center;gap:.25rem;color:#166534;font-size:.7rem;font-weight:800}
.forms-empty{grid-column:1/-1;padding:2.5rem;text-align:center}.forms-empty>i{font-size:2rem;color:#0f5f95}
.form-instructions{display:grid;grid-template-columns:auto 1fr;gap:.6rem;margin-bottom:1rem;padding:.8rem;color:#475569}
.form-instructions>i{color:#0f5f95;font-size:1.15rem}
.public-form-builder{padding:1rem;max-width:60rem}.public-form-field{padding:.85rem 0;border-bottom:1px solid #e5e7eb}
.public-form-field:last-of-type{border-bottom:0}.public-form-label{display:block;margin-bottom:.45rem}.public-form-label>span{display:block;font-weight:750;color:#1e293b}
.public-form-label small{display:block;margin-top:.15rem;color:#64748b}
.public-form-field input[type=text],.public-form-field input[type=email],.public-form-field input[type=number],
.public-form-field input[type=date],.public-form-field input[type=time],.public-form-field textarea,.public-form-field select{
    width:100%;padding:.62rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff}
.public-form-options{display:grid;gap:.4rem}.public-form-options label{display:flex;align-items:center;gap:.45rem;padding:.45rem .55rem;border:1px solid #e2e8f0;border-radius:.5rem}
.public-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.protocol-success-card{max-width:44rem;margin:2rem auto;padding:2rem;border:1px solid #dbe3ec;border-radius:.9rem;background:#fff;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.protocol-success-icon{color:#16a34a;font-size:3rem}.protocol-success-card h1{margin:.2rem 0}.protocol-success-card>p{color:#64748b}
.protocol-code{margin:1.2rem 0;padding:1rem;border:1px dashed #0f5f95;border-radius:.6rem;background:#eff6ff}
.protocol-code span,.protocol-code strong{display:block}.protocol-code span{font-size:.65rem;text-transform:uppercase;color:#64748b}.protocol-code strong{font-size:1.45rem;color:#0f5f95;letter-spacing:.04em}
.protocol-success-card dl{display:grid;text-align:left;border-top:1px solid #e5e7eb}.protocol-success-card dl>div{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;padding:.55rem 0;border-bottom:1px solid #e5e7eb}
.protocol-success-card dt{color:#64748b}.protocol-success-card dd{margin:0;font-weight:700}.protocol-actions{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.forms-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.forms-admin-table td small{display:block;color:#64748b}
.form-status{display:inline-flex;padding:.2rem .42rem;border-radius:999px;font-size:.58rem;font-weight:800}.form-status.status-rascunho{background:#fef3c7;color:#92400e}
.form-status.status-publicado{background:#dcfce7;color:#166534}.form-status.status-arquivado{background:#e5e7eb;color:#475569}
.forms-admin-actions{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.forms-admin-actions form{display:inline}.forms-admin-empty{text-align:center;padding:1.5rem!important;color:#64748b}
.form-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);gap:1rem;align-items:start}
.form-builder-settings,.form-field-editor form{padding:1rem}.form-audience-box{margin:.8rem 0;padding:.75rem;border:1px solid #dbe3ec;border-radius:.6rem;background:#f8fafc}
.form-audience-box>strong{display:block;margin-bottom:.45rem}.form-audience-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.35rem}
.form-audience-options label{display:flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border-radius:.4rem;background:#fff}
.form-builder-checks{display:grid;gap:.35rem;margin-top:.7rem}.form-builder-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.form-fields-panel{margin-top:1rem}.form-fields-list{display:grid}.form-fields-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.7rem .8rem;border-bottom:1px solid #e5e7eb}
.form-field-order{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.5rem;background:#f1f5f9;color:#475569;font-size:.65rem;font-weight:800}
.form-field-meta{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.18rem}.form-field-meta span{font-size:.56rem;font-weight:800;text-transform:uppercase;color:#0f5f95}
.form-fields-list strong,.form-fields-list small{display:block}.form-fields-list small{color:#64748b}.form-fields-list p{margin:.2rem 0 0;color:#64748b;font-size:.64rem}
.form-field-actions{display:flex;gap:.3rem;align-items:center}.form-field-actions form{display:inline}
.form-field-validation-help{display:block;margin-top:-.35rem;margin-bottom:.7rem;color:#64748b}
.form-builder-status{margin-top:1rem;padding:1rem}.form-builder-status span,.form-builder-status strong,.form-builder-status small{display:block}.form-builder-status span,.form-builder-status small{color:#64748b}
.form-builder-status strong{margin:.2rem 0}.form-builder-tip{padding:1rem}.form-builder-tip>i{font-size:1.5rem;color:#d97706}.form-builder-tip strong{display:block;margin:.35rem 0}.form-builder-tip p{color:#64748b;font-size:.72rem}
@media(max-width:1000px){.form-builder-layout{grid-template-columns:1fr}}
@media(max-width:700px){.forms-grid{grid-template-columns:1fr}.forms-admin-hero{align-items:stretch;flex-direction:column}.forms-admin-hero>.button{width:100%}
.public-form-actions,.protocol-actions,.form-builder-actions{display:grid}.public-form-actions .button,.protocol-actions .button,.form-builder-actions .button{width:100%}
.protocol-success-card dl>div{grid-template-columns:1fr}.form-fields-list>article{grid-template-columns:auto 1fr}.form-field-actions{grid-column:1/-1}}


/* Etapa 33 — Respostas e Relatórios */
.forms-admin-hero-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.form-builder-attachment-config{
    margin-top:.65rem;padding:.7rem;border:1px solid #dbe3ec;
    border-radius:.55rem;background:#f8fafc
}
.public-form-attachments input[type=file]{width:100%}
.protocol-attachments{
    display:grid;gap:.35rem;margin:1rem 0;padding:.8rem;border:1px solid #dbe3ec;
    border-radius:.6rem;background:#f8fafc;text-align:left
}
.protocol-attachments>span{font-size:.65rem;font-weight:800;text-transform:uppercase;color:#64748b}
.protocol-attachments a{
    display:flex;align-items:center;gap:.35rem;color:#0f5f95;text-decoration:none;font-size:.72rem
}
.form-response-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.form-response-indicators{
    display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.55rem;margin-bottom:1rem
}
.form-response-indicators article{
    padding:.72rem;border:1px solid #dbe3ec;border-radius:.65rem;background:#fff
}
.form-response-indicators span{display:block;color:#64748b;font-size:.61rem;text-transform:uppercase;font-weight:800}
.form-response-indicators strong{display:block;margin-top:.1rem;font-size:1.25rem;color:#0f172a}
.form-response-filter-panel{margin-bottom:1rem;padding:.8rem}
.form-response-filter-grid{
    display:grid;grid-template-columns:minmax(15rem,1.5fr) repeat(5,minmax(9rem,1fr));gap:.55rem
}
.form-response-filter-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.65rem}
.form-response-table td small{display:block;color:#64748b}
.form-response-status{
    display:inline-flex;padding:.2rem .42rem;border-radius:999px;font-size:.57rem;
    font-weight:800;text-transform:uppercase
}
.form-response-status.status-enviada{background:#dbeafe;color:#1d4ed8}
.form-response-status.status-em_analise{background:#fef3c7;color:#92400e}
.form-response-status.status-concluida{background:#dcfce7;color:#166534}
.form-response-status.status-cancelada{background:#fee2e2;color:#991b1b}
.form-response-pagination{
    display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.8rem
}
.form-response-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.form-response-detail-layout{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);gap:1rem;align-items:start
}
.form-response-values{display:grid}
.form-response-values article{padding:.8rem;border-bottom:1px solid #e5e7eb}
.form-response-values article:last-child{border-bottom:0}
.form-response-values span{display:block;margin-bottom:.2rem;color:#64748b;font-size:.65rem;font-weight:800}
.form-response-values strong{display:block;color:#1e293b;font-size:.78rem;line-height:1.48}
.form-response-attachments{margin-top:1rem}
.form-response-attachments>a{
    display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;
    padding:.7rem .8rem;border-bottom:1px solid #e5e7eb;color:#334155;text-decoration:none
}
.form-response-attachments>a:last-child{border-bottom:0}
.form-response-attachments>a>i:first-child{color:#0f5f95}
.form-response-attachments strong,.form-response-attachments small{display:block}
.form-response-attachments small{color:#64748b}
.form-response-history{margin-top:1rem}
.form-response-timeline{display:grid;padding:.7rem .8rem}
.form-response-timeline article{
    display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;padding:.55rem 0;
    border-bottom:1px solid #e5e7eb
}
.form-response-timeline article:last-child{border-bottom:0}
.form-response-timeline>article>i{margin-top:.23rem;color:#0f5f95;font-size:.5rem}
.form-response-timeline strong,.form-response-timeline small{display:block}
.form-response-timeline small{color:#64748b;font-size:.62rem}
.form-response-timeline p{margin:.25rem 0 0;color:#475569;font-size:.7rem;line-height:1.45}
.form-response-person,.form-response-current-status{padding:1rem}
.form-response-person>span,.form-response-person>strong,.form-response-person>small,
.form-response-current-status>span,.form-response-current-status>strong,.form-response-current-status>small{display:block}
.form-response-person>span,.form-response-current-status>span{color:#64748b;font-size:.62rem;text-transform:uppercase;font-weight:800}
.form-response-person>strong,.form-response-current-status>strong{margin:.25rem 0;font-size:1rem}
.form-response-person>small,.form-response-current-status>small{color:#64748b}
.form-response-person>a{display:inline-block;margin-top:.45rem;color:#0f5f95;font-size:.7rem}
.form-response-current-status{margin-top:1rem}
.form-response-status-editor{margin-top:1rem}
.form-response-status-editor form{padding:.8rem}
.form-response-status-editor .button{width:100%}
@media(max-width:1150px){
    .form-response-indicators{grid-template-columns:repeat(4,minmax(0,1fr))}
    .form-response-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .form-response-detail-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
    .forms-admin-hero-actions{display:grid}
    .forms-admin-hero-actions .button{width:100%}
    .form-response-hero,.form-response-detail-hero{align-items:stretch;flex-direction:column}
    .form-response-hero>.button,.form-response-detail-hero>.button{width:100%}
    .form-response-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}
    .form-response-filter-grid{grid-template-columns:1fr}
    .form-response-filter-actions{display:grid}
    .form-response-filter-actions .button{width:100%}
}


/* Etapa 34 — Workflows */
.workflow-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.workflow-status{display:inline-flex;padding:.2rem .45rem;border-radius:999px;font-size:.58rem;font-weight:800}
.workflow-status.is-active{background:#dcfce7;color:#166534}.workflow-status.is-inactive{background:#e5e7eb;color:#475569}
.workflow-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,27rem);gap:1rem;align-items:start}
.workflow-settings-form,.workflow-step-editor form{padding:1rem}.workflow-note{display:block;color:#64748b;margin-top:.4rem}
.workflow-steps-panel{margin-top:1rem}.workflow-steps-list{display:grid}
.workflow-steps-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.75rem .8rem;border-bottom:1px solid #e5e7eb}
.workflow-step-order{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.5rem;background:#eff6ff;color:#0f5f95;font-size:.65rem;font-weight:800}
.workflow-step-meta{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.15rem}.workflow-step-meta span{font-size:.56rem;font-weight:800;text-transform:uppercase;color:#0f5f95}
.workflow-steps-list strong,.workflow-steps-list small{display:block}.workflow-steps-list small{color:#64748b}.workflow-steps-list p{margin:.15rem 0 0;color:#64748b;font-size:.64rem}
.workflow-approver-group{margin:.7rem 0;padding:.65rem;border:1px solid #dbe3ec;border-radius:.55rem;background:#f8fafc}
.workflow-approver-group>strong{display:block;margin-bottom:.4rem}.workflow-approver-options{display:grid;max-height:10rem;overflow:auto;gap:.25rem}
.workflow-approver-options label{display:flex;align-items:center;gap:.35rem;padding:.28rem .35rem;background:#fff;border-radius:.35rem}
.workflow-instance-card{margin-top:1rem}.workflow-instance-summary{display:grid;grid-template-columns:6rem 1fr;gap:.35rem .5rem;padding:.8rem}
.workflow-instance-summary span{color:#64748b;font-size:.62rem}.workflow-instance-summary strong{font-size:.72rem}.workflow-overdue{color:#b91c1c}
.workflow-movement-form{padding:.8rem;border-top:1px solid #e5e7eb}.workflow-movement-form .button{width:100%}
.workflow-mini-history{display:grid;padding:.65rem .8rem;border-top:1px solid #e5e7eb}.workflow-mini-history article{padding:.45rem 0;border-bottom:1px solid #eef2f7}
.workflow-mini-history article:last-child{border-bottom:0}.workflow-mini-history strong,.workflow-mini-history small{display:block}.workflow-mini-history small{color:#64748b}.workflow-mini-history p{margin:.2rem 0 0;font-size:.68rem;color:#475569}
.protocol-workflow{margin:1rem 0;padding:.8rem;border:1px solid #dbe3ec;border-radius:.6rem;background:#f8fafc;text-align:left}
.protocol-workflow>span,.protocol-workflow>strong,.protocol-workflow>small{display:block}.protocol-workflow>span{font-size:.62rem;text-transform:uppercase;color:#64748b;font-weight:800}.protocol-workflow>strong{margin:.2rem 0;color:#0f5f95}.protocol-workflow-history{display:grid;margin-top:.55rem;border-top:1px solid #e5e7eb}
.protocol-workflow-history>div{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #e5e7eb;font-size:.64rem}
@media(max-width:1000px){.workflow-builder-layout{grid-template-columns:1fr}}
@media(max-width:700px){.workflow-admin-hero{align-items:stretch;flex-direction:column}.workflow-admin-hero>.button{width:100%}.workflow-steps-list>article{grid-template-columns:auto 1fr}.workflow-steps-list .form-field-actions{grid-column:1/-1}}


/* Etapa 35 — Central de Notificações v2 */
.notification-card.is-archived{opacity:.78}
.notification-card-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.notification-card-actions form{margin:0}
.notification-card-actions form button{
    min-width:2rem;height:2rem;border:1px solid #dbe3ec;border-radius:.45rem;
    background:#fff;color:#475569;cursor:pointer
}
.notification-audience-selection[data-notification-sectors]{
    max-height:14rem;overflow:auto
}
.notification-preference-group label span small{line-height:1.35}
@media(max-width:700px){
    .notification-hero-actions{display:grid;width:100%}
    .notification-hero-actions .button,
    .notification-hero-actions form,
    .notification-hero-actions form .button{width:100%}
}


/* Etapa 36 — E-mails transacionais */
.email-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.email-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.email-config-form,.email-test-form{padding:1rem}
.email-test-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end;border-top:1px solid #e5e7eb}
.email-template-list{display:grid;gap:.75rem;padding:.8rem}
.email-template-list>form{padding:.7rem;border:1px solid #dbe3ec;border-radius:.6rem;background:#f8fafc}
.email-template-head{display:flex;justify-content:space-between;gap:.6rem;align-items:start;margin-bottom:.55rem}
.email-template-head strong,.email-template-head small{display:block}
.email-template-head small{color:#64748b}
.email-queue-panel,.email-log-panel{margin-top:1rem}
.email-filter-form{display:flex;gap:.5rem;padding:.7rem;border-bottom:1px solid #e5e7eb}
.email-filter-form input{flex:1}
.email-status{display:inline-flex;padding:.2rem .45rem;border-radius:999px;font-size:.56rem;font-weight:800}
.email-status.status-enviado{background:#dcfce7;color:#166534}
.email-status.status-erro{background:#fee2e2;color:#991b1b}
.email-status.status-pendente{background:#fef3c7;color:#92400e}
.email-status.status-processando{background:#dbeafe;color:#1d4ed8}
.email-status.status-cancelado{background:#e5e7eb;color:#475569}
.email-queue-actions{display:flex;gap:.3rem}
.email-queue-actions form{margin:0}
.email-queue-actions button{width:2rem;height:2rem;border:1px solid #dbe3ec;border-radius:.4rem;background:#fff;cursor:pointer}
.email-log-list{display:grid;max-height:28rem;overflow:auto}
.email-log-list article{display:grid;grid-template-columns:6rem 1fr;gap:.6rem;padding:.6rem .8rem;border-bottom:1px solid #eef2f7}
.email-log-list article>span{font-size:.58rem;font-weight:800;color:#0f5f95}
.email-log-list strong,.email-log-list small{display:block}.email-log-list small{color:#64748b}.email-log-list p{margin:.15rem 0 0;font-size:.66rem}
@media(max-width:1000px){.email-admin-grid{grid-template-columns:1fr}}
@media(max-width:700px){.email-admin-hero{flex-direction:column;align-items:stretch}.email-admin-hero .button{width:100%}.email-test-form{grid-template-columns:1fr}.email-filter-form{display:grid}}


/* Etapa 37 — Pesquisas e Enquetes v2 */
.survey-profile-selection>strong{display:block;width:100%;margin-bottom:.35rem}
.survey-flags label>span strong,.survey-flags label>span small{display:block}
.survey-flags label>span small{margin-top:.12rem;color:#64748b;font-weight:400}
.survey-result-summary{display:grid;gap:.5rem;justify-items:end}
.survey-result-summary>strong{display:grid}
.survey-result-bars strong small{display:block;color:#64748b;font-weight:600;font-size:.55rem}
.survey-complete .button{margin-top:.65rem}
@media(max-width:700px){
    .survey-result-summary{justify-items:start}
    .survey-result-summary .button{width:100%}
}

/* Etapa 38 — aniversários, admissões e widgets */
.people-hires-panel{margin-bottom:1rem}
.people-hires-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;padding:.85rem}
.people-hire-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;color:inherit;border:1px solid var(--border-color,#e5e7eb);border-radius:.6rem;text-decoration:none;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,253,250,.82))}
[data-theme="dark"] .people-hire-card{background:rgba(255,255,255,.025)}
.people-hire-card strong,.people-hire-card small,.people-hire-card em{display:block}
.people-hire-card small{color:var(--text-muted,#6b7280);font-size:.7rem}
.people-hire-card em{margin-top:.2rem;color:#0f766e;font-size:.65rem;font-style:normal;font-weight:700}
.people-hire-card>i,.dashboard-new-employee-list>a>i{color:#0f766e;font-size:1.15rem}
.birthday-admin-form-expanded{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto;min-width:34rem}
.birthday-admin-field{display:flex;align-items:center;gap:.45rem}
.birthday-admin-field input[type="date"]{min-width:9rem}
@media(max-width:760px){
    .people-hires-grid{grid-template-columns:1fr}
    .birthday-admin-form-expanded{grid-template-columns:1fr;min-width:16rem;align-items:stretch}
    .birthday-admin-field{justify-content:space-between}
    .birthday-admin-form-expanded .button{width:100%}
}

/* Etapa 39 — Universidade CVB e cursos */
.course-hero,.course-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1rem;padding:1.5rem;background:linear-gradient(135deg,#eef7ff,#f5f0ff)}
[data-theme="dark"] .course-hero,[data-theme="dark"] .course-detail-hero{background:linear-gradient(135deg,#12283a,#251f36)}
.course-hero>i{font-size:4rem;color:#6d4aa2;opacity:.75}.course-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem}.course-card{overflow:hidden;border:1px solid var(--border-color,#e2e8f0);border-radius:.85rem;background:var(--surface,#fff);color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(15,23,42,.06)}.course-card-cover{position:relative;display:grid;place-items:center;height:9rem;background:linear-gradient(135deg,var(--course-color),color-mix(in srgb,var(--course-color) 60%,#fff));color:#fff}.course-card-cover img{width:100%;height:100%;object-fit:cover}.course-card-cover>i{font-size:3rem}.course-card-cover>span{position:absolute;top:.65rem;right:.65rem;padding:.25rem .5rem;border-radius:999px;background:#fff;color:#6d4aa2;font-size:.62rem;font-weight:800}.course-card-copy{padding:1rem}.course-card-copy>small{color:#6d4aa2;font-size:.63rem;font-weight:800;text-transform:uppercase}.course-card-copy h2{margin:.3rem 0;font-size:1.05rem}.course-card-copy p{min-height:2.5rem;color:var(--text-muted,#64748b);font-size:.75rem}.course-card-copy footer,.course-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:var(--text-muted,#64748b);font-size:.65rem}.course-empty{padding:3rem;text-align:center}.course-detail-hero>div:first-child{max-width:48rem}.course-detail-hero a{font-size:.72rem;text-decoration:none}.course-detail-symbol{display:grid;place-items:center;width:9rem;height:9rem;border-radius:2rem;background:var(--course-color);color:#fff;font-size:3.5rem}.course-description{margin-bottom:1rem;padding:1.2rem}.course-module-list>h2{margin:1rem 0}.course-module{margin-bottom:.7rem;overflow:hidden}.course-module>summary{display:flex;align-items:center;justify-content:space-between;padding:1rem;cursor:pointer}.course-module>summary>span{display:flex;align-items:center;gap:.7rem}.course-module>summary b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#6d4aa2;color:#fff}.course-module summary strong,.course-module summary small{display:block}.course-module>p{padding:0 1rem;color:var(--text-muted,#64748b)}.course-lesson-list{border-top:1px solid var(--border-color,#e2e8f0)}.course-lesson-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-color,#e2e8f0)}.course-lesson-icon,.dashboard-course-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.55rem;background:color-mix(in srgb,var(--course-color,#6d4aa2) 15%,#fff);color:var(--course-color,#6d4aa2)}.course-lesson-list small,.course-lesson-list strong{display:block}.course-lesson-list p{white-space:normal}.course-preview-badge{font-size:.6rem;color:#6d4aa2;font-weight:800}.course-no-lessons{padding:1rem;color:var(--text-muted,#64748b)}.course-admin-layout,.course-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,23rem);gap:1rem}.course-category-admin{padding-bottom:1rem}.course-category-admin>form,.course-category-list{padding:0 1rem}.course-category-list{display:grid;gap:.4rem;margin-top:1rem}.course-category-list span{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid var(--border-color,#e2e8f0);border-radius:.5rem}.course-audience-box{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0;padding:.75rem;border:1px solid var(--border-color,#e2e8f0);border-radius:.6rem}.course-audience-box strong{width:100%}.course-audience-box label{display:flex;gap:.3rem}.course-builder>aside{display:grid;align-content:start;gap:1rem}.course-builder>aside>section{padding:1rem}.course-builder-module{margin:.75rem;border:1px solid var(--border-color,#e2e8f0);border-radius:.65rem}.course-builder-module>summary{display:flex;justify-content:space-between;padding:.8rem;cursor:pointer}.course-builder-module>summary strong,.course-builder-module>summary small{display:block}.course-builder-module>form,.course-builder-lessons{padding:.75rem}.course-lesson-edit{margin-top:.7rem;padding:.75rem;border-top:1px solid var(--border-color,#e2e8f0)}.dashboard-course-list{display:grid;gap:.45rem}.dashboard-course-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem;border:1px solid var(--border-color,#e2e8f0);border-radius:.55rem;color:inherit;text-decoration:none}.dashboard-course-list strong,.dashboard-course-list small{display:block}.dashboard-course-list small{color:var(--text-muted,#64748b);font-size:.62rem}
@media(max-width:900px){.course-admin-layout,.course-builder{grid-template-columns:1fr}.course-detail-symbol{width:6rem;height:6rem;font-size:2.5rem}}
@media(max-width:650px){.course-hero,.course-detail-hero{align-items:flex-start;flex-direction:column}.course-filters{grid-template-columns:1fr}.course-filters .button{width:100%}.course-grid{grid-template-columns:1fr}.course-detail-symbol{display:none}}

/* Etapa 39.1 — precedência sobre o CSS legado de cursos */
.course-settings{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:20px;align-items:start}.course-settings-main,.course-settings-side{display:grid;gap:20px}.course-settings-side{position:sticky;top:calc(var(--topbar-height) + 18px)}.course-builder{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.course-builder-module{margin:0 0 14px;padding:0}.course-builder-module>summary{padding:18px 20px}.course-module-body{padding:20px}.course-builder-lessons{padding:18px 0 0}.course-lesson-edit{margin:0;padding:0}.course-detail-cover{width:min(380px,38%);aspect-ratio:16/9;object-fit:cover;border-radius:16px}.course-admin-layout{grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:start}.course-category-admin{position:sticky;top:calc(var(--topbar-height) + 18px)}
@media(max-width:1180px){.course-settings{grid-template-columns:1fr}.course-settings-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.course-save-bar{grid-column:1/-1}.course-builder{grid-template-columns:1fr}.course-builder>aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.course-admin-layout{grid-template-columns:1fr}.course-category-admin{position:static}}
@media(max-width:760px){.course-settings-side,.course-builder>aside{grid-template-columns:1fr}.course-cover-editor{grid-template-columns:1fr}.course-detail-cover{width:100%}.course-delete-form{margin:10px 0 0}}

/* Etapa 40 — matrículas, progresso e evidências */
.course-learning-hero{display:flex;justify-content:space-between;align-items:center}.course-learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.course-learning-card{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;padding:0;overflow:hidden;color:inherit;text-decoration:none}.course-learning-card>img,.course-learning-icon{width:145px;height:100%;min-height:150px;object-fit:cover}.course-learning-icon{display:grid;place-items:center;background:var(--course-color);color:#fff;font-size:2.6rem}.course-learning-card>div:last-child{padding:18px 18px 18px 0}.course-learning-card h2{font-size:1.05rem;margin:5px 0 18px}.course-learning-card small{color:var(--muted)}.course-learning-card footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:.75rem}.course-progress-line{width:100%;height:9px;border-radius:999px;background:var(--surface-hover);overflow:hidden}.course-progress-line>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#24a36a);transition:width .3s}.course-enrollment-box{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:20px}.course-enrollment-box>div{flex:1}.course-enrollment-box p{margin:5px 0}.course-enrollment-box [data-course-progress]{display:block;font-size:1.65rem;margin:3px 0}.course-enrollment-box .course-progress-line{max-width:580px}.course-lesson-list article.is-complete{background:color-mix(in srgb,var(--success,#198754) 7%,var(--surface))}.course-lesson-list article.is-complete .course-lesson-icon{background:var(--success,#198754);color:#fff}.course-video-rule,.course-locked{margin-top:8px;color:var(--muted)}.course-complete-button{margin-top:12px}.enrollment-admin-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.enrollment-assignment{position:sticky;top:calc(var(--topbar-height) + 18px);padding-bottom:18px}.enrollment-assignment>form{padding:0 18px}.enrollment-users{display:grid;max-height:360px;overflow:auto;margin:12px 0;padding:6px;border:1px solid var(--border);border-radius:12px}.enrollment-users>label{display:flex;gap:10px;align-items:center;padding:9px;border-radius:9px}.enrollment-users>label:hover{background:var(--surface-hover)}.enrollment-users span,.enrollment-users strong,.enrollment-users small{display:block}.enrollment-users small{color:var(--muted)}.enrollment-report{min-width:0}.enrollment-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) 150px auto;gap:8px;padding:0 18px 16px}.enrollment-progress-cell{display:flex;align-items:center;gap:8px}.evidence-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.evidence-summary article{padding:18px}.evidence-summary span,.evidence-summary strong{display:block}.evidence-summary span{color:var(--muted);font-size:.75rem}.evidence-summary strong{margin-top:5px;font-size:1.15rem}.evidence-events{margin-top:16px}
@media(max-width:1100px){.enrollment-admin-grid{grid-template-columns:1fr}.enrollment-assignment{position:static}.evidence-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.course-learning-hero,.course-enrollment-box{align-items:flex-start;flex-direction:column}.course-learning-card{grid-template-columns:1fr}.course-learning-card>img,.course-learning-icon{width:100%;height:150px}.course-learning-card>div:last-child{padding:16px}.enrollment-filters{grid-template-columns:1fr}.evidence-summary{grid-template-columns:1fr 1fr}}

/* Etapa 40.1 — retorno visível da sincronização do progresso */
.course-tracking-status{display:block;margin:0 0 8px;color:var(--muted);font-size:.72rem}.course-tracking-status.has-error{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger,#dc3545) 10%,transparent);color:var(--danger,#dc3545);font-weight:700}

/* Etapa 41 — avaliações da Universidade CVB */
.course-assessment-list{margin-top:24px}.assessment-cards{display:grid;gap:14px}.assessment-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px}.assessment-card h3,.assessment-card p{margin:3px 0}.assessment-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#efe8f8;color:#7044a2;font-size:1.35rem}.assessment-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.assessment-meta span{padding:5px 9px;border-radius:999px;background:var(--surface-hover);font-size:.75rem}.assessment-result{display:grid;text-align:center;gap:5px}.assessment-admin-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;align-items:start}.assessment-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--border)}.assessment-admin-list article>div:first-child{display:grid}.assessment-admin-list small{margin-top:3px}.assessment-editor,.assessment-settings{padding:20px}.assessment-checks{display:flex;flex-wrap:wrap;gap:12px 16px;margin:16px 0}.assessment-builder{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.85fr);gap:18px;margin-top:18px;align-items:start}.assessment-question-admin{margin-bottom:12px}.assessment-question-admin summary{display:flex;justify-content:space-between;gap:16px;padding:16px;cursor:pointer}.assessment-question-admin summary span{display:flex;gap:10px}.assessment-question-admin>div{padding:0 16px 16px}.assessment-question-admin ul{list-style:none;padding:0}.assessment-question-admin li{padding:6px}.assessment-question-admin li.is-correct{color:#087443}.assessment-alternative-editor{display:grid;gap:8px}.assessment-alternative-editor label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.assessment-hero,.assessment-result-hero,.assessment-attempt-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.assessment-overview{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}.assessment-overview>section{padding:20px}.assessment-rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.assessment-rule-grid span{display:grid;text-align:center;gap:3px;padding:13px;background:var(--surface-hover);border-radius:13px}.assessment-rule-grid i{color:#7044a2}.attempt-history{display:grid;gap:9px}.attempt-history article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--border);border-radius:11px}.attempt-history article>div{display:grid}.assessment-timer{display:grid;text-align:center;padding:10px 16px;border-radius:13px;background:#eef7ff;color:#075985}.assessment-timer.is-ending{background:#fff0ed;color:#b42318}.assessment-timer strong{font-size:1.45rem}.assessment-attempt-form{display:grid;gap:16px;margin-top:16px}.assessment-question{padding:20px;border:0}.assessment-question legend{display:flex;gap:12px;font-size:1.05rem;font-weight:700}.assessment-question legend span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#7044a2;color:#fff}.assessment-options{display:grid;gap:10px;margin-top:16px}.assessment-options label{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:13px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.assessment-options label:has(input:checked){border-color:#7044a2;background:#f7f2fc}.assessment-submit-bar{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px;background:var(--surface);border-radius:13px;box-shadow:0 -8px 22px rgba(0,0,0,.08)}.assessment-score{display:grid;place-items:center;min-width:145px;padding:16px;border-radius:16px}.assessment-score strong{font-size:1.8rem}.assessment-score.is-approved{background:#e9f8ef;color:#087443}.assessment-score.is-failed{background:#fff0ed;color:#b42318}.assessment-review{display:grid;gap:16px;margin-top:16px}.assessment-review-question{padding:19px;border-left:4px solid #b42318}.assessment-review-question.is-correct{border-left-color:#087443}.assessment-review-question header{display:flex;gap:12px}.assessment-review-question header>span{font-weight:800}.assessment-review-question header>div{display:grid}.assessment-review-question ul{list-style:none;padding:0}.assessment-review-question li{padding:7px;border-radius:8px}.assessment-review-question li i{margin-right:8px}.assessment-review-question li.is-correct{background:#e9f8ef;color:#087443}.assessment-review-question li.is-selected{background:var(--surface-hover)}.assessment-evidence-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px}.assessment-evidence-meta span{display:grid}.field-label{font-weight:700;margin-bottom:7px}
.assessment-evidence-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:16px}.assessment-evidence-link>div{display:grid}
@media(max-width:980px){.assessment-admin-grid,.assessment-builder,.assessment-overview{grid-template-columns:1fr}.assessment-rule-grid,.assessment-evidence-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.assessment-card,.assessment-admin-list article{display:flex;flex-direction:column;align-items:stretch}.assessment-rule-grid,.assessment-evidence-meta{grid-template-columns:1fr 1fr}.assessment-hero,.assessment-result-hero,.assessment-attempt-header{align-items:flex-start;flex-direction:column}.assessment-submit-bar{flex-direction:column}.assessment-submit-bar .button{width:100%}}

/* Etapa 42 — certificados */
.certificate-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.certificate-user-card{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:20px}.certificate-user-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#fff4d6;color:#a36700;font-size:1.7rem}.certificate-user-card h2{margin:4px 0 8px;font-size:1.05rem}.certificate-user-card p{margin:6px 0;color:var(--muted)}.certificate-user-card code,.certificate-admin-list code{font-size:.7rem}.certificate-admin-filter{margin-bottom:16px;padding:16px}.certificate-admin-filter form{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;align-items:end;gap:10px}.certificate-admin-list{margin-top:16px}.status-expirado{background:#fff0ed;color:#b42318}.button-danger{background:#b42318;color:#fff;border-color:#b42318}.certificate-public-body{min-height:100vh;margin:0;background:#f2f5f8;color:#172033;font-family:Inter,Segoe UI,Arial,sans-serif}.certificate-public-header{padding:18px clamp(20px,5vw,64px);background:#a61932;color:#fff}.certificate-public-header a{display:grid;color:inherit;text-decoration:none}.certificate-public-header strong{font-size:1.1rem}.certificate-public-header span{font-size:.72rem;opacity:.85}.certificate-public-main{width:min(880px,calc(100% - 32px));margin:40px auto}.certificate-public-footer{text-align:center;padding:24px;color:#667085;font-size:.75rem}.certificate-validation-shell{display:grid;gap:18px}.certificate-validation-intro,.certificate-validation-search,.certificate-validation-result{padding:clamp(22px,4vw,38px);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(15,23,42,.08)}.certificate-validation-intro h1{margin:.3rem 0}.certificate-validation-search .field>div{display:grid;grid-template-columns:1fr auto;gap:10px}.certificate-validation-result{display:grid;grid-template-columns:auto 1fr;gap:18px;border-left:6px solid #b42318}.certificate-validation-result.valid{border-left-color:#087443}.certificate-validation-result>i{font-size:2rem;color:#b42318}.certificate-validation-result.valid>i{color:#087443}.certificate-validation-result h2{margin:2px 0 15px}.certificate-validation-result dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.certificate-validation-result dl>div{padding:11px;border-radius:10px;background:#f7f9fb}.certificate-validation-result dt{font-size:.68rem;color:#667085}.certificate-validation-result dd{margin:3px 0 0;font-weight:700}.certificate-reason{padding:10px;border-radius:8px;background:#fff0ed}
@media(max-width:760px){.certificate-admin-filter form,.certificate-validation-search .field>div,.certificate-validation-result dl{grid-template-columns:1fr}.certificate-user-card,.certificate-validation-result{grid-template-columns:1fr}.certificate-public-main{margin:20px auto}.certificate-validation-search .button{width:100%}}

/* Etapa 42.2 — identidade da Universidade e template */
.certificate-template-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.certificate-template-form>section{padding-bottom:20px}.certificate-template-form .course-save-bar{grid-column:1/-1}.certificate-logo-editor{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:center;margin-top:16px}.certificate-logo-editor>img,.certificate-logo-editor>div{width:170px;height:95px;object-fit:contain;border:1px dashed var(--border);border-radius:12px;background:#fff;padding:10px}.certificate-logo-editor>div{display:grid;place-items:center;text-align:center;color:var(--muted)}.certificate-logo-editor>div i{font-size:1.6rem}
.certificate-signature-panel{grid-column:1/-1}.certificate-signature-panel .certificate-logo-editor>img{object-fit:contain}
@media(max-width:900px){.certificate-template-form{grid-template-columns:1fr}.certificate-logo-editor{grid-template-columns:1fr}.certificate-logo-editor>img,.certificate-logo-editor>div{width:100%;max-width:260px}}
.connector-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.connector-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.connector-summary-grid article,.connector-list article{background:var(--surface,#fff);border:1px solid var(--border,#dbe3ec);border-radius:16px;padding:1rem}.connector-summary-grid strong{display:block;font-size:1.7rem}.connector-summary-grid span,.connector-head small,.connector-meta span{color:var(--muted,#64748b)}.connector-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.connector-head{display:flex;align-items:center;gap:.75rem}.connector-head>div{display:flex;flex-direction:column;flex:1}.connector-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e0f2fe;color:#075985}.connector-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.75rem 0}.connector-meta span{display:flex;flex-direction:column;font-size:.85rem}.connector-error{display:block;color:#b42318;background:#fef3f2;padding:.5rem;border-radius:8px}.connector-form h3{margin:1.25rem 0 .65rem}.connector-options{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.api-client-editor{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border,#dbe3ec)}.api-client-editor summary{cursor:pointer;font-weight:700;margin-bottom:.75rem}@media(max-width:800px){.connector-hero{align-items:flex-start;flex-direction:column}.connector-summary-grid,.connector-list{grid-template-columns:1fr}.connector-meta{grid-template-columns:1fr}}
.clinical-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem}.clinical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.clinical-grid article{padding:1rem;border-top:4px solid var(--indicator-color)}.clinical-grid header{display:flex;gap:.7rem;align-items:center}.clinical-grid header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--indicator-color) 14%,#fff);color:var(--indicator-color)}.clinical-grid h2{font-size:1rem;margin:.1rem 0}.clinical-grid>article>strong{display:block;font-size:1.8rem;margin:.9rem 0}.clinical-spark{display:flex;align-items:end;height:90px;gap:3px;margin:1rem 0;border-bottom:1px solid var(--border)}.clinical-spark i{flex:1;min-width:3px;background:var(--indicator-color);border-radius:3px 3px 0 0}.clinical-grid footer{font-size:.7rem;color:var(--muted)}.clinical-admin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1rem}.clinical-form{padding:1rem}.clinical-admin-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.7rem;padding:.8rem;border-bottom:1px solid var(--border)}.clinical-admin-list article>div{display:grid}.clinical-admin-list small{color:var(--muted)}@media(max-width:900px){.clinical-admin-layout{grid-template-columns:1fr}.clinical-hero{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.clinical-admin-list article{grid-template-columns:1fr}}

/* Etapa 47.1 — categorias do cardápio */
.cafeteria-category-editor{margin:.9rem 0;padding:1rem;border:1px solid var(--border-color,#dbe3ec);border-radius:.75rem;background:var(--surface-muted,#f8fafc)}.cafeteria-category-editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.cafeteria-category-editor-head strong,.cafeteria-category-editor-head small{display:block}.cafeteria-category-editor-head small{margin-top:.15rem;color:var(--text-muted,#64748b)}.cafeteria-category-rows{display:grid;gap:.75rem}.cafeteria-category-row{padding:.85rem;border:1px solid var(--border-color,#dbe3ec);border-radius:.65rem;background:var(--institutional-panel,#fff)}.cafeteria-category-fields{grid-template-columns:minmax(0,1fr) 7rem 2.5rem;align-items:end}.cafeteria-category-remove{height:2.5rem;border:1px solid #fecaca;border-radius:.5rem;background:#fff;color:#b91c1c;cursor:pointer}.cafeteria-category-list{display:grid;gap:.55rem}.cafeteria-category{padding:.5rem .6rem;border-left:3px solid #22c55e;border-radius:.35rem;background:var(--surface-muted,#f8fafc)}.cafeteria-category>strong{display:block;color:#166534;font-size:.7rem}.cafeteria-category ul{margin:.25rem 0 0}.cafeteria-admin-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}.cafeteria-admin-categories>section{padding:.45rem;border-radius:.4rem;background:var(--surface-muted,#f8fafc)}.cafeteria-admin-categories>section>strong{color:#166534;font-size:.68rem}@media(max-width:700px){.cafeteria-category-editor-head{align-items:stretch;flex-direction:column}.cafeteria-category-editor-head .button{width:100%}.cafeteria-category-fields{grid-template-columns:minmax(0,1fr) 5rem 2.5rem}}

/* Etapa 47.2 — visualização protegida de documentos */
.document-print-option{margin:1rem 0;padding:.85rem;border:1px solid var(--border-color,#dbe3ec);border-radius:.65rem;background:var(--surface-muted,#f8fafc)}.document-print-option>span strong,.document-print-option>span small{display:block}.document-print-option>span small{margin-top:.15rem;color:var(--text-muted,#64748b);font-weight:400}.document-access-actions{display:flex;gap:.55rem;flex-wrap:wrap}.document-protection-note{display:flex;align-items:center;gap:.65rem;margin-top:.8rem;padding:.7rem;border-radius:.55rem;background:#fff7ed;color:#9a3412}.document-protection-note>i{font-size:1.2rem}.document-protection-note strong,.document-protection-note small{display:block}.document-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:1rem}.document-viewer-head a{color:inherit;text-decoration:none}.document-viewer-head h1{margin:.3rem 0 .1rem;font-size:1.15rem}.document-viewer-head p{margin:0;color:var(--text-muted,#64748b)}.document-viewer-actions>span{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.7rem;font-weight:800}.document-protection-banner{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem .8rem;border:1px solid #fed7aa;border-radius:.55rem;background:#fff7ed;color:#9a3412;font-size:.72rem}.document-viewer-shell{position:relative;min-height:70vh;overflow:auto;border:1px solid var(--border-color,#dbe3ec);border-radius:.7rem;background:#525659}.document-viewer-shell iframe{display:block;width:100%;height:75vh;border:0}.document-viewer-shell img{display:block;max-width:100%;margin:auto;user-select:none}.document-viewer-shell.is-protected:after{content:'VISUALIZAÇÃO CONTROLADA';position:absolute;right:1rem;bottom:1rem;pointer-events:none;color:rgba(166,25,50,.28);font-size:.75rem;font-weight:900;letter-spacing:.08em}.document-print-blocked .document-viewer-shell{display:none!important}.document-print-blocked:after{content:'Impressão não autorizada';display:block;padding:3rem;text-align:center;font-size:1.5rem;font-weight:800}@media(max-width:700px){.document-viewer-head{align-items:stretch;flex-direction:column}.document-access-actions,.document-access-actions .button{width:100%}.document-viewer-shell iframe{height:68vh}}

/* Etapa 47.3 — comunicados institucionais no topo */
.feed-main-column{display:flex;flex-direction:column}.feed-notices-panel{order:-30}.feed-news-carousel{order:-20}.feed-composer{order:-10}.feed-priority-field{margin:.75rem 0}.feed-highlight-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.feed-highlight-title>span{display:inline-flex;padding:.18rem .42rem;border-radius:999px;font-size:.56rem;font-weight:900;text-transform:uppercase}.feed-highlight-title .priority-1{background:#fef3c7;color:#92400e}.feed-highlight-title .priority-2{background:#fee2e2;color:#991b1b}.feed-notice-item:has(.priority-2){background:linear-gradient(90deg,rgba(220,38,38,.07),transparent)}

/* Etapa 47.4 — anexos em páginas temáticas */
.thematic-editor-shortcuts{position:sticky;top:calc(var(--topbar-height,72px) + .5rem);z-index:4;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem;padding:.75rem 1rem;border:1px solid #bfdbfe;border-radius:.75rem;background:color-mix(in srgb,#eff6ff 94%,transparent);box-shadow:0 5px 18px rgba(15,23,42,.08)}.thematic-editor-shortcuts>span{display:flex;align-items:center;gap:.45rem;margin-right:auto;font-weight:800;color:#075985}.thematic-block-admin,.thematic-attachment-admin{scroll-margin-top:calc(var(--topbar-height,72px) + 5rem)}
.thematic-attachment-admin{margin-top:1rem}.thematic-attachment-admin-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1rem;padding:1rem}.thematic-attachment-form,.thematic-attachment-existing-card{padding:1rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.75rem;background:var(--surface-muted,#f8fafc)}.thematic-attachment-form h3{margin-top:0}.thematic-attachment-existing{display:grid;gap:.75rem}.thematic-attachment-existing-card{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end}.thematic-attachment-existing-card>form:first-of-type{display:grid;gap:.65rem}.thematic-attachment-existing-card header,.thematic-public-attachment header{display:flex;align-items:center;gap:.75rem}.thematic-attachment-existing-card header div,.thematic-attachment-existing-card header strong,.thematic-attachment-existing-card header small{display:block;min-width:0}.thematic-attachment-existing-card header strong{overflow-wrap:anywhere}.thematic-attachment-existing-card header small{margin-top:.2rem;color:var(--text-muted,var(--muted,#64748b));font-size:.68rem}.thematic-file-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:.65rem;background:#e0f2fe;color:#075985;font-size:1.2rem}.thematic-public-attachments{margin-top:1rem}.thematic-public-attachment-list{display:grid;gap:.8rem;padding:1rem}.thematic-public-attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.75rem}.thematic-public-attachment h2{margin:0;font-size:1rem}.thematic-public-attachment p{margin:.25rem 0;color:var(--text-muted,var(--muted,#64748b))}.thematic-public-attachment small{color:var(--text-muted,var(--muted,#64748b));font-size:.68rem}.thematic-public-attachment.is-inline{grid-template-columns:1fr}.thematic-public-attachment.is-inline iframe{width:100%;height:min(70vh,680px);border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.6rem;background:#fff}.thematic-public-attachment.is-inline>img{display:block;max-width:100%;max-height:680px;margin:auto;border-radius:.6rem}.thematic-public-attachment.is-inline>.button{justify-self:start}
@media(max-width:900px){.thematic-attachment-admin-grid{grid-template-columns:1fr}}
@media(max-width:640px){.thematic-editor-shortcuts{position:static}.thematic-editor-shortcuts>span,.thematic-editor-shortcuts .button{width:100%}.thematic-attachment-existing-card,.thematic-public-attachment{grid-template-columns:1fr}.thematic-attachment-existing-card .button,.thematic-public-attachment>.button{width:100%}.thematic-public-attachment.is-inline iframe{height:60vh}}

/* Etapa 47.5 — campanhas comemorativas e pop-ups */
.campaign-display-settings{margin:1rem 0;padding:1rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.75rem;background:var(--surface-muted,#f8fafc)}.campaign-display-settings h2{margin:0 0 .85rem;font-size:1rem}.campaign-popup-frequency{max-width:32rem;margin-top:.75rem}.campaign-caption small{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.campaign-popup[hidden]{display:none!important}.campaign-popup{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:1rem}.campaign-popup-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}.campaign-popup-dialog{position:relative;width:min(680px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1rem;background:var(--surface,#fff);box-shadow:0 30px 90px rgba(0,0,0,.35);animation:campaign-popup-in .22s ease-out}.campaign-popup-dialog>img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:1rem 1rem 0 0}.campaign-popup-content{padding:1.25rem}.campaign-popup-content h2{margin:.55rem 0 .35rem;font-size:clamp(1.35rem,3vw,2rem)}.campaign-popup-content p{margin:.25rem 0 1rem;color:var(--text-muted,var(--muted,#64748b));line-height:1.55}.campaign-popup-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;background:#fff1f2;color:#a61932;font-size:.65rem;font-weight:900;text-transform:uppercase}.campaign-popup-close{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(15,23,42,.72);color:#fff;cursor:pointer}.campaign-popup-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.campaign-popup-open{overflow:hidden}@keyframes campaign-popup-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.campaign-popup{padding:.5rem}.campaign-popup-dialog{max-height:calc(100vh - 1rem)}.campaign-popup-dialog>img{max-height:260px}.campaign-popup-actions,.campaign-popup-actions .button{width:100%}}
/* Etapa 49 — administração descentralizada */
.delegation-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.delegation-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1rem;align-items:start}.delegation-form{display:grid;gap:1rem}.delegation-form .span-2{grid-column:1/-1}.delegation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.delegation-options>label{display:block}.delegation-options>label>input{position:absolute;opacity:0;pointer-events:none}.delegation-options>label>span{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;height:100%;padding:.75rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.65rem;cursor:pointer}.delegation-options>label>span>i{grid-row:1/3;font-size:1.15rem;color:#7044a2}.delegation-options small{color:var(--text-muted,var(--muted,#64748b))}.delegation-options input:checked+span{border-color:#7044a2;background:color-mix(in srgb,#7044a2 8%,var(--surface,#fff));box-shadow:0 0 0 2px color-mix(in srgb,#7044a2 18%,transparent)}.delegation-scopes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.delegation-scopes>section{display:flex;flex-direction:column;gap:.35rem;padding:.8rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.65rem;max-height:19rem;overflow:auto}.delegation-scopes h3,.delegation-scopes p{margin:0 0 .3rem}.delegation-list{display:grid;gap:.75rem}.delegation-list article{display:grid;gap:.45rem;padding:.8rem;border:1px solid var(--border-color,var(--border,#dbe3ec));border-radius:.7rem}.delegation-list header,.delegation-list footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.delegation-list header div,.delegation-list header small,.delegation-list article>small{display:block}.delegation-list footer form{margin:0}.delegation-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.delegation-card-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1rem;color:inherit;text-decoration:none}.delegation-card-grid>a>i:first-child{font-size:1.35rem;color:#7044a2}.delegation-card-grid strong,.delegation-card-grid small{display:block}.delegation-card-grid small{color:var(--text-muted,var(--muted,#64748b))}.delegation-users{margin-top:1rem}
@media(max-width:980px){.delegation-layout{grid-template-columns:1fr}}@media(max-width:680px){.delegation-hero{align-items:stretch;flex-direction:column}.delegation-options,.delegation-scopes{grid-template-columns:1fr}.delegation-form .span-2{grid-column:auto}.delegation-list header,.delegation-list footer{align-items:stretch;flex-direction:column}.delegation-list footer .button,.delegation-list footer form{width:100%}}

/* Etapa 53 — Progressive Web App */
.pwa-install-button[hidden],.pwa-floating-install[hidden]{display:none!important}.pwa-floating-install{position:fixed;right:1rem;bottom:1rem;z-index:1450;gap:.45rem;box-shadow:0 12px 32px rgba(15,23,42,.25)}.pwa-notice{position:fixed;right:1rem;bottom:1rem;z-index:1600;display:flex;align-items:center;gap:.8rem;max-width:min(440px,calc(100vw - 2rem));padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--primary,#0F5F95) 35%,var(--border,#dbe3ec));border-radius:.75rem;background:var(--surface,#fff);color:var(--text,#14213d);box-shadow:0 18px 48px rgba(15,23,42,.24);opacity:0;pointer-events:none;transform:translateY(16px);transition:.2s ease}.pwa-notice.is-visible{opacity:1;pointer-events:auto;transform:none}.pwa-notice span{flex:1}.pwa-notice button{padding:.45rem .7rem;border:0;border-radius:.45rem;background:var(--primary,#0F5F95);color:#fff;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}@media(max-width:600px){.pwa-floating-install{right:.75rem;bottom:.75rem}.pwa-notice{right:.5rem;bottom:.5rem;max-width:calc(100vw - 1rem);align-items:stretch;flex-direction:column}.pwa-notice button{width:100%}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.pwa-install-button,.pwa-floating-install{display:none!important}}

/* Etapa 54 — Mobile */
.mobile-bottom-nav{display:none}
@media(max-width:720px){
  :root{--mobile-nav-height:68px;--topbar-height:60px}
  html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-height) + 10px)}
  body{overflow-x:hidden;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));touch-action:manipulation}
  .institutional-topbar{height:var(--topbar-height);padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:7px}
  .institutional-brand-area{min-width:0;flex:1}.institutional-wordmark{min-width:0}.institutional-brand-logo{max-width:118px;max-height:38px}.institutional-wordmark span{font-size:.78rem}.institutional-wordmark small{display:none}
  .institutional-page-name,.institutional-profile,.institutional-logout-form,.institutional-topbar-actions>a[title="Abrir notificações"]{display:none!important}
  .institutional-topbar-actions{gap:5px}.institutional-action-button{width:40px;height:40px}
  .content-area{padding:14px 11px 20px}.content-container{max-width:100%;overflow:clip}
  .hero,.card,.section-card{border-radius:13px;padding:15px}.hero h1{font-size:clamp(1.35rem,7vw,1.8rem)}
  .section-block{margin-top:18px}.section-title-row{gap:8px;margin-bottom:10px}.section-title-row h2{font-size:1.08rem}
  .dashboard-grid,.grid{gap:11px}.metric-card{min-height:94px;padding:14px}.metric-icon{width:42px;height:42px}
  .button,button,input,select,textarea{font-size:16px}.button,button.button{min-height:44px;justify-content:center}input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px}
  .form-grid,.form-grid.three-cols{gap:12px}.field{min-width:0}.field input,.field select,.field textarea{width:100%;max-width:100%}
  .modal,.dialog,.campaign-popup-dialog{max-height:calc(100dvh - 12px)}
  .table-responsive,.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:12px}
  .mobile-table-scroll{position:relative;border:1px solid var(--border,#dbe3ec)}.mobile-table-scroll:after{content:'Deslize para ver mais';position:sticky;left:8px;bottom:5px;display:inline-block;margin:5px;padding:3px 7px;border-radius:999px;background:rgba(15,35,55,.78);color:#fff;font-size:.58rem;pointer-events:none}
  .table{min-width:680px;margin-top:0}.table th,.table td{padding:11px 10px;white-space:normal}.table td .button{min-height:38px}
  .admin-tabs,.search-type-filters{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.admin-tabs::-webkit-scrollbar,.search-type-filters::-webkit-scrollbar{display:none}.admin-tabs a{flex:0 0 auto;min-height:44px;padding:.65rem .8rem}
  .filter-actions,.migration-actions,.course-save-bar,.cafeteria-form-actions,.campaign-popup-actions{width:100%}.filter-actions>* ,.migration-actions>* ,.course-save-bar>* ,.cafeteria-form-actions>*{flex:1 1 100%}
  .sidebar{width:min(88vw,340px)!important;padding-bottom:env(safe-area-inset-bottom,0px)}.sidebar-nav{padding:10px 10px 22px}.nav-item{min-height:48px;margin:2px 0}.sidebar-mobile-heading{min-height:58px}
  .rightbar{width:min(92vw,370px)!important}
  .mobile-bottom-nav{position:fixed;z-index:1200;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:5px max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-left));border-top:1px solid var(--border,#dbe3ec);background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);box-shadow:0 -8px 28px rgba(15,23,42,.1);backdrop-filter:blur(15px)}
  .mobile-bottom-nav>a,.mobile-bottom-nav>button{position:relative;display:flex;min-width:0;min-height:56px;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--muted,#64748b);text-decoration:none;font:inherit;cursor:pointer}
  .mobile-bottom-nav i{font-size:1.18rem}.mobile-bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.6rem;font-weight:750;white-space:nowrap}.mobile-bottom-nav .active{color:var(--primary,#0f5f95);background:var(--primary-soft,#edf6f8)}.mobile-bottom-nav b{position:absolute;top:2px;left:calc(50% + 7px);display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--surface,#fff);border-radius:999px;background:var(--danger,#dc2626);color:#fff;font-size:.52rem}
  .mobile-keyboard-open .mobile-bottom-nav{display:none}.mobile-keyboard-open{padding-bottom:0}
  .pwa-floating-install,.pwa-notice{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 8px)}
}
@media(max-width:390px){.content-area{padding-left:8px;padding-right:8px}.institutional-topbar-actions .pwa-install-button{display:none!important}.mobile-bottom-nav span{font-size:.56rem}}
@media(hover:none) and (pointer:coarse){a,button,[role="button"]{-webkit-tap-highlight-color:transparent}.nav-item:hover{background:transparent}.nav-item.active:hover{background:var(--primary-soft)}}
@media(prefers-reduced-motion:reduce){.sidebar,.pwa-notice,.campaign-popup-dialog{transition:none!important;animation:none!important}}

/* Etapa 55 — Segurança avançada */
.security-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.security-shield{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:999px;background:#dcfce7;color:#166534;font-weight:850}.security-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.security-kpis article{display:flex;align-items:center;gap:.8rem}.security-kpis article>i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:1.2rem}.security-kpis small,.security-kpis strong{display:block}.security-kpis strong{font-size:1.65rem}.security-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:1rem;align-items:start}.security-config{margin:0}.security-check{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;border:1px solid var(--border);border-radius:.65rem}.security-check span,.security-check small{display:block}.security-check small{margin-top:.2rem;color:var(--muted)}.security-note{display:flex;gap:.6rem;margin:1rem 0;padding:.75rem;border-radius:.65rem;background:#eff6ff;color:#1e40af}.security-headers{margin:0;position:sticky;top:calc(var(--topbar-height) + 1rem)}.security-headers h2{font-size:1.05rem}.security-headers ul{padding-left:1.2rem;line-height:1.8}.security-agent{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-risk{display:inline-flex;padding:.22rem .48rem;border-radius:999px;font-size:.6rem;font-weight:900}.risk-baixo{background:#dcfce7;color:#166534}.risk-medio{background:#fef3c7;color:#92400e}.risk-alto,.risk-critico{background:#fee2e2;color:#991b1b}.data-table td>small{display:block;color:var(--muted)}
@media(max-width:1000px){.security-kpis{grid-template-columns:repeat(2,1fr)}.security-layout{grid-template-columns:1fr}.security-headers{position:static}}@media(max-width:600px){.security-hero{align-items:stretch;flex-direction:column}.security-shield{justify-content:center}.security-kpis{grid-template-columns:1fr 1fr;gap:.6rem}.security-kpis article{padding:.75rem}.security-kpis article>i{width:36px;height:36px}.security-kpis strong{font-size:1.3rem}}

/* Etapa 56 — Backup e restauração */
.backup-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.backup-hero form{display:flex;align-items:center;gap:.55rem}.backup-hero select{min-height:44px;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);color:var(--text);padding:0 .7rem}.backup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.backup-kpis small,.backup-kpis strong{display:block}.backup-kpis strong{margin-top:.3rem;font-size:1.55rem}.backup-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:1rem}.backup-layout>.section-card{margin:0}.backup-location{text-align:center}.backup-location>i{font-size:2rem;color:#087443}.backup-location code{display:block;margin:.7rem 0}.backup-location small{color:var(--muted)}.backup-actions{display:flex;gap:.35rem;flex-wrap:wrap}.backup-actions form{margin:0}.restore-confirmation{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:1rem;border-color:#fca5a5;background:#fff7f7}.restore-confirmation form{display:grid;gap:.7rem}.backup-guidance>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0}.backup-guidance span{display:flex;align-items:center;gap:.5rem;padding:.7rem;border-radius:.6rem;background:var(--surface-soft)}.backup-guidance b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#087443;color:#fff}.backup-guidance p{color:var(--muted)}
@media(max-width:950px){.backup-layout,.restore-confirmation{grid-template-columns:1fr}.backup-guidance>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.backup-hero{align-items:stretch;flex-direction:column}.backup-hero form{align-items:stretch;flex-direction:column}.backup-kpis{grid-template-columns:1fr 1fr;gap:.6rem}.backup-guidance>div{grid-template-columns:1fr}.backup-actions,.backup-actions>*{width:100%}.backup-actions .button{width:100%}}

/* Etapa 57 — Migração de conteúdo */
.migration-content-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.migration-content-hero>span{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .8rem;border-radius:999px;background:#ede9fe;color:#5b21b6;font-weight:800}.content-migration-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.content-migration-kpis small,.content-migration-kpis strong{display:block}.content-migration-kpis strong{font-size:1.55rem;margin-top:.25rem}.migration-content-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1rem}.migration-content-layout>.section-card{margin:0}.migration-templates>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.65rem;border-top:1px solid var(--border);color:inherit;text-decoration:none}.migration-templates>a>i:first-child{color:#087443;font-size:1.25rem}.migration-templates strong,.migration-templates small{display:block}.migration-templates small{color:var(--muted)}.migration-preview{border-color:#c4b5fd}.migration-preview-table{max-height:420px}.migration-execution-actions{display:flex;align-items:end;gap:1rem;justify-content:flex-end;margin-top:1rem}.migration-execution-actions form{display:flex;align-items:end;gap:.6rem}.migration-order>div{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin:1rem 0}.migration-order span{display:flex;align-items:center;gap:.5rem;padding:.7rem;border-radius:.6rem;background:var(--surface-soft)}.migration-order b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#7044a2;color:#fff}.migration-order p{color:var(--muted)}
@media(max-width:950px){.migration-content-layout{grid-template-columns:1fr}.migration-order>div{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.migration-content-hero{align-items:stretch;flex-direction:column}.migration-content-hero>span{border-radius:.7rem}.content-migration-kpis{grid-template-columns:1fr 1fr;gap:.6rem}.migration-execution-actions,.migration-execution-actions form{align-items:stretch;flex-direction:column;width:100%}.migration-order>div{grid-template-columns:1fr}}

/* Etapa 59.1 — avisos compactos e confirmação de leitura */
.feed-notice-ticker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;min-height:58px;margin-bottom:1rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--institutional-red) 45%,var(--border));border-radius:.7rem;background:var(--surface,#fff);box-shadow:0 6px 18px rgba(15,23,42,.07)}
.feed-notice-ticker-label{display:flex;align-items:center;gap:.45rem;padding:.7rem 1.2rem;background:var(--institutional-red);color:#fff;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}.feed-notice-ticker-label i{font-size:1.15rem}.feed-notice-ticker-label span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:var(--institutional-red);font-size:.62rem;font-weight:900}
.feed-notice-ticker-items{position:relative;min-width:0;min-height:58px}.feed-notice-ticker-item{position:absolute;inset:0;display:flex;width:100%;min-width:0;align-items:center;gap:.65rem;padding:.55rem .8rem;border:0;background:transparent;color:inherit;text-align:left;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease;cursor:pointer}.feed-notice-ticker-item.is-active{opacity:1;pointer-events:auto;transform:none}.feed-notice-ticker-item strong{flex:0 0 auto;max-width:32%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-notice-ticker-item span{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.feed-notice-ticker-item b{flex:0 0 auto;padding:.2rem .42rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.55rem;text-transform:uppercase}.feed-notice-ticker-controls{display:flex;align-items:center;padding:.3rem}.feed-notice-ticker-controls button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:.45rem;background:transparent;color:var(--muted);cursor:pointer}.feed-notice-ticker-controls button:hover{background:var(--surface-soft)}
.notice-modal[hidden]{display:none}.notice-modal{position:fixed;z-index:1900;inset:0;display:grid;place-items:center;padding:1rem}.notice-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}.notice-modal-dialog{position:relative;width:min(680px,100%);max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--border);border-radius:.85rem;background:var(--surface,#fff);box-shadow:0 28px 80px rgba(0,0,0,.3)}.notice-modal-dialog>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.notice-modal-dialog>header h2{margin:.15rem 0 0;font-size:1.15rem}.notice-modal-dialog>header small{color:var(--muted)}.notice-modal-dialog>header>button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.notice-modal-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--institutional-red);color:#fff}.notice-modal-content{padding:1.25rem;line-height:1.65;white-space:normal}.notice-modal-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;border-top:1px solid var(--border);background:var(--surface-soft)}.notice-modal-dialog>footer>small{color:var(--muted)}.notice-modal-dialog>footer>div{display:flex;align-items:center;gap:.55rem}.notice-read-status{display:inline-flex;align-items:center;gap:.4rem;color:#166534;font-size:.72rem;font-weight:800}.notice-confirm-error{color:#b91c1c!important}.notice-modal-open{overflow:hidden}
@media(max-width:680px){.feed-notice-ticker{grid-template-columns:auto minmax(0,1fr)}.feed-notice-ticker-label{padding:.65rem .9rem}.feed-notice-ticker-label strong{display:none}.feed-notice-ticker-item{align-items:flex-start;justify-content:center;flex-direction:column;gap:.12rem}.feed-notice-ticker-item strong{max-width:100%;font-size:.78rem}.feed-notice-ticker-item span{width:100%;font-size:.66rem}.feed-notice-ticker-item b{display:none}.feed-notice-ticker-controls{display:none}.notice-modal{padding:.4rem}.notice-modal-dialog{max-height:calc(100dvh - .8rem)}.notice-modal-dialog>footer{align-items:stretch;flex-direction:column}.notice-modal-dialog>footer>div{display:grid;grid-template-columns:1fr}.notice-modal-dialog>footer .button{width:100%}}
/* Etapa 59.1.2 — Administração LDAP */
.ldap-admin-form,.ldap-section{margin-top:1rem}.ldap-section{padding:1.15rem}.ldap-section>header{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1rem}.ldap-section>header>span{display:grid;place-items:center;min-width:2.35rem;height:2.35rem;border-radius:50%;background:#a61932;color:#fff;font-weight:800}.ldap-section>header h2{margin:0}.ldap-section>header p{margin:.25rem 0 0;color:#64748b}.ldap-checks{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.ldap-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ldap-test-grid>.card{padding:1rem;margin:0}.ldap-test-grid h3{margin-top:0}.ldap-user-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.ldap-user-result>div{padding:.8rem;border:1px solid #e2e8f0;border-radius:.65rem}.ldap-user-result .wide{grid-column:1/-1}.ldap-user-result dt{font-size:.75rem;text-transform:uppercase;font-weight:800;color:#64748b}.ldap-user-result dd{margin:.25rem 0 0;overflow-wrap:anywhere}@media(max-width:850px){.ldap-test-grid,.ldap-user-result{grid-template-columns:1fr}}

/* Etapa 59.1.3 — Central do mural e navegação administrativa */
.admin-menu-group{margin:.15rem 0;border-radius:.65rem}.admin-menu-group>summary{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:.55rem;padding:.58rem .72rem;color:var(--muted);font-size:.72rem;font-weight:850;cursor:pointer;list-style:none}.admin-menu-group>summary::-webkit-details-marker{display:none}.admin-menu-group>summary:hover{background:var(--surface-soft);color:var(--text)}.admin-menu-group[open]>summary{color:var(--primary);background:var(--primary-soft)}.admin-group-chevron{transition:transform .2s}.admin-menu-group[open] .admin-group-chevron{transform:rotate(180deg)}.admin-menu-group-items{padding:.2rem 0 .35rem .45rem}.admin-menu-group-items .nav-item{font-size:.73rem}html.sidebar-is-collapsed .admin-menu-group>summary{grid-template-columns:1fr;justify-items:center}html.sidebar-is-collapsed .admin-group-chevron{display:none}html.sidebar-is-collapsed .admin-menu-group-items{padding-left:0}
.feed-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem}.feed-admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.feed-admin-kpis article{margin:0}.feed-admin-kpis small,.feed-admin-kpis strong{display:block}.feed-admin-kpis strong{font-size:1.65rem;margin-top:.25rem}.feed-admin-filters{grid-template-columns:minmax(210px,2fr) repeat(4,minmax(125px,1fr)) auto}.feed-admin-list{display:grid;gap:1rem;margin-top:1rem}.feed-admin-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.feed-admin-title{display:flex;align-items:flex-start;gap:.75rem}.feed-admin-title h2{font-size:1.05rem;margin:0}.feed-admin-title small{color:var(--muted)}.feed-type,.feed-status,.feed-read-state{display:inline-flex;align-items:center;padding:.25rem .48rem;border-radius:999px;font-size:.6rem;font-weight:900;text-transform:uppercase}.type-aviso{background:#fee2e2;color:#991b1b}.type-noticia{background:#dbeafe;color:#1e40af}.type-post{background:#e2e8f0;color:#334155}.status-publicada,.feed-read-state.is-read{background:#dcfce7;color:#166534}.status-arquivada,.feed-read-state.is-pending{background:#fef3c7;color:#92400e}.status-rascunho{background:#e2e8f0;color:#475569}.feed-admin-excerpt{color:var(--muted);line-height:1.55}.feed-admin-metrics,.feed-admin-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.feed-admin-metrics{padding:.7rem 0;border-top:1px solid var(--border);font-size:.7rem;color:var(--muted)}.feed-admin-actions form{margin:0}.feed-admin-editor{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.notice-read-summary{display:flex;align-items:center;gap:1rem;margin:1rem 0}.notice-read-summary>strong{font-size:1.8rem;color:var(--primary)}.notice-read-summary>div{height:12px;flex:1;overflow:hidden;border-radius:99px;background:#e2e8f0}.notice-read-summary>div>span{display:block;height:100%;border-radius:inherit;background:#16a34a}
@media(max-width:1100px){.feed-admin-kpis{grid-template-columns:repeat(3,1fr)}.feed-admin-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.feed-admin-hero{align-items:stretch;flex-direction:column}.feed-admin-kpis{grid-template-columns:repeat(2,1fr)}.feed-admin-filters{grid-template-columns:1fr}.feed-admin-item>header{align-items:stretch;flex-direction:column}.feed-admin-title{flex-direction:column}.feed-admin-actions>*{width:100%}.feed-admin-actions .button{width:100%}}

/* Etapa 59.1.4 — acabamento da central e administração do menu */
.feed-admin-kpis article{position:relative;overflow:hidden;min-height:112px;padding:1rem 1.1rem;border:0;color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.12)}.feed-admin-kpis article:after{content:"";position:absolute;right:-22px;bottom:-30px;width:92px;height:92px;border:18px solid rgba(255,255,255,.14);border-radius:50%}.feed-admin-kpis article:nth-child(1){background:linear-gradient(135deg,#0f5f95,#1d86c2)}.feed-admin-kpis article:nth-child(2){background:linear-gradient(135deg,#a61932,#d22f4c)}.feed-admin-kpis article:nth-child(3){background:linear-gradient(135deg,#6d3fa0,#9366c5)}.feed-admin-kpis article:nth-child(4){background:linear-gradient(135deg,#087443,#16a36a)}.feed-admin-kpis article:nth-child(5){background:linear-gradient(135deg,#b45d00,#eb8a17)}.feed-admin-kpis article small{color:rgba(255,255,255,.82);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.feed-admin-kpis article strong{font-size:2rem}.feed-admin-item{padding:1rem 1.1rem}.feed-admin-item .feed-admin-metrics{margin-top:.75rem}.feed-admin-modal[hidden]{display:none}.feed-admin-modal{position:fixed;z-index:2100;inset:0;display:grid;place-items:center;padding:1rem}.feed-admin-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.66);backdrop-filter:blur(3px)}.feed-admin-modal-dialog{position:relative;width:min(820px,100%);max-height:calc(100dvh - 2rem);overflow:auto;border-radius:1rem;background:var(--surface);box-shadow:0 30px 90px rgba(0,0,0,.35)}.feed-admin-modal-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.feed-admin-modal-dialog>header h2{margin:.35rem 0 0}.feed-admin-modal-dialog>header>button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-soft);cursor:pointer}.feed-admin-modal-dialog form{padding:1.2rem}.feed-admin-modal-dialog footer{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.feed-admin-modal-open{overflow:hidden}.menu-admin-form{display:grid;gap:1rem}.menu-admin-form .institutional-panel{margin:0}.menu-admin-form td small{display:block;color:var(--muted);margin-top:.2rem}.menu-admin-form input[type=number]{width:110px}.menu-admin-form select{min-width:190px}.menu-admin-hero{margin-bottom:1rem}
@media(max-width:700px){.feed-admin-modal{padding:.35rem}.feed-admin-modal-dialog{max-height:calc(100dvh - .7rem)}.feed-admin-modal-dialog footer{flex-direction:column}.feed-admin-modal-dialog footer .button{width:100%}.feed-admin-kpis article{min-height:96px}}
.feed-admin-status-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.feed-admin-status-tabs>a{display:flex;align-items:center;gap:.8rem;min-width:0;padding:.9rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s}.feed-admin-status-tabs>a>i{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:.65rem;background:var(--surface-soft);color:var(--primary);font-size:1.05rem}.feed-admin-status-tabs>a>span,.feed-admin-status-tabs>a strong,.feed-admin-status-tabs>a small{display:block;min-width:0}.feed-admin-status-tabs>a small{margin-top:.18rem;color:var(--muted);font-size:.65rem}.feed-admin-status-tabs>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 8px 20px rgba(15,23,42,.07)}.feed-admin-status-tabs>a.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface));box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 14%,transparent)}.feed-admin-status-tabs>a.active>i{background:var(--primary);color:#fff}.feed-admin-type-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.feed-admin-type-card{display:flex;align-items:center;gap:.7rem;min-width:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s}.feed-admin-type-card>i:first-child{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:.6rem;background:var(--surface-soft);color:var(--primary)}.feed-admin-type-card>span{min-width:0}.feed-admin-type-card small,.feed-admin-type-card strong{display:block}.feed-admin-type-card small{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.feed-admin-type-card strong{margin-top:.12rem;font-size:1.2rem}.feed-admin-type-card>i:last-child{margin-left:auto;color:var(--muted);font-size:.72rem}.feed-admin-type-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.07)}.feed-admin-type-card.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.feed-admin-type-card.active>i:first-child{background:var(--primary);color:#fff}.feed-admin-filter-panel{padding:1rem}.feed-admin-filter-panel .feed-admin-filters{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;margin:0}
@media(max-width:1050px){.feed-admin-type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-admin-filter-panel .feed-admin-filters{grid-template-columns:1fr 1fr}.feed-admin-filter-panel .feed-admin-filters .field:first-of-type,.feed-admin-filter-panel .filter-actions{grid-column:1/-1}}
@media(max-width:650px){.feed-admin-status-tabs,.feed-admin-type-cards{grid-template-columns:1fr}.feed-admin-filter-panel .feed-admin-filters{grid-template-columns:1fr}.feed-admin-filter-panel .feed-admin-filters .field:first-of-type,.feed-admin-filter-panel .filter-actions{grid-column:auto}.feed-admin-filter-panel .filter-actions,.feed-admin-filter-panel .filter-actions>*{width:100%}}

/* Etapa 59.1.5 — editor visual e anexos do mural */
.rich-editor{overflow:hidden;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.rich-editor:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.rich-editor-toolbar{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;padding:.45rem;border-bottom:1px solid var(--border);background:var(--surface-soft)}.rich-editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:34px;height:34px;padding:0 .55rem;border:1px solid transparent;border-radius:.4rem;background:transparent;color:var(--text);cursor:pointer}.rich-editor-toolbar button:hover{border-color:var(--border);background:var(--surface)}.rich-editor-surface{min-height:190px;padding:1rem;outline:0;line-height:1.65}.rich-editor-surface:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor-surface h2,.rich-editor-surface h3,.feed-post-content h2,.feed-post-content h3,.notice-modal-content h2,.notice-modal-content h3{margin:.85rem 0 .4rem}.rich-editor-surface img,.feed-post-content img,.notice-modal-content img{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:.65rem}.rich-editor-surface blockquote,.feed-post-content blockquote,.notice-modal-content blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid var(--primary);background:var(--surface-soft)}.field-help{display:block;margin-top:.35rem;color:var(--muted)}.feed-attachment-editor{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-soft)}.feed-attachment-editor>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.feed-attachment-editor>header strong,.feed-attachment-editor>header small{display:block}.feed-attachment-editor>header small,.feed-attachment-empty{color:var(--muted)}.feed-attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.65rem;margin-top:.8rem}.feed-attachment-list label{display:grid;gap:.35rem;padding:.45rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);font-size:.7rem}.feed-attachment-list img{width:100%;height:90px;object-fit:cover;border-radius:.4rem}.feed-attachment-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-post-content ul,.feed-post-content ol,.notice-modal-content ul,.notice-modal-content ol{padding-left:1.5rem}
@media(max-width:600px){.feed-attachment-editor>header{align-items:stretch;flex-direction:column}.rich-editor-toolbar button{min-width:38px}.feed-attachment-list{grid-template-columns:1fr 1fr}}

/* Etapa 59.1.6 — notícias claras, pop-up interativo e edição pelo autor */
.feed-carousel-track{min-height:430px;background:var(--surface,#fff)}.feed-news-slide{background:var(--surface,#fff)}.feed-news-slide::after{display:none}.feed-news-card{display:grid;width:100%;height:100%;grid-template-rows:minmax(240px,280px) 1fr;padding:0;border:0;background:var(--surface,#fff);color:var(--text);text-align:left;cursor:pointer}.feed-news-card>img{width:100%;height:100%;object-fit:cover}.feed-news-card-content{display:flex;align-items:flex-start;flex-direction:column;padding:1rem 1.15rem}.feed-news-card-content>strong{margin:.35rem 0;font-size:1.3rem}.feed-news-card-content>span:not(.feed-news-kicker){color:var(--muted);line-height:1.5}.feed-news-card-content>small{margin-top:auto;padding-top:.55rem;color:var(--muted)}.feed-news-kicker{display:inline-flex;padding:.2rem .48rem;border-radius:.3rem;background:var(--institutional-red);color:#fff;font-size:.62rem;font-weight:850;text-transform:uppercase}.feed-news-card:hover .feed-news-card-content>strong{color:var(--primary)}
.news-modal[hidden],.post-edit-modal[hidden]{display:none}.news-modal,.post-edit-modal{position:fixed;z-index:2200;inset:0;display:grid;place-items:center;padding:1rem}.news-modal-backdrop,.post-edit-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.news-modal-dialog,.post-edit-dialog{position:relative;width:min(850px,100%);max-height:calc(100dvh - 2rem);overflow:hidden;border-radius:1rem;background:var(--surface,#fff);box-shadow:0 30px 90px rgba(0,0,0,.38)}.news-modal-dialog>header,.post-edit-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.news-modal-dialog>header h2,.post-edit-dialog>header h2{margin:.2rem 0}.news-modal-dialog>header small,.news-modal-dialog>header span,.post-edit-dialog>header small{color:var(--muted)}.news-modal-dialog>header>button,.post-edit-dialog>header>button{display:grid;place-items:center;min-width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-soft);color:var(--text);cursor:pointer}.news-modal-scroll{max-height:calc(100dvh - 125px);overflow:auto;padding-bottom:1.2rem}.news-modal-cover{display:block;width:100%;max-height:390px;object-fit:cover}.news-modal-content{padding:1.2rem;font-size:.92rem;line-height:1.7}.news-modal-content img{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:.65rem}.news-modal-dialog .feed-media-grid,.news-modal-dialog .feed-post-summary,.news-modal-dialog .feed-post-actions,.news-modal-dialog .feed-comments,.news-modal-dialog .feed-comment-form{margin-right:1.2rem;margin-left:1.2rem}.news-modal-dialog .feed-comment-form{margin-top:.85rem}.post-edit-dialog{overflow:auto}.post-edit-dialog>form{display:grid;gap:1rem;padding:1.2rem}.post-edit-dialog>form>footer{display:flex;justify-content:flex-end;gap:.6rem}.news-modal-open,.post-edit-open{overflow:hidden}
@media(max-width:700px){.feed-carousel-track{min-height:410px}.feed-news-card{grid-template-rows:210px 1fr}.feed-news-card-content>strong{font-size:1.08rem}.news-modal,.post-edit-modal{padding:.35rem}.news-modal-dialog,.post-edit-dialog{max-height:calc(100dvh - .7rem)}.news-modal-scroll{max-height:calc(100dvh - 112px)}.post-edit-dialog>form>footer{flex-direction:column}.post-edit-dialog>form>footer .button{width:100%}}

/* Etapa 59.1.6.1 — preservação de parágrafos e rodapé completo das notícias */
.feed-carousel-track{min-height:475px}.feed-news-card{grid-template-rows:280px minmax(190px,1fr)}.feed-news-card-content{min-height:190px;overflow:visible}.feed-news-card-content>small{display:block;flex:0 0 auto;width:100%;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--border);line-height:1.35}.news-modal-content p,.feed-post-content p{margin:0 0 .9rem}.news-modal-content p:last-child,.feed-post-content p:last-child{margin-bottom:0}.news-modal-content strong,.feed-post-content strong{font-weight:800}.rich-editor-surface p{margin:0 0 .8rem}.rich-editor-surface p:last-child{margin-bottom:0}
@media(max-width:700px){.feed-carousel-track{min-height:470px}.feed-news-card{grid-template-rows:210px minmax(255px,1fr)}.feed-news-card-content{min-height:255px}}

/* Etapa 59.1.7 — mural moderno selecionável (moderno por padrão). */
.feed-page-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.feed-layout-switch{display:flex;align-items:center;gap:.25rem;padding:.3rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.feed-layout-switch>span{display:flex;align-items:center;gap:.35rem;padding:0 .45rem;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.feed-layout-switch button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.4rem .65rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);font-size:.7rem;font-weight:800;cursor:pointer}.feed-layout-switch button:hover{background:var(--surface-soft);color:var(--text)}.feed-layout-switch button.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 28%,transparent)}
.feed-layout-switch.is-loading{cursor:wait}.feed-layout-switch.is-loading button{opacity:.68;cursor:wait}.feed-layout-switch.is-loading button.active:after{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:feed-layout-spin .65s linear infinite}@keyframes feed-layout-spin{to{transform:rotate(360deg)}}
.feed-modern-overview{display:none}.feed-view-moderno .feed-modern-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.72fr) minmax(210px,.62fr);grid-template-areas:"lead news course" "shortcuts shortcuts events";gap:.85rem;margin-bottom:1rem}.feed-modern-lead{grid-area:lead;min-height:285px}.feed-modern-feature{position:relative;display:flex;width:100%;height:100%;min-height:285px;overflow:hidden;padding:0;border:0;border-radius:.85rem;background:linear-gradient(100deg,rgba(9,39,67,.9),rgba(9,39,67,.23)),var(--modern-cover),linear-gradient(135deg,#dbeafe,#f5f7fa);background-position:center;background-size:cover;color:#fff;text-align:left;box-shadow:0 10px 28px rgba(15,23,42,.13);cursor:pointer}.feed-modern-feature.is-empty{background:linear-gradient(135deg,#0f365b,#26739a 60%,#b8d8e7)}.feed-modern-feature-copy{display:flex;justify-content:flex-end;align-items:flex-start;flex-direction:column;width:min(82%,540px);padding:1.35rem}.feed-modern-feature-copy small{margin-bottom:.4rem;color:#f5c14c;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.feed-modern-feature-copy strong{max-width:430px;font-size:1.65rem;line-height:1.08}.feed-modern-feature-copy>span{display:-webkit-box;max-width:490px;margin:.65rem 0;overflow:hidden;font-size:.79rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.feed-modern-feature-copy b{display:inline-flex;align-items:center;gap:.4rem;margin-top:.25rem;padding-bottom:.25rem;border-bottom:2px solid #f5c14c;font-size:.7rem}
.feed-modern-card{overflow:hidden;border:1px solid var(--border);border-radius:.85rem;background:var(--surface);box-shadow:0 7px 20px rgba(15,23,42,.07)}.feed-modern-card>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--border)}.feed-modern-card>header>span{display:flex;align-items:center;gap:.42rem;font-size:.78rem;font-weight:900}.feed-modern-card>header>span i{color:var(--primary)}.feed-modern-card>header a{color:var(--primary);font-size:.62rem;font-weight:800;text-decoration:none}.feed-modern-news-list{grid-area:news}.feed-modern-news-list>div{display:grid}.feed-modern-news-list button{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:.65rem;width:100%;padding:.65rem .75rem;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer}.feed-modern-news-list button:last-child{border-bottom:0}.feed-modern-news-list button:hover{background:var(--surface-soft)}.feed-modern-news-list button>img,.feed-modern-news-list button>i{width:58px;height:48px;border-radius:.45rem;object-fit:cover}.feed-modern-news-list button>i{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1.1rem}.feed-modern-news-list button span,.feed-modern-news-list button strong,.feed-modern-news-list button small{display:block;min-width:0}.feed-modern-news-list button strong{display:-webkit-box;overflow:hidden;font-size:.7rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feed-modern-news-list button small{margin-top:.22rem;color:var(--muted);font-size:.57rem}.feed-modern-empty{padding:1rem;color:var(--muted);font-size:.72rem}
.feed-modern-course{grid-area:course}.feed-modern-course-body{display:flex;align-items:center;flex-direction:column;padding:1rem;color:inherit;text-align:center;text-decoration:none}.feed-modern-course-body>strong{margin:.65rem 0 .2rem;font-size:.78rem}.feed-modern-course-body>small{color:var(--muted);font-size:.61rem}.feed-modern-course-body.is-empty>i{font-size:2.2rem;color:var(--primary)}.feed-modern-progress{display:grid;width:92px;height:92px;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--progress)*1%),var(--surface-soft) 0);box-shadow:inset 0 0 0 1px var(--border)}.feed-modern-progress:before{content:"";grid-area:1/1;width:70px;height:70px;border-radius:50%;background:var(--surface)}.feed-modern-progress strong{z-index:1;grid-area:1/1;font-size:1.15rem}.feed-modern-progress-line{width:100%;height:6px;margin-top:.75rem;overflow:hidden;border-radius:99px;background:var(--surface-soft)}.feed-modern-progress-line i{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.feed-modern-shortcuts{grid-area:shortcuts;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.feed-modern-shortcuts>a{display:flex;align-items:center;gap:.7rem;min-height:88px;padding:.85rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);color:inherit;text-decoration:none;box-shadow:0 6px 16px rgba(15,23,42,.06);transition:transform .15s ease,border-color .15s ease}.feed-modern-shortcuts>a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.feed-modern-shortcuts>a>i{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:.55rem;background:var(--primary-soft);color:var(--primary);font-size:1.05rem}.feed-modern-shortcuts span,.feed-modern-shortcuts strong,.feed-modern-shortcuts small{display:block;min-width:0}.feed-modern-shortcuts strong{font-size:.72rem}.feed-modern-shortcuts small{margin-top:.15rem;color:var(--muted);font-size:.58rem}
.feed-modern-overview.without-events{grid-template-areas:"lead news course" "shortcuts shortcuts shortcuts"}.feed-modern-overview.without-events .feed-modern-shortcuts{grid-column:1/-1;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.feed-modern-overview.without-events .feed-modern-shortcuts>a{width:100%;min-width:0}.feed-modern-overview.has-events .feed-modern-shortcuts{grid-template-columns:repeat(4,minmax(145px,1fr))}
.feed-modern-events{grid-area:events}.feed-modern-events>div{display:grid}.feed-modern-events>div>a{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}.feed-modern-events>div>a:last-child{border:0}.feed-modern-events b{display:grid;width:39px;height:43px;place-items:center;border-radius:.45rem;background:var(--primary-soft);color:var(--primary);font-size:.9rem;line-height:1}.feed-modern-events b small{font-size:.45rem}.feed-modern-events span,.feed-modern-events strong,.feed-modern-events small{display:block}.feed-modern-events span{min-width:0}.feed-modern-events strong{overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.feed-modern-events span small{margin-top:.17rem;color:var(--muted);font-size:.54rem}
.feed-view-moderno .feed-news-carousel{display:contents}.feed-view-moderno .feed-news-carousel>header,.feed-view-moderno .feed-news-carousel>.feed-carousel-track,.feed-view-moderno .feed-news-carousel>.feed-carousel-dots{display:none}.feed-view-moderno .feed-stream:before{content:"Publicações recentes";display:block;margin:.15rem 0 .75rem;color:var(--text);font-size:1rem;font-weight:900}.feed-view-moderno .feed-post{border-radius:.85rem}.feed-view-moderno .feed-composer{border-radius:.85rem}.feed-view-classico .feed-modern-overview{display:none}
[data-theme="dark"] .feed-modern-feature{background-color:#12263b}[data-theme="dark"] .feed-modern-card,[data-theme="dark"] .feed-modern-shortcuts>a{box-shadow:none}
@media(max-width:1180px){.feed-view-moderno .feed-modern-overview{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);grid-template-areas:"lead news" "course events" "shortcuts shortcuts"}.feed-view-moderno .feed-modern-overview.without-events{grid-template-areas:"lead news" "course course" "shortcuts shortcuts"}.feed-modern-overview.without-events .feed-modern-shortcuts,.feed-modern-overview.has-events .feed-modern-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.feed-modern-course-body{min-height:210px;justify-content:center}}
@media(max-width:760px){.feed-page-heading-actions{align-items:stretch;width:100%;justify-content:stretch}.feed-layout-switch{flex:1}.feed-layout-switch>span{display:none}.feed-layout-switch button{flex:1;justify-content:center}.feed-view-moderno .feed-modern-overview{grid-template-columns:1fr;grid-template-areas:"lead" "news" "course" "shortcuts" "events"}.feed-modern-lead,.feed-modern-feature{min-height:240px}.feed-modern-feature-copy{width:95%;padding:1rem}.feed-modern-feature-copy strong{font-size:1.3rem}.feed-modern-shortcuts{grid-template-columns:1fr 1fr}.feed-modern-shortcuts>a{min-height:76px}.feed-modern-course-body{min-height:auto}.feed-page-heading-actions .feed-page-metrics{display:none}}
@media(max-width:450px){.feed-modern-shortcuts{grid-template-columns:1fr}.feed-modern-shortcuts>a{min-height:68px}}

/* Etapa 59.1.7.1 — atalhos fluidos sem reservar colunas vazias. */
@media(min-width:1500px){.feed-modern-shortcuts>a{min-height:96px;padding:1rem 1.15rem}.feed-modern-shortcuts>a>i{width:46px;height:46px;font-size:1.18rem}.feed-modern-shortcuts strong{font-size:.78rem}.feed-modern-shortcuts small{font-size:.62rem}}
@media(max-width:900px){.feed-modern-overview.without-events .feed-modern-shortcuts,.feed-modern-overview.has-events .feed-modern-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.feed-modern-overview.without-events .feed-modern-shortcuts,.feed-modern-overview.has-events .feed-modern-shortcuts{grid-template-columns:minmax(0,1fr)}}

/* Etapa 59.1.6.3 — organização de matrículas e progresso */
.enrollment-assignment-compact{position:static;margin-bottom:1rem}.enrollment-assignment-compact>form{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(250px,1fr) auto auto;align-items:end;gap:1rem;padding:1rem 1.15rem}.enrollment-assignment-compact .field{margin:0}.enrollment-selection-summary{display:flex;align-items:center;gap:.7rem;min-height:46px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft)}.enrollment-selection-summary strong,.enrollment-selection-summary small{display:block}.enrollment-selection-summary small{margin-top:.15rem;color:var(--muted);font-size:.66rem}.enrollment-selection-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}
.enrollment-report-wide{min-width:0}.enrollment-report-wide .institutional-panel-header small,.enrollment-assignment-compact .institutional-panel-header small{display:block;margin-top:.2rem;color:var(--muted)}.enrollment-filters{grid-template-columns:minmax(190px,1.1fr) minmax(220px,1.3fr) minmax(155px,.7fr) auto;align-items:end;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border)}.enrollment-filters .field{margin:0}.enrollment-filter-actions{display:flex;gap:.45rem}.button-ghost{border-color:transparent;background:transparent;color:var(--muted);box-shadow:none}.button-ghost:hover{background:var(--surface-soft);color:var(--text)}.enrollment-table-wrap{padding:.2rem 1.15rem 1rem}.enrollment-table{min-width:940px}.enrollment-table th{padding:.8rem .65rem;white-space:nowrap}.enrollment-table td{padding:1rem .65rem;vertical-align:middle;border-bottom:1px solid var(--border)}.enrollment-table td>strong,.enrollment-cell-detail,.enrollment-date strong,.enrollment-date small{display:block}.enrollment-cell-detail,.enrollment-date small{margin-top:.25rem;color:var(--muted);font-size:.66rem}.enrollment-person{display:flex;align-items:center;gap:.65rem;min-width:205px}.enrollment-person>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--primary) 13%,var(--surface));color:var(--primary);font-size:.66rem;font-weight:900}.enrollment-person strong,.enrollment-person small{display:block}.enrollment-person small{max-width:230px;margin-top:.15rem;overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis}.enrollment-origin{display:inline-flex;padding:.3rem .5rem;border-radius:999px;background:var(--surface-soft);font-size:.62rem;font-weight:800}.enrollment-progress-cell{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:.35rem .55rem;min-width:175px}.enrollment-progress-cell>div{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-hover)}.enrollment-progress-cell>div>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#24a36a)}.enrollment-progress-cell>.status-badge{grid-column:1/-1;justify-self:start}.enrollment-date{white-space:nowrap}.enrollment-actions{display:grid;gap:.35rem}.enrollment-actions form,.enrollment-actions .button{width:100%;margin:0;white-space:nowrap}
.enrollment-picker[hidden]{display:none}.enrollment-picker{position:fixed;z-index:2300;inset:0;display:grid;place-items:center;padding:1rem}.enrollment-picker-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.enrollment-picker-dialog{position:relative;display:grid;width:min(720px,100%);max-height:calc(100dvh - 2rem);grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-radius:1rem;background:var(--surface);box-shadow:0 30px 90px rgba(0,0,0,.38)}.enrollment-picker-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}.enrollment-picker-dialog>header h2{margin:.2rem 0}.enrollment-picker-dialog>header small{color:var(--muted)}.enrollment-picker-dialog>header>button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-soft);cursor:pointer}.enrollment-picker-tools{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.8rem;padding:1rem 1.2rem}.enrollment-picker-tools .field{margin:0}.enrollment-picker-tools>div{display:flex;gap:.4rem}.enrollment-picker .enrollment-users{max-height:none;margin:0 1.2rem;padding:.35rem;overflow:auto}.enrollment-picker .enrollment-users>label{border-bottom:1px solid var(--border)}.enrollment-picker-dialog>footer{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-top:1px solid var(--border);background:var(--surface-soft)}.enrollment-picker-dialog>footer>span{color:var(--muted);font-size:.72rem;font-weight:800}.enrollment-picker-open{overflow:hidden}
@media(max-width:1050px){.enrollment-assignment-compact>form{grid-template-columns:1fr 1fr}.enrollment-assignment-compact>form>.button{width:100%}.enrollment-filters{grid-template-columns:1fr 1fr}.enrollment-filter-actions{align-self:end}}
@media(max-width:650px){.enrollment-assignment-compact>form,.enrollment-filters,.enrollment-picker-tools{grid-template-columns:1fr}.enrollment-filter-actions,.enrollment-filter-actions .button{width:100%}.enrollment-picker{padding:.35rem}.enrollment-picker-dialog{max-height:calc(100dvh - .7rem)}.enrollment-picker-tools>div{display:grid;grid-template-columns:1fr 1fr}.enrollment-picker-dialog>footer{align-items:stretch;flex-direction:column;gap:.6rem}.enrollment-picker-dialog>footer .button{width:100%}}

/* Etapa 60 — Controle de acesso responsivo e mais limpo. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.access-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:0;margin-bottom:.85rem;padding:1rem 1.2rem}.access-hero .eyebrow{margin:0 0 .22rem}.access-hero h1{margin:0;font-size:1.55rem;line-height:1.15}.access-hero p:last-child{margin:.4rem 0 0;color:var(--muted);font-size:.76rem}.access-hero-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:.8rem;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-size:1.35rem}.access-tabs{margin-bottom:.85rem}.access-tabs a{min-height:44px;padding:.65rem .85rem}.access-section-card{padding:1rem 1.15rem}.access-section-card>h2{margin:.1rem 0 1rem;font-size:1.15rem}.access-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.access-section-heading h2,.access-section-heading p{margin:0}.access-section-heading h2{font-size:1.2rem}.access-section-heading>span{padding:.38rem .6rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.65rem;font-weight:850}.access-filter-grid{grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(125px,.75fr)) auto}.access-results-count{margin:.4rem 0 .75rem}.access-users-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:.75rem}.access-users-table{width:100%;table-layout:fixed;margin:0}.access-users-table th{padding:.7rem .65rem;background:var(--surface-soft);font-size:.68rem;white-space:nowrap}.access-users-table th:nth-child(1){width:23%}.access-users-table th:nth-child(2){width:9%}.access-users-table th:nth-child(3){width:19%}.access-users-table th:nth-child(4){width:auto}.access-users-table th:nth-child(5){width:104px}.access-users-table td{padding:.85rem .65rem;vertical-align:middle}.access-users-table td>strong,.access-users-table td>small{display:block;min-width:0}.access-users-table td>strong{font-size:.75rem;line-height:1.3}.access-users-table td>small{margin-top:.2rem;overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.access-users-table select{width:100%;min-width:0}.access-origin-badge{display:inline-flex;padding:.28rem .48rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.58rem;font-weight:900}.access-origin-badge.origin-ldap{background:#dbeafe;color:#1d4ed8}.access-origin-badge.origin-local{background:#dcfce7;color:#166534}.access-origin-badge.origin-keycloak{background:#ede9fe;color:#6d28d9}.access-profile-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.38rem;min-width:0}.access-profile-options label{display:flex;align-items:flex-start;gap:.38rem;min-width:0;padding:.4rem .48rem;border:1px solid var(--border);border-radius:.48rem;background:var(--surface);font-size:.64rem;line-height:1.25;cursor:pointer}.access-profile-options label:has(input:checked){border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.access-profile-options input{flex:0 0 auto;margin-top:.05rem}.access-profile-options span{min-width:0;overflow-wrap:anywhere}.access-save-cell{text-align:right}.access-save-button{display:inline-flex!important;align-items:center;justify-content:center;gap:.32rem;min-width:88px!important;width:auto!important;white-space:nowrap!important;word-break:keep-all!important}.access-profile-list{display:grid;gap:.65rem}.access-profile-list .rbac-profile{margin:0}.access-profile-list .rbac-profile>summary{display:flex;align-items:center;gap:.55rem;min-width:0}.access-profile-list .rbac-profile>summary code{margin-left:auto}.access-active-profile{display:flex;align-items:center;gap:.4rem;margin:.8rem 0}.access-duplicate-form{display:inline-block!important;margin:.65rem 0 0 .45rem!important}
[data-theme="dark"] .access-origin-badge.origin-ldap{background:#172d4d;color:#93c5fd}[data-theme="dark"] .access-origin-badge.origin-local{background:#133527;color:#86efac}[data-theme="dark"] .access-origin-badge.origin-keycloak{background:#2e2246;color:#c4b5fd}
@media(max-width:1250px){.access-filter-grid{grid-template-columns:1.5fr 1fr 1fr}.access-filter-grid .field:nth-of-type(4){grid-column:1/2}.access-filter-grid .filter-actions{grid-column:2/4}.access-users-table-wrap{overflow:visible;border:0}.access-users-table,.access-users-table tbody{display:block}.access-users-table thead{display:none}.access-users-table tbody{display:grid;gap:.75rem}.access-users-table tr{display:grid;grid-template-columns:minmax(210px,1.25fr) 90px minmax(180px,.9fr) auto;gap:.7rem;padding:.85rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.access-users-table td{display:block;padding:0;border:0}.access-users-table td:nth-child(4){grid-column:1/4}.access-users-table td:before{content:attr(data-label);display:block;margin-bottom:.3rem;color:var(--muted);font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.access-save-cell{display:flex!important;align-items:flex-end!important;justify-content:flex-end}.access-save-button{min-height:42px}}
@media(max-width:760px){.access-hero{align-items:flex-start}.access-hero-icon{display:none}.access-hero h1{font-size:1.25rem}.access-tabs{display:grid;grid-template-columns:1fr}.access-tabs a{justify-content:center;width:100%}.access-section-card{padding:.8rem}.access-section-heading{align-items:flex-start}.access-filter-grid{grid-template-columns:1fr}.access-filter-grid .field:nth-of-type(4),.access-filter-grid .filter-actions{grid-column:auto}.access-filter-grid .filter-actions,.access-filter-grid .filter-actions .button{width:100%}.access-users-table tr{grid-template-columns:1fr 1fr}.access-users-table td:nth-child(1),.access-users-table td:nth-child(3),.access-users-table td:nth-child(4),.access-users-table td:nth-child(5){grid-column:1/-1}.access-users-table td:nth-child(2){grid-column:1/2}.access-profile-options{grid-template-columns:repeat(2,minmax(0,1fr))}.access-save-cell{justify-content:stretch}.access-save-button{width:100%!important}.permission-group>summary{align-items:flex-start;flex-wrap:wrap}.permission-group .link-button{width:100%;margin:.25rem 0 0;text-align:left}.access-duplicate-form{display:block!important;margin:.55rem 0 0!important}.access-duplicate-form .button{width:100%}}
@media(max-width:430px){.access-profile-options{grid-template-columns:1fr}.access-section-heading>span{display:none}}

/* Etapa 60.1 — padronização responsiva das telas administrativas. */
.admin-compact-hero{min-height:0;margin-bottom:.85rem;padding:1rem 1.25rem}.admin-compact-hero .eyebrow{margin:0 0 .2rem}.admin-compact-hero h1{margin:0;font-size:1.55rem;line-height:1.15}.admin-compact-hero>p:not(.eyebrow){margin:.42rem 0 0;color:var(--muted);font-size:.76rem}.admin-compact-hero .button-row{margin-top:.8rem}.admin-compact-hero .button{white-space:nowrap;word-break:keep-all}.admin-responsive-panel{min-width:0}.admin-responsive-panel .table-responsive{max-width:100%}.admin-responsive-panel .data-table{width:100%}.admin-responsive-panel .data-table th{white-space:nowrap}.admin-responsive-panel .data-table td{overflow-wrap:anywhere}.admin-responsive-panel .data-table td>small,.course-admin-table td>small{display:block;margin-top:.18rem;color:var(--muted);font-size:.64rem}.admin-responsive-panel .table-actions,.thematic-admin-actions{gap:.4rem}.admin-responsive-panel .table-actions a,.admin-responsive-panel .table-actions button,.thematic-admin-actions a,.thematic-admin-actions button{white-space:nowrap;word-break:keep-all}.course-admin-responsive{grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.course-admin-table th:nth-child(1){width:30%}.course-admin-table th:nth-child(5){width:255px}.course-admin-responsive .course-category-admin{max-height:calc(100dvh - var(--topbar-height) - 2rem);overflow:auto}.organization-manager-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.5rem;align-items:center}.organization-manager-form .button{min-width:76px;white-space:nowrap;word-break:keep-all}.resource-admin-heading{align-items:center;gap:1rem}.resource-admin-filter{display:grid;grid-template-columns:minmax(170px,1fr) minmax(135px,.65fr) auto auto;gap:.45rem}.resource-admin-filter>*{min-width:0}.resource-admin-filter .button{white-space:nowrap;word-break:keep-all}.resource-admin-table th:first-child{width:25%}.resource-admin-table th:nth-child(2){width:31%}.thematic-admin-heading{align-items:center}.thematic-admin-actions{display:flex;align-items:center;flex-wrap:wrap}.thematic-admin-actions form{margin:0}.thematic-admin-table th:first-child{width:25%}.thematic-admin-table th:last-child{width:190px}
@media(max-width:1180px){.course-admin-responsive{grid-template-columns:1fr}.course-admin-responsive .course-category-admin{position:static;max-height:none}.course-category-admin>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}.course-category-admin>form>.field,.course-category-admin>form>.form-grid{margin:0}.course-category-admin>form>.thematic-check,.course-category-admin>form>.button{align-self:end}.course-category-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.resource-admin-heading{align-items:stretch;flex-direction:column}.resource-admin-filter{width:100%}}
@media(max-width:900px){.admin-responsive-panel .table-responsive{overflow:visible}.admin-responsive-panel .data-table,.admin-responsive-panel .data-table tbody{display:block}.admin-responsive-panel .data-table thead{display:none}.admin-responsive-panel .data-table tbody{display:grid;gap:.7rem;padding:.7rem}.admin-responsive-panel .data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.8rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.admin-responsive-panel .data-table td{display:block;padding:0;border:0}.admin-responsive-panel .data-table td:before{content:attr(data-label);display:block;margin-bottom:.25rem;color:var(--muted);font-size:.55rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.admin-responsive-panel .data-table td:first-child,.admin-responsive-panel .data-table td:last-child{grid-column:1/-1}.admin-responsive-panel .data-table td[colspan]{grid-column:1/-1}.admin-responsive-panel .table-actions,.thematic-admin-actions{display:flex;flex-wrap:wrap}.organization-admin-table td:last-child{grid-column:1/-1}.organization-manager-form{grid-template-columns:minmax(0,1fr) auto}.resource-admin-filter{grid-template-columns:1fr 1fr auto auto}.thematic-admin-table td:nth-child(6){grid-column:1/-1}}
@media(max-width:620px){.admin-compact-hero{padding:.85rem}.admin-compact-hero h1{font-size:1.25rem}.admin-compact-hero .button-row{display:grid;grid-template-columns:1fr}.admin-compact-hero .button{justify-content:center;width:100%}.admin-responsive-panel .institutional-panel-header,.admin-responsive-panel .section-heading{align-items:stretch;flex-direction:column}.admin-responsive-panel .institutional-panel-header>.button,.admin-responsive-panel .section-heading>.button{width:100%;text-align:center}.admin-responsive-panel .data-table tr{grid-template-columns:1fr}.admin-responsive-panel .data-table td,.admin-responsive-panel .data-table td:first-child,.admin-responsive-panel .data-table td:last-child,.thematic-admin-table td:nth-child(6){grid-column:1/-1}.course-category-admin>form{grid-template-columns:1fr}.course-category-admin>form>.button{width:100%}.resource-admin-filter{grid-template-columns:1fr}.resource-admin-filter .button{width:100%}.organization-manager-form{grid-template-columns:1fr}.organization-manager-form .button{width:100%}.admin-responsive-panel .table-actions,.thematic-admin-actions{display:grid;grid-template-columns:1fr 1fr}.admin-responsive-panel .table-actions a,.admin-responsive-panel .table-actions button,.thematic-admin-actions a,.thematic-admin-actions button{display:flex;justify-content:center;width:100%}.admin-responsive-panel .table-actions form,.thematic-admin-actions form{width:100%}}

/* Etapa 60.3 — perfil compacto e responsivo. */
.profile-compact-hero{min-height:0;margin-bottom:.85rem;padding:1rem 1.2rem;gap:1rem}.profile-compact-hero .profile-photo,.profile-compact-hero .profile-photo img{width:74px;height:74px;border-radius:.85rem}.profile-compact-hero .profile-heading .eyebrow{margin:0 0 .15rem}.profile-compact-hero .profile-heading h1{margin:0;font-size:1.55rem;line-height:1.15}.profile-compact-hero .profile-heading>p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.76rem}.profile-compact-hero>.button{white-space:nowrap}.profile-summary-panel{margin-bottom:.85rem;padding:1rem 1.15rem}.profile-section-heading{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem}.profile-section-heading>i{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:.65rem;background:var(--primary-soft);color:var(--primary);font-size:1rem}.profile-section-heading .eyebrow,.profile-section-heading h2{margin:0}.profile-section-heading h2{font-size:1.05rem}.profile-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.profile-info-grid>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-width:0;padding:.7rem .75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft)}.profile-info-grid>div>i{display:grid;width:34px;height:34px;place-items:center;border-radius:.55rem;background:var(--surface);color:var(--primary);font-size:.95rem}.profile-info-grid span,.profile-info-grid small,.profile-info-grid strong{display:block;min-width:0}.profile-info-grid small{margin-bottom:.12rem;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.profile-info-grid strong{overflow-wrap:anywhere;font-size:.72rem;line-height:1.3}.profile-info-grid strong a{color:inherit;text-decoration:none}.profile-info-grid strong a:hover{color:var(--primary);text-decoration:underline}.profile-private-item{color:var(--muted)}.profile-secondary-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:.85rem;align-items:stretch}.profile-secondary-grid>.card{margin:0;padding:1rem 1.15rem}.profile-about-card .profile-bio{margin:.2rem 0 0;color:var(--text);font-size:.76rem;line-height:1.55}.profile-privacy-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.profile-privacy-list li{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.45rem .55rem;border-radius:.5rem;background:var(--surface-soft);font-size:.68rem}.profile-privacy-list strong{padding:.2rem .4rem;border-radius:999px;font-size:.56rem}.profile-privacy-list .is-visible{background:#dcfce7;color:#166534}.profile-privacy-list .is-hidden{background:#e5e7eb;color:#475569}.profile-public-about{margin-top:.85rem;padding:1rem 1.15rem}.profile-public-about .profile-section-heading{margin-bottom:.4rem}
[data-theme="dark"] .profile-privacy-list .is-visible{background:#133527;color:#86efac}[data-theme="dark"] .profile-privacy-list .is-hidden{background:#283342;color:#cbd5e1}
@media(max-width:980px){.profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-secondary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.profile-compact-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.profile-compact-hero .profile-heading{min-width:0}.profile-compact-hero>.button{grid-column:1/-1;justify-content:center;width:100%}.profile-secondary-grid{grid-template-columns:1fr}}
@media(max-width:520px){.profile-info-grid{grid-template-columns:1fr}.profile-summary-panel{padding:.8rem}.profile-compact-hero .profile-photo,.profile-compact-hero .profile-photo img{width:62px;height:62px}.profile-compact-hero .profile-heading h1{font-size:1.2rem}.profile-section-heading h2{font-size:.95rem}}

/* Etapa 60.4.1 — edição de perfil e núcleo do currículo. */
.profile-edit-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:0;margin-bottom:.85rem;padding:1rem 1.2rem}.profile-edit-hero .profile-photo,.profile-edit-hero .profile-photo img{width:64px;height:64px;border-radius:.8rem}.profile-edit-hero h1,.profile-edit-hero p{margin:0}.profile-edit-hero h1{font-size:1.45rem}.profile-edit-hero p:last-child{margin-top:.25rem;color:var(--muted);font-size:.72rem}.profile-edit-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.profile-edit-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}.profile-edit-summary h2,.profile-edit-summary p{margin:0}.profile-edit-summary h2{font-size:1.05rem}.profile-edit-summary p:last-child{margin-top:.25rem;color:var(--muted);font-size:.68rem}.profile-edit-summary .button{white-space:nowrap}.profile-editor-modal[hidden]{display:none}.profile-editor-modal{position:fixed;z-index:1400;inset:0;display:grid;place-items:center;padding:1rem}.profile-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(2,12,27,.64);backdrop-filter:blur(3px)}.profile-modal-panel{position:relative;display:flex;flex-direction:column;width:min(940px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 24px 70px rgba(2,12,27,.28)}.profile-modal-panel>header,.profile-modal-panel form>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.profile-modal-panel form{display:flex;min-height:0;flex:1;flex-direction:column}.profile-modal-panel form>footer{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.profile-modal-panel h2,.profile-modal-panel p{margin:0}.profile-modal-panel h2{font-size:1.15rem}.profile-modal-body{min-height:0;overflow:auto;padding:1rem}.profile-modal-open{overflow:hidden}.profile-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.8rem}.profile-visibility-grid label,.visibility-check,.repeat-checks label{display:flex;align-items:center;gap:.45rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface-soft);font-size:.68rem;font-weight:750}.curriculum-form-sections{display:grid;gap:.65rem}.curriculum-form-sections details{border:1px solid var(--border);border-radius:.65rem;background:var(--surface)}.curriculum-form-sections summary{display:flex;align-items:center;justify-content:space-between;padding:.75rem .85rem;font-size:.76rem;font-weight:900;cursor:pointer}.curriculum-form-sections summary span{padding:.18rem .42rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.58rem}.curriculum-form-section{display:grid;gap:.65rem;padding:0 .85rem .85rem;border-top:1px solid var(--border)}.curriculum-form-section>.field:first-child,.curriculum-form-section>.visibility-check:first-child{margin-top:.8rem}.curriculum-repeat-card{margin-top:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft)}.curriculum-repeat-heading,.repeat-checks{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.curriculum-repeat-heading{margin-bottom:.6rem}.repeat-checks{justify-content:flex-start;margin-top:.55rem}.curriculum-language-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,.7fr) auto auto;align-items:end;gap:.55rem}.curriculum-language-row .visibility-check{min-height:42px}.curriculum-public-card{margin-top:.85rem;padding:1rem 1.15rem}.curriculum-summary{padding:.7rem .8rem;border-radius:.65rem;background:var(--surface-soft)}.curriculum-summary h3,.curriculum-summary p{margin:0}.curriculum-summary h3{font-size:.78rem}.curriculum-summary p{margin-top:.3rem;font-size:.7rem;line-height:1.55}.curriculum-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.curriculum-public-grid>div{padding:.75rem;border:1px solid var(--border);border-radius:.65rem}.curriculum-public-grid h3{margin:0 0 .5rem;font-size:.8rem}.curriculum-public-grid article+article{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}.curriculum-public-grid article strong,.curriculum-public-grid article span,.curriculum-public-grid article small{display:block}.curriculum-public-grid article strong{font-size:.72rem}.curriculum-public-grid article span,.curriculum-public-grid article p{font-size:.65rem}.curriculum-public-grid article small{margin-top:.15rem;color:var(--muted);font-size:.58rem}.curriculum-public-grid article p{margin:.35rem 0 0;line-height:1.45}.curriculum-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.curriculum-tags span{padding:.35rem .55rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.61rem;font-weight:800}.curriculum-objective{margin-top:.75rem;padding:.65rem .75rem;border-left:3px solid var(--primary);background:var(--surface-soft)}.curriculum-objective strong,.curriculum-objective p{font-size:.68rem}.curriculum-objective p{margin:.25rem 0 0}
@media(max-width:760px){.profile-edit-hero{grid-template-columns:auto minmax(0,1fr)}.profile-edit-hero>.button{grid-column:1/-1;width:100%}.profile-edit-dashboard{grid-template-columns:1fr}.profile-edit-summary{align-items:stretch;flex-direction:column}.profile-edit-summary .button{width:100%}.profile-visibility-grid,.curriculum-public-grid{grid-template-columns:1fr}.curriculum-language-row{grid-template-columns:1fr 1fr}.curriculum-language-row .visibility-check,.curriculum-language-row .link-button{width:100%}.repeat-checks{align-items:stretch;flex-direction:column}.profile-editor-modal{padding:0}.profile-modal-panel{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.profile-modal-panel form>footer .button{flex:1}}
@media(max-width:480px){.curriculum-language-row{grid-template-columns:1fr}.profile-edit-hero .profile-photo,.profile-edit-hero .profile-photo img{width:54px;height:54px}.profile-edit-hero h1{font-size:1.2rem}}

/* Etapa 60.4.2 — competências e cursos oficiais no currículo. */
.curriculum-help{margin:.1rem 0 0;color:var(--muted);font-size:.65rem;line-height:1.45}.curriculum-skill-row{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(130px,.8fr) minmax(135px,.8fr) minmax(115px,.55fr);align-items:end;gap:.55rem}.curriculum-skill-row .visibility-check{min-height:42px}.curriculum-official-courses{display:grid;gap:.45rem}.curriculum-official-courses article{display:flex;align-items:center;gap:.65rem;padding:.65rem .7rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface-soft)}.curriculum-official-courses article>i{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:.5rem;background:var(--surface);color:var(--primary)}.curriculum-official-courses article>div{min-width:0;flex:1}.curriculum-official-courses strong,.curriculum-official-courses span{display:block}.curriculum-official-courses strong{font-size:.7rem}.curriculum-official-courses span{margin-top:.12rem;color:var(--muted);font-size:.6rem}.curriculum-empty{display:flex;align-items:center;gap:.55rem;padding:.75rem;border:1px dashed var(--border);border-radius:.55rem;color:var(--muted);font-size:.68rem}.curriculum-skills,.curriculum-completed-courses{margin-top:.8rem;padding:.75rem;border:1px solid var(--border);border-radius:.65rem}.curriculum-skills h3,.curriculum-completed-courses h3{margin:0 0 .6rem;font-size:.8rem}.curriculum-skills>div{display:flex;flex-wrap:wrap;gap:.45rem}.curriculum-skills>div>span{display:flex;flex-direction:column;padding:.42rem .58rem;border-radius:.55rem;background:var(--primary-soft);color:var(--primary)}.curriculum-skills strong{font-size:.66rem}.curriculum-skills small{margin-top:.1rem;font-size:.54rem;opacity:.8}.curriculum-completed-courses>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.curriculum-completed-courses article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.58rem .65rem;border-radius:.55rem;background:var(--surface-soft)}.curriculum-completed-courses article>i{color:var(--primary)}.curriculum-completed-courses article span,.curriculum-completed-courses article strong,.curriculum-completed-courses article small{display:block;min-width:0}.curriculum-completed-courses article strong{font-size:.65rem}.curriculum-completed-courses article small{margin-top:.1rem;color:var(--muted);font-size:.55rem}.curriculum-completed-courses article>a{display:grid;width:28px;height:28px;place-items:center;border-radius:.45rem;background:var(--surface);color:var(--primary)}
@media(max-width:900px){.curriculum-skill-row{grid-template-columns:1fr 1fr}.curriculum-skill-row .visibility-check,.curriculum-skill-row .link-button{width:100%}}
@media(max-width:680px){.curriculum-completed-courses>div{grid-template-columns:1fr}}
@media(max-width:480px){.curriculum-skill-row{grid-template-columns:1fr}}

/* Etapa 60.4.3 — galeria de certificados do perfil. */
.profile-edit-dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.profile-certificate-gallery{margin-top:.85rem;padding:1rem 1.15rem}.profile-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.profile-certificate-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface-soft)}.certificate-card-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:.65rem;background:var(--surface);color:var(--primary);font-size:1.15rem}.profile-certificate-card>div:nth-child(2){min-width:0}.profile-certificate-card h3,.profile-certificate-card p{margin:0}.profile-certificate-card h3{overflow:hidden;margin:.16rem 0;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.profile-certificate-card p{color:var(--muted);font-size:.58rem}.certificate-source{display:block;color:var(--primary);font-size:.54rem;font-weight:900;text-transform:uppercase}.certificate-card-actions{display:flex;gap:.3rem}.profile-certificates-panel>footer{display:flex;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--border)}.certificate-manager{display:grid;gap:1rem}.certificate-manager>section{padding:.85rem;border:1px solid var(--border);border-radius:.7rem}.certificate-visibility-form{display:flex!important;min-height:0!important;flex:initial!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft)}.certificate-visibility-form .visibility-check{flex:1}.certificate-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.certificate-manager-heading h3,.certificate-manager-heading p{margin:0}.certificate-manager-heading h3{font-size:.9rem}.certificate-manager-heading>span{padding:.25rem .5rem;border-radius:999px;background:var(--surface-soft);font-size:.6rem;font-weight:900}.certificate-manager-list{display:grid;gap:.45rem}.certificate-manager-list article{display:flex;align-items:center;gap:.6rem;padding:.6rem .65rem;border-radius:.55rem;background:var(--surface-soft)}.certificate-manager-list article>i{color:var(--primary);font-size:1rem}.certificate-manager-list article>div{min-width:0;flex:1}.certificate-manager-list strong,.certificate-manager-list small{display:block}.certificate-manager-list strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.certificate-manager-list small{margin-top:.12rem;color:var(--muted);font-size:.57rem}.certificate-manager-list form{display:block;min-height:0;flex:initial}.certificate-upload-form{display:grid!important;min-height:0!important;flex:initial!important;gap:.65rem}.certificate-upload-form>.button{justify-self:start}.certificate-file-field{padding:.65rem;border:1px dashed var(--border);border-radius:.55rem;background:var(--surface-soft)}
@media(max-width:760px){.profile-certificate-grid{grid-template-columns:1fr}.certificate-visibility-form{align-items:stretch;flex-direction:column!important}.certificate-visibility-form .button{width:100%}.certificate-manager-list article{align-items:stretch;flex-wrap:wrap}.certificate-manager-list article>div{min-width:calc(100% - 40px)}.certificate-manager-list article>.button,.certificate-manager-list article>form{flex:1}.certificate-manager-list article>form .button{width:100%}}
@media(max-width:420px){.profile-edit-dashboard{grid-template-columns:1fr}.profile-certificate-card{grid-template-columns:auto minmax(0,1fr)}.profile-certificate-card>.icon-button,.profile-certificate-card>.certificate-card-actions{grid-column:1/-1;justify-content:flex-end}}
.profile-portfolio-panel{width:min(1040px,96vw)}.portfolio-manager{display:grid;gap:24px}.portfolio-form{display:grid;gap:14px}.portfolio-form-actions,.portfolio-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portfolio-form-actions .button{margin-left:auto}.portfolio-manager-list{display:grid;gap:12px}.portfolio-manager-list>article{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface)}.portfolio-item-summary{display:flex;gap:12px;align-items:center}.portfolio-item-summary>i,.portfolio-public-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf5fc;color:#086da4;font-size:1.15rem;flex:none}.portfolio-item-summary div{display:grid;gap:2px;min-width:0}.portfolio-item-summary span,.portfolio-type{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:800;color:var(--primary)}.portfolio-item-summary small{color:var(--muted)}.portfolio-manager-list details{margin:14px 0}.portfolio-manager-list summary{cursor:pointer;font-weight:700}.portfolio-form.compact{padding-top:14px}.portfolio-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portfolio-public-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.portfolio-public-card.achievement .portfolio-public-icon{background:#fff5d8;color:#b37700}.portfolio-public-card h3{margin:4px 0 8px}.portfolio-public-card p{margin:0 0 10px;white-space:normal}.portfolio-public-card small{display:block;margin-top:6px}.portfolio-skills{margin-top:12px;padding:8px 10px;border-radius:10px;background:var(--surface-muted);font-size:.84rem}.portfolio-public-card footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}@media(max-width:760px){.portfolio-public-grid{grid-template-columns:1fr}.portfolio-public-card{grid-template-columns:1fr}.portfolio-form-actions .button{margin-left:0;width:100%}}

/* Administração Keycloak: campos e endereços longos em telas estreitas */
.keycloak-hero{max-width:100%}.keycloak-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 .85rem}.keycloak-summary>.card{min-width:0;margin:0;padding:.8rem 1rem}.keycloak-summary small,.keycloak-summary strong,.keycloak-summary span{display:block;min-width:0}.keycloak-summary small{color:var(--muted);font-size:.64rem;text-transform:uppercase;font-weight:800}.keycloak-summary strong{margin:.22rem 0;font-size:1rem;overflow-wrap:anywhere}.keycloak-summary span{color:var(--muted);font-size:.7rem}.keycloak-form{display:grid;gap:.85rem;margin:0 0 .85rem}.keycloak-panel{min-width:0;margin:0;padding:1rem 1.1rem}.keycloak-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:0;margin-bottom:.9rem}.keycloak-heading>div{min-width:0}.keycloak-heading .eyebrow{margin:0 0 .2rem}.keycloak-heading h2{margin:0;font-size:1.1rem}.keycloak-heading p:not(.eyebrow){margin:.3rem 0 0;color:var(--muted);font-size:.72rem}.keycloak-heading>i{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border-radius:.65rem;background:var(--primary-soft);color:var(--primary);font-size:1rem}.keycloak-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem}.keycloak-fields .field{min-width:0;margin:0}.keycloak-fields input{display:block;width:100%;max-width:100%;min-width:0}.keycloak-fields small{display:block;line-height:1.4;overflow-wrap:anywhere}.keycloak-wide{grid-column:1/-1}.keycloak-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.keycloak-option{display:flex;align-items:flex-start;gap:.6rem;min-width:0;padding:.7rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft);cursor:pointer}.keycloak-option input{flex:0 0 auto;margin:.15rem 0 0}.keycloak-option>i{color:var(--primary);font-size:1.1rem}.keycloak-option span,.keycloak-option strong,.keycloak-option small{display:block;min-width:0}.keycloak-option strong{font-size:.75rem;line-height:1.3}.keycloak-option small{margin-top:.18rem;color:var(--muted);font-size:.67rem;line-height:1.4}.keycloak-option-locked{cursor:default}.keycloak-option-enable{border-color:var(--primary)}.keycloak-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.85rem}.keycloak-actions p{margin:0;min-width:0;color:var(--muted);font-size:.7rem}.keycloak-actions .button,.keycloak-test .button{white-space:nowrap;word-break:keep-all}.keycloak-test .keycloak-heading{margin-bottom:.8rem}@media(max-width:760px){.keycloak-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.keycloak-options{grid-template-columns:1fr}}@media(max-width:520px){.keycloak-summary,.keycloak-fields{grid-template-columns:1fr}.keycloak-wide{grid-column:auto}.keycloak-panel{padding:.8rem}.keycloak-heading>i{display:none}.keycloak-actions .button,.keycloak-test .button{width:100%;justify-content:center}}

/* Contas locais de contingência */
.access-local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0 0 .85rem}.access-local-panel{min-width:0;margin:0;padding:0;overflow:hidden}.access-local-panel summary{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;cursor:pointer;list-style:none}.access-local-panel summary::-webkit-details-marker{display:none}.access-local-panel summary>i:first-child{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border-radius:.65rem;background:var(--primary-soft);color:var(--primary)}.access-local-panel summary>span{display:block;min-width:0;flex:1}.access-local-panel summary strong,.access-local-panel summary small{display:block;overflow-wrap:anywhere}.access-local-panel summary strong{font-size:.78rem}.access-local-panel summary small{margin-top:.2rem;color:var(--muted);font-size:.67rem}.access-local-panel summary>i:last-child{font-size:.8rem}.access-local-panel[open] summary>i:last-child{transform:rotate(180deg)}.access-local-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.9rem 1rem 1rem;border-top:1px solid var(--border)}.access-local-form>.field{min-width:0;margin:0}.access-local-form input,.access-local-form select{width:100%;min-width:0}.access-local-form small{display:block;line-height:1.35}.access-local-form .access-local-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}.access-local-form .button{grid-column:1/-1;justify-self:start;white-space:nowrap;word-break:keep-all}@media(max-width:960px){.access-local-grid{grid-template-columns:1fr}}@media(max-width:560px){.access-local-form{grid-template-columns:1fr}.access-local-form .button{width:100%;justify-content:center}}

/* Mensagens das contas locais junto ao formulário, mesmo com o cabeçalho fixo */
#local-new,#local-reset,#access-users{scroll-margin-top:calc(var(--topbar-height,72px) + 1rem)}.access-local-alert{margin:.1rem 1rem .7rem;overflow-wrap:anywhere}

/* Etapa 61.3 — confirmação visível após salvar */
.ui-notices{position:fixed;z-index:1400;top:calc(var(--topbar-height,74px) + 12px);right:16px;display:grid;gap:10px;width:min(410px,calc(100vw - 32px));pointer-events:none}
.ui-notice{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:14px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:0 12px 28px rgba(15,35,55,.2);overflow-wrap:anywhere;line-height:1.4}
.ui-notice>i{font-size:1.15rem;flex:none}.ui-notice-success>i{color:var(--success)}.ui-notice-error>i{color:var(--danger)}
.ui-notice>span{flex:1;min-width:0}.ui-notice>button{flex:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 3px}
.ui-notice>button:hover{color:var(--text)}.ui-notice-error{border-left:4px solid var(--danger)}.ui-notice-success{border-left:4px solid var(--success)}
@media(max-width:600px){.ui-notices{top:calc(var(--topbar-height,74px) + 8px);right:8px;width:calc(100vw - 16px)}}

/* Etapa 62.1 — Portal e administração da CIPA */
.cipa-hero{background:linear-gradient(135deg,var(--surface) 0%,#edf7fb 100%)}.cipa-hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e1f2f8;color:#08769d;font-size:1.65rem}.cipa-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.15rem 1.3rem;border-radius:16px;background:linear-gradient(135deg,#075f82,#087f92);color:#fff}.cipa-summary h2,.cipa-summary p{margin:.2rem 0}.cipa-summary .eyebrow{color:#c8f3f5}.cipa-period{display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border-radius:12px;background:#ffffff1a;white-space:nowrap}.cipa-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:1rem}.cipa-layout main,.cipa-layout aside{display:grid;align-content:start;gap:1rem}.cipa-group-title{margin:1rem 0 .55rem;font-size:.78rem}.cipa-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.cipa-person{display:flex;align-items:center;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.cipa-person img,.cipa-person .avatar-fallback{width:44px;height:44px;flex:0 0 auto;border-radius:50%;object-fit:cover}.cipa-person .avatar-fallback{display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.cipa-person strong,.cipa-person span,.cipa-person small{display:block}.cipa-person strong{font-size:.72rem}.cipa-person span,.cipa-person small{margin-top:.12rem;color:var(--muted);font-size:.62rem}.cipa-documents,.cipa-agenda{display:grid;gap:.55rem}.cipa-documents>a{display:flex;align-items:center;gap:.7rem;padding:.75rem;border:1px solid var(--border);border-radius:11px;color:inherit;text-decoration:none}.cipa-documents>a>i{font-size:1.25rem;color:var(--primary)}.cipa-documents strong,.cipa-documents small{display:block}.cipa-documents small{margin-top:.15rem;color:var(--muted)}.cipa-agenda article{display:flex;align-items:center;gap:.7rem}.cipa-agenda time{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:.55rem}.cipa-agenda time strong{font-size:1rem}.cipa-agenda article>div strong,.cipa-agenda article>div span{display:block}.cipa-agenda article>div span{margin-top:.15rem;color:var(--muted);font-size:.65rem}.cipa-tabs{position:sticky;z-index:5;top:var(--topbar-height,70px);display:flex;gap:.35rem;margin:0 0 .85rem;padding:.4rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cipa-tabs a{padding:.55rem .75rem;border-radius:8px;color:var(--text);font-size:.7rem;font-weight:800;text-decoration:none}.cipa-tabs a:hover{background:var(--primary-soft);color:var(--primary)}.cipa-admin-grid,.cipa-admin-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.form-grid label{display:grid;gap:.3rem;min-width:0;font-size:.68rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0}.form-grid .span-2{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;flex-direction:row}.form-grid .check input{width:auto}.cipa-record-list{display:grid;align-content:start;gap:.45rem}.cipa-record-list>a,.cipa-record-list>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem;border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none}.cipa-record-list>a.active{border-color:var(--primary);background:var(--primary-soft)}.cipa-record-list strong,.cipa-record-list small,.cipa-record-list span{display:block}.cipa-record-list small,.cipa-record-list a span{margin-top:.15rem;color:var(--muted);font-size:.6rem}.responsive-table td small{display:block;margin-top:.15rem;color:var(--muted)}
@media(max-width:980px){.cipa-layout,.cipa-admin-grid,.cipa-admin-columns{grid-template-columns:1fr}.cipa-members{grid-template-columns:1fr}}@media(max-width:600px){.cipa-summary{align-items:flex-start;flex-direction:column}.cipa-period{width:100%;justify-content:center}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.cipa-tabs{overflow:auto}.cipa-tabs a{white-space:nowrap}}

/* Etapa 62.2 — dimensionamento, elegibilidade e composição responsiva da CIPA */
.cipa-admin-hero{min-height:0}.cipa-admin-kpis,.cipa-public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 .85rem}.cipa-admin-kpis article,.cipa-public-stats article{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 5px 16px rgba(15,35,55,.04)}.cipa-admin-kpis i,.cipa-public-stats i{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:1rem}.cipa-admin-kpis span,.cipa-admin-kpis strong,.cipa-public-stats small,.cipa-public-stats strong{display:block;min-width:0}.cipa-admin-kpis span,.cipa-public-stats small{color:var(--muted);font-size:.59rem;font-weight:800;text-transform:uppercase}.cipa-admin-kpis strong,.cipa-public-stats strong{overflow:hidden;margin-top:.15rem;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.cipa-admin-section{scroll-margin-top:calc(var(--topbar-height,70px) + 65px);margin-bottom:.9rem}.cipa-admin-section>.panel-header p,.cipa-public-panel>.panel-header p{margin:.25rem 0 0;color:var(--muted);font-size:.68rem}.cipa-section-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary)}
.cipa-settings-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.55fr);gap:1rem}.cipa-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.cipa-settings-fields label,.cipa-member-form label{display:grid;gap:.3rem;min-width:0;font-size:.68rem;font-weight:750}.cipa-settings-fields input,.cipa-settings-fields select,.cipa-settings-fields textarea,.cipa-member-form input,.cipa-member-form select{width:100%;min-width:0}.cipa-settings-fields .span-2{grid-column:1/-1}.cipa-dimension-card{display:grid;gap:.55rem;padding:.9rem;border-radius:14px;background:linear-gradient(145deg,#075f82,#087f92);color:#fff}.cipa-dimension-card>span{color:#c8f3f5;font-size:.58rem;font-weight:900;letter-spacing:.06em}.cipa-dimension-card>div{display:flex;align-items:baseline;gap:.55rem;padding:.45rem 0;border-bottom:1px solid #ffffff24}.cipa-dimension-card strong{font-size:1.35rem}.cipa-dimension-card small{color:#e3f8fa}.cipa-dimension-card p{display:flex;gap:.4rem;margin:.15rem 0;font-size:.62rem;line-height:1.45}.cipa-dimension-card .check{display:flex;align-items:center;gap:.4rem;font-size:.65rem}.cipa-dimension-card input{width:auto}.cipa-profile-eligibility{grid-column:1/-1;padding-top:.15rem}.cipa-subheading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.cipa-subheading h3,.cipa-subheading p{margin:0}.cipa-subheading h3{font-size:.82rem}.cipa-subheading p{margin-top:.2rem;color:var(--muted);font-size:.64rem}.cipa-subheading>i{color:var(--primary);font-size:1.15rem}.cipa-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.cipa-profile-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft)}.cipa-profile-grid strong,.cipa-profile-grid small{display:block}.cipa-profile-grid small{margin-top:.1rem;color:var(--muted);font-size:.58rem}.cipa-profile-grid label{display:flex;align-items:center;gap:.3rem;font-size:.62rem;white-space:nowrap}.cipa-settings-form>footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.cipa-settings-form>footer p{margin:0;color:var(--muted);font-size:.65rem}
.cipa-count-badge{padding:.32rem .55rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.62rem;font-weight:850}.cipa-member-form{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(110px,.65fr)) auto auto;align-items:end;gap:.55rem;margin-bottom:.9rem;padding:.8rem;border-radius:13px;background:var(--surface-soft)}.cipa-member-form .check{display:flex;align-items:center;min-height:42px;flex-direction:row}.cipa-member-form .check input{width:auto}.cipa-member-form .btn{white-space:nowrap}.cipa-admin-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.cipa-admin-members>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cipa-admin-members>article.is-inactive{opacity:.58}.cipa-admin-members img,.cipa-admin-members .avatar-fallback{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;object-fit:cover;font-weight:800}.cipa-admin-members strong,.cipa-admin-members small,.cipa-admin-members span{display:block}.cipa-admin-members small{margin-top:.1rem;color:var(--muted);font-size:.59rem}.cipa-admin-members article>div>span{margin-top:.28rem;color:var(--primary);font-size:.57rem;font-weight:800;text-transform:uppercase}.cipa-empty-inline{display:flex;grid-column:1/-1;align-items:center;justify-content:center;gap:.7rem;padding:1.2rem;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.cipa-empty-inline>i{font-size:1.3rem}.cipa-empty-inline strong,.cipa-empty-inline small{display:block}.cipa-empty-inline small{margin-top:.15rem}
.cipa-public-stats{margin-top:-.15rem}.cipa-public-panel,.cipa-side-panel{overflow:hidden}.cipa-documents>a>i:last-child{margin-left:auto;font-size:.8rem}.cipa-process-card{text-align:center}.cipa-process-card>i{display:grid;width:52px;height:52px;margin:.8rem auto;place-items:center;border-radius:15px;background:var(--primary-soft);color:var(--primary);font-size:1.35rem}.cipa-process-card p{color:var(--muted);font-size:.67rem;line-height:1.55}.cipa-process-card>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.cipa-process-card>div span{padding:.28rem .45rem;border-radius:999px;background:var(--surface-soft);font-size:.56rem;font-weight:800}
@media(max-width:1200px){.cipa-admin-kpis,.cipa-public-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cipa-member-form{grid-template-columns:repeat(3,minmax(0,1fr))}.cipa-member-user{grid-column:span 2}.cipa-member-form .btn{width:100%;justify-content:center}}
@media(max-width:900px){.cipa-settings-form{grid-template-columns:1fr}.cipa-profile-eligibility,.cipa-settings-form>footer{grid-column:auto}.cipa-profile-grid,.cipa-admin-members{grid-template-columns:1fr}}
@media(max-width:650px){.cipa-admin-kpis,.cipa-public-stats,.cipa-settings-fields,.cipa-profile-grid,.cipa-member-form{grid-template-columns:1fr}.cipa-settings-fields .span-2,.cipa-member-user{grid-column:auto}.cipa-profile-grid article{grid-template-columns:1fr 1fr}.cipa-profile-grid article>div{grid-column:1/-1}.cipa-settings-form>footer{align-items:stretch;flex-direction:column}.cipa-settings-form>footer .btn{width:100%;justify-content:center}.cipa-admin-members>article{grid-template-columns:auto minmax(0,1fr)}.cipa-admin-members>article form{grid-column:1/-1}.cipa-admin-members>article form .btn{width:100%}.cipa-public-stats article{padding:.7rem}.cipa-admin-kpis strong,.cipa-public-stats strong{white-space:normal}}

/* Etapa 62.3 — processo eleitoral e candidaturas da CIPA */
.cipa-hero-actions,.cipa-election-hero>div:last-child{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.cipa-election-hero{min-height:0}.cipa-election-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.9rem}.cipa-election-kpis article{position:relative;min-width:0;padding:.8rem 1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.cipa-election-kpis span,.cipa-election-kpis strong{display:block}.cipa-election-kpis span{color:var(--muted);font-size:.6rem;font-weight:800;text-transform:uppercase}.cipa-election-kpis strong{margin-top:.15rem;font-size:1.3rem}.cipa-election-kpis i{position:absolute;right:.8rem;bottom:.55rem;color:var(--primary-soft);font-size:2rem}.cipa-election-admin-layout,.cipa-candidacy-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,.34fr);gap:1rem;align-items:start}.cipa-election-admin-layout>main,.cipa-candidacy-layout>main,.cipa-election-admin-layout>aside,.cipa-candidacy-layout>aside{display:grid;gap:1rem}.cipa-election-panel{overflow:hidden}.cipa-election-panel>.panel-header>i,.cipa-application-form-panel>.panel-header>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:1.05rem}.cipa-election-panel>.panel-header p,.cipa-application-form-panel>.panel-header p{margin:.25rem 0 0;color:var(--muted);font-size:.66rem}.cipa-election-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.cipa-election-form label,.cipa-review-list form label,.cipa-application-form label{display:grid;gap:.3rem;min-width:0;font-size:.68rem;font-weight:750}.cipa-election-form input,.cipa-election-form select,.cipa-election-form textarea,.cipa-review-list textarea,.cipa-application-form textarea{width:100%;min-width:0}.cipa-election-form .span-2{grid-column:1/-1}.cipa-election-form .check{display:flex;align-items:center;flex-direction:row}.cipa-election-form .check input{width:auto}.cipa-election-form footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;border-top:1px solid var(--border)}.cipa-election-form footer span{color:var(--muted);font-size:.64rem}
.cipa-process-list{padding:0;overflow:hidden}.cipa-process-list>.panel-header{padding:.85rem 1rem}.cipa-process-list>a{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.7rem 1rem;border-top:1px solid var(--border);color:inherit;text-decoration:none}.cipa-process-list>a.active{background:var(--primary-soft)}.cipa-process-list strong,.cipa-process-list small{display:block}.cipa-process-list small{margin-top:.15rem;color:var(--muted);font-size:.58rem}.cipa-process-list em{padding:.25rem .42rem;border-radius:999px;background:var(--surface-soft);font-size:.55rem;font-style:normal;font-weight:850}.cipa-compliance-card{text-align:left}.cipa-compliance-card>i,.cipa-rules-card>i{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:1.15rem}.cipa-compliance-card h3{margin:.65rem 0}.cipa-compliance-card ul,.cipa-rules-card ul{display:grid;gap:.45rem;margin:.5rem 0 0;padding-left:1.05rem;color:var(--muted);font-size:.65rem;line-height:1.45}.cipa-review-list{display:grid;gap:.65rem}.cipa-review-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,.42fr);gap:.75rem;padding:.8rem;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.cipa-review-list img,.cipa-review-list .avatar-fallback{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;object-fit:cover;font-weight:850}.cipa-review-person>div:first-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cipa-review-person small,.cipa-review-person code{display:block;margin-top:.16rem}.cipa-review-person small{color:var(--muted);font-size:.61rem}.cipa-review-person code{width:max-content;padding:.2rem .35rem;border-radius:.35rem;background:var(--surface);font-size:.58rem}.cipa-review-person details{margin-top:.55rem}.cipa-review-person summary{color:var(--primary);cursor:pointer;font-size:.65rem;font-weight:800}.cipa-review-person h4{margin:.55rem 0 .2rem;font-size:.67rem}.cipa-review-person p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.5}.cipa-review-list form>div{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.45rem}.cipa-candidate-status{display:inline-flex;padding:.24rem .42rem;border-radius:999px;font-size:.55rem;font-weight:900;text-transform:uppercase}.cipa-candidate-status.status-pendente{background:#fff3cd;color:#8a5a00}.cipa-candidate-status.status-aprovada{background:#dcfce7;color:#166534}.cipa-candidate-status.status-indeferida,.cipa-candidate-status.status-retirada{background:#fee2e2;color:#991b1b}
.cipa-candidacy-hero{background:linear-gradient(135deg,var(--surface),#eef8fb)}.cipa-protocol-card{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem;border-color:#86d6b0;background:#f0fff7}.cipa-protocol-card>i{color:#16865b;font-size:2rem}.cipa-protocol-card>div{min-width:0;flex:1}.cipa-protocol-card span,.cipa-protocol-card h2,.cipa-protocol-card p{display:block;margin:.12rem 0}.cipa-protocol-card span{color:#16865b;font-size:.58rem;font-weight:900}.cipa-protocol-card h2{font-size:1.05rem}.cipa-protocol-card p{color:var(--muted);font-size:.65rem}.cipa-election-banner{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-bottom:1rem;padding:1.1rem 1.25rem;border-radius:18px;background:linear-gradient(135deg,#075f82,#087f92);color:#fff}.cipa-election-banner h2,.cipa-election-banner p{margin:.3rem 0}.cipa-election-banner p{color:#e4f7fa}.cipa-phase{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border-radius:999px;background:#ffffff25;color:#fff;font-size:.59rem;font-weight:900;text-transform:uppercase}.cipa-election-dates{display:grid;grid-template-columns:repeat(2,minmax(155px,1fr));gap:.55rem}.cipa-election-dates article{padding:.65rem .75rem;border-radius:12px;background:#ffffff19}.cipa-election-dates small,.cipa-election-dates strong,.cipa-election-dates span{display:block}.cipa-election-dates small{color:#c8f3f5;text-transform:uppercase}.cipa-election-dates strong{margin:.2rem 0;font-size:.72rem}.cipa-election-dates span{font-size:.61rem}.cipa-application-form{display:grid;gap:.75rem}.cipa-application-form label>span{color:var(--muted);font-weight:500}.cipa-application-form label>small{color:var(--muted);font-size:.58rem}.cipa-declaration{display:flex!important;align-items:flex-start;flex-direction:row;gap:.5rem;padding:.7rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);font-weight:500!important;line-height:1.5}.cipa-declaration input{flex:0 0 auto;margin-top:.15rem}.cipa-application-form>.btn{justify-self:start}.cipa-not-eligible{text-align:center}.cipa-not-eligible>i{display:grid;width:58px;height:58px;margin:0 auto .7rem;place-items:center;border-radius:17px;background:var(--primary-soft);color:var(--primary);font-size:1.45rem}.cipa-not-eligible h2,.cipa-not-eligible p{margin:.25rem auto}.cipa-not-eligible p{max-width:560px;color:var(--muted);line-height:1.55}.cipa-application-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem}.cipa-application-summary article{padding:.65rem;border-radius:10px;background:var(--surface-soft)}.cipa-application-summary small,.cipa-application-summary strong{display:block}.cipa-application-summary small{color:var(--muted);font-size:.58rem;text-transform:uppercase}.cipa-application-summary strong{margin-top:.2rem}.cipa-my-application>h3{margin:.75rem 0 .25rem;font-size:.75rem}.cipa-my-application>p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.55}.cipa-my-application>form{margin-top:.8rem}.cipa-decision-note{margin-top:.8rem;padding:.7rem;border-left:3px solid var(--primary);background:var(--primary-soft)}.cipa-decision-note p{margin:.25rem 0 0}.cipa-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.cipa-candidate-grid>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.8rem;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.cipa-candidate-grid img,.cipa-candidate-grid .avatar-fallback{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;object-fit:cover;font-weight:850}.cipa-candidate-grid strong,.cipa-candidate-grid small{display:block}.cipa-candidate-grid small{margin-top:.15rem;color:var(--muted);font-size:.6rem}.cipa-candidate-grid p{display:-webkit-box;overflow:hidden;margin:.45rem 0 0;color:var(--muted);font-size:.65rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cipa-candidate-grid details{margin-top:.45rem}.cipa-candidate-grid summary{color:var(--primary);cursor:pointer;font-size:.62rem;font-weight:800}.cipa-candidate-grid details p{display:block;-webkit-line-clamp:unset}.cipa-rules-card{text-align:left}.cipa-rules-card>i{margin-bottom:.65rem}.cipa-rules-card h2{margin:.25rem 0}.cipa-rules-card p,.cipa-regulation-card p{color:var(--muted);font-size:.66rem;line-height:1.55}.cipa-process-card>.btn{width:100%;margin-top:.8rem;justify-content:center}
@media(max-width:1120px){.cipa-election-admin-layout,.cipa-candidacy-layout{grid-template-columns:1fr}.cipa-election-admin-layout>aside,.cipa-candidacy-layout>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.cipa-review-list>article{grid-template-columns:auto minmax(0,1fr)}.cipa-review-list>article>form{grid-column:1/-1}}
@media(max-width:780px){.cipa-election-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cipa-election-banner{align-items:stretch;flex-direction:column}.cipa-candidate-grid{grid-template-columns:1fr}}
@media(max-width:600px){.cipa-hero-actions,.cipa-election-hero>div:last-child{align-items:stretch;flex-direction:column;width:100%}.cipa-hero-actions .btn,.cipa-election-hero .btn{width:100%;justify-content:center}.cipa-election-form,.cipa-election-dates,.cipa-application-summary,.cipa-election-admin-layout>aside,.cipa-candidacy-layout>aside{grid-template-columns:1fr}.cipa-election-form .span-2{grid-column:auto}.cipa-election-form footer{align-items:stretch;flex-direction:column}.cipa-election-form footer .btn,.cipa-application-form>.btn{width:100%;justify-content:center}.cipa-review-list>article{grid-template-columns:auto minmax(0,1fr)}.cipa-review-list>article>form{grid-column:1/-1}.cipa-protocol-card{align-items:flex-start;flex-wrap:wrap}.cipa-protocol-card>div{min-width:calc(100% - 60px)}.cipa-protocol-card>.btn{width:100%;justify-content:center}}
@media print{.sidebar,.topbar,.right-rail,.cipa-candidacy-hero,.cipa-election-banner,.cipa-candidacy-layout,.ui-notices{display:none!important}.cipa-protocol-card{display:flex!important;box-shadow:none}}

/* Etapa 62.4 — urna secreta, apuração e quórum CIPA */
.cipa-ballot-panel,.cipa-results-panel{margin-bottom:1rem;overflow:hidden}.cipa-ballot-panel>.panel-header>i,.cipa-results-panel>.panel-header>i{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:1.15rem}.cipa-ballot-panel>.panel-header p,.cipa-results-panel>.panel-header p{margin:.25rem 0 0;color:var(--muted);font-size:.66rem}.cipa-ballot-form{display:grid;gap:.85rem}.cipa-ballot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:.65rem}.cipa-ballot-grid>label{cursor:pointer}.cipa-ballot-grid>label>input{position:absolute;opacity:0;pointer-events:none}.cipa-ballot-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:78px;padding:.75rem;border:2px solid var(--border);border-radius:14px;background:var(--surface-soft);transition:.18s ease}.cipa-ballot-choice img,.cipa-ballot-choice>b{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;object-fit:cover}.cipa-ballot-choice strong,.cipa-ballot-choice small{display:block}.cipa-ballot-choice small{margin-top:.15rem;color:var(--muted);font-size:.6rem}.cipa-ballot-choice>i{color:var(--border);font-size:1.2rem}.cipa-ballot-grid input:checked+.cipa-ballot-choice{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 16%,transparent)}.cipa-ballot-grid input:checked+.cipa-ballot-choice>i{color:var(--primary)}.cipa-ballot-form>.btn{justify-self:start}.cipa-already-voted{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:14px;background:#ecfdf5;color:#166534}.cipa-already-voted>i{font-size:1.6rem}.cipa-already-voted strong,.cipa-already-voted span{display:block}.cipa-already-voted span{margin-top:.16rem;font-size:.64rem}.cipa-already-voted.is-muted{background:var(--surface-soft);color:var(--muted)}.cipa-vote-receipt{border-color:#65c497}.cipa-result-list,.cipa-admin-results{display:grid;gap:.5rem}.cipa-result-list article{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.cipa-result-list em{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:.7rem;font-style:normal;font-weight:900}.cipa-result-list img,.cipa-result-list>b{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);object-fit:cover}.cipa-result-list article>div strong,.cipa-result-list article>div small{display:block}.cipa-result-list small{color:var(--muted);font-size:.6rem}.cipa-result-list article>span{text-align:right;font-size:.62rem}.cipa-result-list article>span strong{display:block;font-size:1rem}.cipa-turnout-meter{padding:.85rem;border-radius:13px;background:var(--surface-soft)}.cipa-turnout-meter>div{height:12px;overflow:hidden;border-radius:999px;background:var(--border)}.cipa-turnout-meter>div>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#20a36a)}.cipa-turnout-meter p{margin:.5rem 0 0;color:var(--muted);font-size:.65rem}.cipa-voting-actions{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.cipa-voting-actions form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.6rem}.cipa-voting-actions label{display:grid;gap:.3rem;font-size:.65rem;font-weight:750}.cipa-voting-actions input{width:100%}.cipa-admin-results{margin-top:.85rem}.cipa-admin-results article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:10px}.cipa-admin-results em{font-style:normal;font-weight:900}.cipa-admin-results strong,.cipa-admin-results small{display:block}.cipa-admin-results small{color:var(--muted);font-size:.58rem}
@media(max-width:700px){.cipa-ballot-grid{grid-template-columns:1fr}.cipa-ballot-form>.btn{width:100%;justify-content:center}.cipa-voting-actions form{grid-template-columns:1fr}.cipa-result-list article{grid-template-columns:auto auto minmax(0,1fr)}.cipa-result-list article>span{grid-column:2/-1;text-align:left}}

/* Etapa 62.4.1 — mural em duas colunas, resumo expansível e galeria modal */
@media(min-width:1100px){.feed-stream{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.feed-view-moderno .feed-stream:before{grid-column:1/-1}.feed-stream .pagination{grid-column:1/-1}}
.feed-post-content-wrap{position:relative}.feed-post-content-wrap:not(.is-expanded) .feed-post-content{max-height:8.8rem;overflow:hidden}.feed-post-content-wrap.is-collapsible:not(.is-expanded):after{content:"";position:absolute;right:0;bottom:1.9rem;left:0;height:3rem;pointer-events:none;background:linear-gradient(transparent,var(--surface))}.feed-content-toggle{position:relative;z-index:1;display:flex;align-items:center;gap:.3rem;margin:.4rem 0 0 auto;padding:.2rem 0;border:0;background:transparent;color:var(--primary);font-size:.68rem;font-weight:850;cursor:pointer}.feed-content-toggle[hidden]{display:none}.feed-post-content img{display:block;width:auto;max-width:100%;height:auto;max-height:520px;margin:1rem auto;object-fit:contain;border-radius:.65rem}.feed-media-grid button{min-width:0;min-height:10rem;padding:0;overflow:hidden;border:0;background:#e5e7eb;cursor:zoom-in}.feed-media-grid button:hover img{transform:scale(1.015)}
.feed-gallery-modal[hidden]{display:none}.feed-gallery-modal{position:fixed;z-index:2400;inset:0;display:grid;place-items:center;padding:1rem}.feed-gallery-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(4,12,24,.84);backdrop-filter:blur(5px)}.feed-gallery-dialog{position:relative;width:min(1080px,100%);max-height:calc(100dvh - 2rem);overflow:hidden;border-radius:1rem;background:#08111f;box-shadow:0 30px 100px rgba(0,0,0,.55)}.feed-gallery-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .8rem;color:#fff}.feed-gallery-dialog>header span{font-size:.7rem;font-weight:800}.feed-gallery-dialog>header button,.feed-gallery-stage>button{display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff18;color:#fff;cursor:pointer}.feed-gallery-dialog>header button{width:40px;height:40px}.feed-gallery-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;min-height:min(70vh,720px);padding:0 .5rem 1rem}.feed-gallery-stage>button{width:44px;height:44px;justify-self:center;font-size:1.1rem}.feed-gallery-stage figure{display:grid;place-items:center;min-width:0;margin:0}.feed-gallery-stage img{display:block;max-width:100%;max-height:calc(100dvh - 9rem);object-fit:contain}.feed-gallery-stage figcaption{min-height:1.4rem;margin-top:.55rem;color:#cbd5e1;font-size:.68rem;text-align:center}.feed-gallery-open{overflow:hidden}
@media(max-width:1099px){.feed-stream{grid-template-columns:1fr}}
@media(max-width:620px){.feed-post-content-wrap:not(.is-expanded) .feed-post-content{max-height:7.2rem}.feed-gallery-modal{padding:.35rem}.feed-gallery-dialog{max-height:calc(100dvh - .7rem)}.feed-gallery-stage{grid-template-columns:40px minmax(0,1fr) 40px;min-height:65vh;padding:0 .2rem .7rem}.feed-gallery-stage>button{width:36px;height:36px}.feed-gallery-stage img{max-height:calc(100dvh - 8rem)}}
