:root {
    --primary: #173b6c;
    --primary-dark: #102946;
    --bg: #f4f7fb;
    --surface: #ffffff;
    --text: #1b2430;
    --muted: #687386;
    --border: #dfe6ef;
    --danger: #b42318;
    --warning: #b54708;
    --success: #067647;
    --shadow: 0 8px 24px rgba(16, 41, 70, .08);
}
* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: var(--bg);
    color: var(--text);
}
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar {
    background: var(--primary);
    color: #fff;
    padding: 16px 0;
    box-shadow: var(--shadow);
}
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.topbar-inner {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
}
.brand {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 22px;
    font-weight: 700;
}

.brand-logo {
    width: 55px;
    height: 55px;
    object-fit: contain;
    flex-shrink: 0;
}

.brand span {
    color: #ffffff;
}
.nav { display: flex; gap: 16px; flex-wrap: wrap; }
.nav a { color: #fff; }
.hero {
    padding: 36px 0;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
}
.hero h1 {
    margin: 0 0 6px;
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 700;
}
.hero p { margin: 0; opacity: .9; font-size: 18px; }
.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
    margin: 28px 0;
}
.col-8 { grid-column: span 8; }
.col-4 { grid-column: span 4; }
.col-6 { grid-column: span 6; }
.col-12 { grid-column: span 12; }
.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 22px;
    box-shadow: var(--shadow);
}
.card h2, .card h3 { margin-top: 0; }
.notice {
    border-left: 5px solid var(--primary);
    margin-bottom: 14px;
    padding: 14px 16px;
    background: #f8fbff;
    border-radius: 8px;
}
.notice.urgent { border-left-color: var(--danger); background: #fff6f5; }
.notice.high { border-left-color: var(--warning); background: #fffaeb; }
.badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 12px;
    background: #eaf0f7;
}
.list { list-style: none; padding: 0; margin: 0; }
.list li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.list li:last-child { border-bottom: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid var(--border); }
th { background: #f8fafc; }
form { display: grid; gap: 14px; }
label { font-weight: 700; }
input, textarea, select {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font: inherit;
    background: #fff;
}
textarea { min-height: 140px; resize: vertical; }
button, .button {
    border: 0;
    background: var(--primary);
    color: #fff;
    padding: 11px 16px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
}
.button.secondary { background: #475467; }
.button.danger { background: var(--danger); }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    min-height: calc(100vh - 65px);
}
.sidebar {
    background: #fff;
    border-right: 1px solid var(--border);
    padding: 22px;
}
.sidebar a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 6px;
}
.sidebar a:hover { background: #eef3f8; text-decoration: none; }
.content { padding: 28px; min-width: 0; }
.flash {
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 8px;
    background: #ecfdf3;
    color: var(--success);
}
.flash.error { background: #fef3f2; color: var(--danger); }
.login-box {
    width: min(440px, calc(100% - 32px));
    margin: 80px auto;
}
footer {
    padding: 24px 0;
    color: var(--muted);
    text-align: center;
}
@media (max-width: 800px) {
    .col-8, .col-4, .col-6 { grid-column: span 12; }
    .topbar-inner { align-items: flex-start; flex-direction: column; }
    .admin-layout { grid-template-columns: 1fr; }
    .sidebar { border-right: 0; border-bottom: 1px solid var(--border); }
    .content { padding: 18px; }
}

/* ===== Intranet Liberty Telecom 2.1 ===== */
.admin-body { background: #f1f5f9; }
.admin-topbar { padding: 10px 0; position: sticky; top: 0; z-index: 30; }
.brand small { display: block; font-size: 12px; font-weight: 400; opacity: .75; margin-top: 2px; }
.admin-layout { grid-template-columns: 270px minmax(0,1fr); min-height: calc(100vh - 76px); }
.sidebar { padding: 20px 14px; position: sticky; top: 76px; height: calc(100vh - 76px); overflow-y: auto; }
.sidebar-user { display:flex; gap:11px; align-items:center; padding: 8px 10px 18px; border-bottom:1px solid var(--border); margin-bottom:14px; }
.sidebar-user .avatar { width:38px; height:38px; border-radius:50%; background:var(--primary); color:#fff; display:grid; place-items:center; font-weight:800; }
.sidebar-user strong,.sidebar-user small { display:block; }
.sidebar-user small { color:var(--muted); margin-top:3px; font-size:12px; }
.sidebar a { color:#334155; font-weight:600; }
.sidebar a.active { background:#e8f0fb; color:var(--primary); }
.sidebar-add { background:var(--primary)!important; color:#fff!important; text-align:center; margin-bottom:20px!important; padding:12px!important; }
.sidebar-label { color:#94a3b8; font-size:11px; font-weight:800; letter-spacing:.12em; margin:18px 10px 8px; }
.content { max-width: 1500px; width:100%; }
.page-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:24px; }
.page-heading h1 { font-size:32px; margin:3px 0 5px; }
.page-heading p,.card-heading p { color:var(--muted); margin:0; }
.eyebrow { font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--primary); }
.button-large { padding:13px 19px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.stat-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:20px; display:flex; align-items:center; gap:15px; box-shadow:var(--shadow); color:var(--text); }
.stat-card:hover { text-decoration:none; transform:translateY(-2px); }
.stat-icon { width:48px; height:48px; display:grid; place-items:center; background:#eff6ff; border-radius:12px; font-size:24px; }
.stat-card strong,.stat-card span { display:block; }
.stat-card strong { font-size:29px; }
.stat-card div span { color:var(--muted); margin-top:2px; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:20px; }
.card-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; border-bottom:1px solid var(--border); padding-bottom:15px; margin-bottom:8px; }
.card-heading h2 { margin-bottom:4px; }
.simple-list a { display:flex; justify-content:space-between; align-items:center; padding:14px 4px; border-bottom:1px solid var(--border); color:var(--text); }
.simple-list a:hover { text-decoration:none; background:#f8fafc; }
.simple-list small,.table-subtitle { display:block; color:var(--muted); margin-top:5px; }
.quick-card a { display:block; padding:13px; border:1px solid var(--border); border-radius:9px; margin-bottom:10px; font-weight:700; }
.quick-card a:hover { background:#f8fafc; text-decoration:none; }
.empty-state { text-align:center; padding:35px 15px; color:var(--muted); }
.empty-state>span { font-size:42px; }
.empty-state h3,.empty-state h2 { color:var(--text); }
.content-type-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.content-type-grid a { background:#fff; border:1px solid var(--border); border-radius:15px; padding:25px; box-shadow:var(--shadow); color:var(--text); min-height:170px; }
.content-type-grid a:hover { text-decoration:none; transform:translateY(-3px); border-color:var(--primary); }
.content-type-grid span,.content-type-grid strong,.content-type-grid small { display:block; }
.content-type-grid span { font-size:36px; margin-bottom:16px; }.content-type-grid strong{font-size:19px}.content-type-grid small{color:var(--muted);margin-top:8px;line-height:1.5}
.category-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.category-admin-card { border-left:5px solid var(--category-color); background:#fff; border-radius:13px; padding:20px; display:grid; grid-template-columns:auto 1fr; gap:15px; box-shadow:var(--shadow); }
.category-admin-card .actions { grid-column:1/-1; }.category-admin-card p{color:var(--muted);min-height:42px}.category-icon{font-size:30px}
.form-card { max-width:1000px; }.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card details{border:1px solid var(--border);padding:12px;border-radius:9px}.form-card details summary{font-weight:700;cursor:pointer;margin-bottom:10px}.check-row{display:flex;align-items:center;gap:9px}.check-row input{width:auto}
.summary-field { min-height:80px; }
.procedure-form { gap:18px; }.editor-card{padding:0;overflow:hidden}.editor-card>label{display:block;padding:18px 20px 12px}.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:#f8fafc;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px}.editor-toolbar button{background:#fff;color:var(--text);border:1px solid var(--border);padding:8px 10px}.visual-editor{min-height:380px;padding:24px;outline:none;line-height:1.65;background:#fff}.visual-editor:empty:before{content:attr(data-placeholder);color:#94a3b8}.editor-help{color:var(--muted);font-size:13px;padding:0 20px 16px}.sticky-save{position:sticky;bottom:12px;background:rgba(255,255,255,.95);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;gap:10px;box-shadow:var(--shadow);z-index:5}
.status-pill{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.status-pill.published{background:#ecfdf3;color:#067647}.status-pill.draft{background:#f2f4f7;color:#475467}
.decision-box { border:1px solid #bfdbfe; background:#eff6ff; border-radius:12px; padding:18px; margin:20px 0; }.decision-box h3{margin-top:0}.decision-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-options>div{background:#fff;border-radius:9px;padding:14px}.decision-yes{border-left:4px solid #16a34a}.decision-no{border-left:4px solid #dc2626}.decision-yes strong{color:#15803d}.decision-no strong{color:#b91c1c}
.hero-compact { padding:30px 0 35px; }.public-search{display:flex;max-width:720px;margin-top:20px}.public-search input{border-radius:9px 0 0 9px;border:0;padding:14px}.public-search button{border-radius:0 9px 9px 0;background:#fff;color:var(--primary)}
.category-filter{display:flex;gap:9px;overflow-x:auto;padding:22px 0 4px}.category-filter a{white-space:nowrap;background:#fff;border:1px solid var(--border);padding:9px 13px;border-radius:999px;font-weight:700}.category-filter a.active{background:var(--primary);color:#fff}.category-filter a:hover{text-decoration:none}
.procedure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 35px}.procedure-card{border-top:5px solid var(--category-color);background:#fff;border-radius:14px;padding:22px;box-shadow:var(--shadow);color:var(--text);min-height:230px}.procedure-card:hover{text-decoration:none;transform:translateY(-3px)}.procedure-card small{color:var(--muted);font-weight:700}.procedure-card h2{font-size:21px}.procedure-card p{color:var(--muted);line-height:1.5;min-height:45px}.procedure-icon{font-size:31px;display:block;margin-bottom:12px}
.procedure-page{padding-top:25px}.back-link{display:inline-block;margin-bottom:15px}.procedure-article{border-top:6px solid var(--category-color);max-width:980px;margin:0 auto}.procedure-header{display:flex;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--border)}.procedure-header .procedure-icon{font-size:45px}.procedure-header h1{margin:3px 0 8px}.procedure-header p{color:var(--muted);margin:0}.procedure-content{padding-top:22px;line-height:1.7}.procedure-content img{max-width:100%}
.home-procedures{padding:18px 0 4px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px}.section-heading h2{margin:4px 0 0}.home-search{margin:18px 0;max-width:none}.home-search input{border:1px solid var(--border);box-shadow:var(--shadow)}.home-search button{background:var(--primary);color:#fff}.home-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.home-category-grid a{display:flex;gap:12px;align-items:center;background:#fff;border-left:4px solid var(--category-color);padding:16px;border-radius:10px;box-shadow:var(--shadow);color:var(--text)}.home-category-grid a:hover{text-decoration:none;transform:translateY(-2px)}.home-category-grid span{font-size:26px}.home-category-grid strong,.home-category-grid small{display:block}.home-category-grid small{color:var(--muted);margin-top:3px}
@media(max-width:1100px){.stats-grid,.home-category-grid{grid-template-columns:repeat(2,1fr)}.procedure-grid{grid-template-columns:repeat(2,1fr)}.content-type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.page-heading{flex-direction:column}.stats-grid,.dashboard-grid,.category-admin-grid,.content-type-grid,.procedure-grid,.home-category-grid,.form-grid{grid-template-columns:1fr}.decision-options{grid-template-columns:1fr}.content{padding:18px}.public-search{display:grid}.public-search input,.public-search button{border-radius:9px}.procedure-header{flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}}

/* Imagens no editor de procedimentos */
.upload-status {
    display: none;
    margin: 12px 20px 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}
.upload-status:not(:empty) { display: block; }
.upload-status.loading { background: #eff6ff; color: #1d4ed8; }
.upload-status.success { background: #ecfdf3; color: #067647; }
.upload-status.error { background: #fef3f2; color: #b42318; }
.editor-toolbar button:disabled { opacity: .55; cursor: wait; }
.procedure-image {
    margin: 24px auto;
    text-align: center;
    max-width: 920px;
}
.procedure-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 680px;
    margin: 0 auto;
    border-radius: 12px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}
.procedure-image figcaption {
    margin-top: 9px;
    color: var(--muted);
    font-size: 13px;
    font-style: italic;
}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4fb,#f8fafc)}
.auth-card{margin:32px auto}.auth-logo{text-align:center}.auth-logo img{width:78px;height:78px;object-fit:contain}.muted{color:var(--muted)}.auth-link{text-align:center;margin-bottom:0}
.stats-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-pill.pending{background:#fff4e5;color:#9a6700}.status-pill.approved{background:#eafaf0;color:#067647}.status-pill.blocked{background:#fff0ef;color:#b42318}.online-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#98a2b3;margin-right:6px}.online-dot.on{background:#12b76a;box-shadow:0 0 0 3px #d1fadf}
@media(max-width:800px){.stats-grid.compact{grid-template-columns:1fr}}


/* Página inicial compacta, sem banner azul grande */
.home-procedures {
    padding-top: 18px;
}

@media (max-width: 800px) {
    .home-procedures {
        padding-top: 14px;
    }
}


/* Banner compacto com letreiro dos destaques */
.hero-small {
    padding: 14px 0 16px;
    min-height: auto;
}
.hero-small-inner {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(420px, 1.3fr);
    align-items: center;
    gap: 28px;
}
.hero-small h1 {
    margin: 0 0 3px;
    font-size: clamp(24px, 2.2vw, 34px);
}
.hero-small p {
    margin: 0;
    font-size: 14px;
    opacity: .86;
}
.daily-highlights {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    background: rgba(255,255,255,.08);
}
.daily-highlights > strong {
    white-space: nowrap;
    font-size: 13px;
}
.ticker-window {
    overflow: hidden;
    min-width: 0;
    mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
}
.ticker-track {
    display: flex;
    align-items: center;
    gap: 16px;
    width: max-content;
    animation: ticker-scroll 28s linear infinite;
}
.ticker-track:hover {
    animation-play-state: paused;
}
.ticker-track a {
    color: #fff;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 700;
}
.ticker-track span {
    opacity: .55;
}
@keyframes ticker-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Mantém quebras de linha, parágrafos e listas dos comunicados */
.announcement-content {
    line-height: 1.5;
}
.announcement-content p,
.announcement-content div {
    margin: 0 0 9px;
}
.announcement-content ul,
.announcement-content ol {
    margin: 8px 0 12px 22px;
    padding-left: 16px;
}
.announcement-content li {
    margin-bottom: 5px;
}

@media (max-width: 800px) {
    .hero-small-inner {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .daily-highlights {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}
/* ===== BANNER COMPACTO DA PÁGINA INICIAL ===== */

.hero {
    padding: 12px 0 14px !important;
    min-height: 0 !important;
    height: auto !important;
    background: linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    ) !important;
    color: #ffffff !important;
}

.hero .container {
    min-height: 0 !important;
}

.hero h1 {
    margin: 0 0 2px !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
}

.hero p {
    margin: 0 0 5px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

/* Todo texto dentro do banner fica branco */
.hero,
.hero *,
.hero a,
.hero span,
.hero strong {
    color: #ffffff !important;
}

/* Letreiro mais compacto */
.hero marquee,
.hero .ticker,
.hero .ticker-track,
.hero .marquee,
.hero .highlights-ticker {
    margin: 2px 0 0 !important;
    padding: 0 !important;
    min-height: 22px !important;
    line-height: 22px !important;
    color: #ffffff !important;
    font-size: 14px !important;
}

/* Reduz espaço antes da Central de Conhecimento */
.home-procedures {
    padding-top: 16px !important;
}
/* ===== Portal Corporativo Enterprise 3.0 ===== */
.portal-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}
.portal-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: var(--shadow);
}
.portal-stat > span { font-size: 25px; }
.portal-stat strong, .portal-stat small { display: block; }
.portal-stat strong { font-size: 23px; line-height: 1; }
.portal-stat small { color: var(--muted); margin-top: 4px; }

.knowledge-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 24px 0 4px;
}
.knowledge-panel {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px;
    box-shadow: var(--shadow);
}
.knowledge-list a {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 2px;
    color: var(--text);
    border-bottom: 1px solid var(--border);
}
.knowledge-list a:last-child { border-bottom: 0; }
.knowledge-list a:hover { text-decoration: none; background: #f8fafc; }
.knowledge-list strong, .knowledge-list small { display: block; }
.knowledge-list small { color: var(--muted); margin-top: 4px; }
.knowledge-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--item-color) 12%, white);
    border-left: 3px solid var(--item-color);
    font-size: 20px;
}

@media (max-width: 900px) {
    .portal-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .knowledge-highlights { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .portal-stats-grid { grid-template-columns: 1fr; }
}
.enterprise-admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 800px) { .enterprise-admin-stats { grid-template-columns: 1fr; } }

/* =========================================================
   AJUSTE FINAL — INDICADORES MAIS FINOS NA PÁGINA INICIAL
   Este bloco fica no final para prevalecer sobre regras antigas.
   ========================================================= */

.portal-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 12px 0 18px !important;
}

.portal-stat {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 7px 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(16, 41, 70, .05) !important;
}

.portal-stat > span {
    display: block !important;
    width: 30px !important;
    flex: 0 0 30px !important;
    font-size: 21px !important;
    line-height: 1 !important;
    text-align: center !important;
}

.portal-stat > div {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.portal-stat strong {
    display: block !important;
    margin: 0 !important;
    font-size: 21px !important;
    line-height: 1 !important;
}

.portal-stat small {
    display: block !important;
    margin: 0 !important;
    color: var(--muted) !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
}

.portal-stat:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(16, 41, 70, .08) !important;
}

@media (max-width: 900px) {
    .portal-stats-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ===== Refinamento visual Portal Liberty 3.1 ===== */
body { line-height: 1.55; }
.topbar { position: sticky; top: 0; z-index: 1000; padding: 10px 0; }
.brand-logo { width: 46px; height: 46px; }
.brand { font-size: 19px; }
.nav a { padding: 9px 10px; border-radius: 8px; font-size: 14px; font-weight: 600; }
.nav a:hover { background: rgba(255,255,255,.13); text-decoration: none; }
.nav-toggle { display: none; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff; border-radius: 8px; width: 42px; height: 40px; font-size: 20px; cursor: pointer; }

.hero { position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; right: -90px; top: -150px; width: 360px; height: 360px; border-radius: 50%; background: rgba(255,255,255,.07); }
.hero-small-inner { position: relative; z-index: 1; }
.hero h1 { letter-spacing: -.4px; }

.portal-stats-grid { margin-top: 18px !important; }
.portal-stat { color: var(--text); transition: transform .18s ease, box-shadow .18s ease; border-top: 3px solid var(--primary) !important; }
.portal-stat:hover { text-decoration: none; }

.quick-access-section { margin: 22px 0 8px; }
.quick-access-section h2 { margin: 3px 0 0; font-size: 24px; }
.quick-access-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.quick-access-grid a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; min-height: 92px; padding: 16px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 5px 16px rgba(16,41,70,.06); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.quick-access-grid a:hover { text-decoration: none; transform: translateY(-2px); box-shadow: var(--shadow); border-color: rgba(23,59,108,.35); }
.quick-access-grid a > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #edf3fa; font-size: 21px; }
.quick-access-grid strong, .quick-access-grid small { display: block; }
.quick-access-grid small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.quick-access-grid b { color: var(--primary); }

.home-procedures, .knowledge-panel, .card { box-shadow: 0 6px 20px rgba(16,41,70,.06); }
.section-heading { align-items: end; }
.eyebrow { letter-spacing: .12em; font-size: 11px; font-weight: 800; color: var(--primary); }
.public-search input { min-height: 46px; }
.public-search button { min-height: 46px; }
.notice { border-radius: 12px; padding: 18px; }
.notice h3 { margin-top: 0; }
.table-wrap { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }

.site-footer { margin-top: 36px; padding: 24px 0; background: #102946; color: #fff; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-inner strong, .footer-inner small { display: block; }
.footer-inner small { margin-top: 3px; opacity: .75; }
.footer-inner > span { opacity: .8; font-size: 13px; }
.back-to-top { position: fixed; right: 22px; bottom: 22px; z-index: 900; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--primary); color: #fff; font-size: 20px; box-shadow: var(--shadow); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(8px); transition: .2s ease; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

@media (max-width: 980px) {
    .quick-access-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nav-toggle { display: block; }
    .topbar-inner { position: relative; }
    .nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 10px); padding: 12px; background: var(--primary-dark); border-radius: 0 0 12px 12px; box-shadow: var(--shadow); }
    .nav.is-open { display: grid; }
    .nav a { padding: 11px 12px; }
}
@media (max-width: 640px) {
    .container { width: min(100% - 22px, 1180px); }
    .brand span { font-size: 16px; }
    .quick-access-grid { grid-template-columns: 1fr; }
    .quick-access-grid a { min-height: 78px; }
    .footer-inner { align-items: flex-start; flex-direction: column; }
    .hero h1 { font-size: 24px !important; }
    .daily-highlights { padding: 8px 0; }
}


/* Procedimento: Renovação de linhas empresariais */
.pr.proc-flow{ocedure-content{line-height:1.65}.proc-intro{padding:32px;border-radius:22px;background:linear-gradient(135deg,#173b6c,#245b9c);color:#fff;margin-bottom:24px}.proc-intro h2{color:#fff;margin:8px 0;font-size:clamp(26px,4vw,42px)}.proc-intro p{margin:0;max-width:760px;color:#eaf2ff}.proc-badge,.proc-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.proc-index{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.proc-index a{display:flex;gap:10px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff;text-decoration:none;color:var(--text);box-shadow:0 8px 24px rgba(23,59,108,.08)}.proc-index strong{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#173b6c;color:#fff}.proc-index span{font-size:13px;font-weight:700}.proc-step{display:grid;grid-template-columns:58px 1fr;gap:18px;margin:22px 0;padding:24px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(23,59,108,.06);scroll-margin-top:100px}.proc-step-number{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#173b6c;color:#fff;font-size:22px;font-weight:800}.proc-step-body h2{margin:4px 0 14px}.proc-kicker{color:#47709f}.proc-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.proc-rule{padding:16px;border-radius:14px;border-left:5px solid}.proc-rule strong,.proc-rule span{display:block}.proc-rule span{font-size:13px;margin-top:5px}.proc-rule.danger{background:#fff1f2;border-color:#dc2626}.proc-rule.success{background:#ecfdf5;border-color:#059669}.proc-rule.info{background:#eff6ff;border-color:#2563eb}.proc-media{margin-top:20px;padding:16px;border-radius:16px;background:#f5f8fc}.proc-media video{display:block;width:100%;max-height:560px;border-radius:12px;background:#000}.proc-image{display:block;max-width:100%;height:auto;margin:18px auto 0;border-radius:14px;border:1px solid var(--border);box-shadow:0 10px 25px rgba(0,0,0,.09)}.proc-callout{margin:16px 0;padding:15px 18px;border-radius:13px;background:#fff8e1;border-left:5px solid #f59e0b}.proc-checklist li{margin-bottom:8px}display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.proc-flow div{padding:14px;border-radius:12px;background:#edf4fb;text-align:center;font-size:13px;font-weight:700}.proc-script{padding:18px;margin:14px 0;border-radius:15px;background:#f7f9fc;border:1px solid var(--border)}.proc-script h3{margin-top:0;color:#173b6c}.proc-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.proc-panel{padding:20px;border-radius:16px;background:#f7f9fc;border:1px solid var(--border)}.proc-links{margin-top:24px}.proc-link-card{padding:20px;margin:12px 0;border-radius:16px;border:1px solid var(--border);background:#fff}.proc-link-card a{display:inline-block;margin:8px 8px 0 0;padding:10px 14px;border-radius:10px;background:#173b6c;color:#fff;text-decoration:none;font-weight:700}.proc-finish{margin-top:28px;padding:28px;text-align:center;border-radius:20px;background:#ecfdf5;border:1px solid #a7f3d0}.proc-finish h2{color:#065f46}@media(max-width:900px){.proc-index{grid-template-columns:1fr 1fr}.proc-rule-grid,.proc-flow{grid-template-columns:1fr 1fr}.proc-two-cols{grid-template-columns:1fr}}@media(max-width:600px){.proc-step{grid-template-columns:1fr;padding:18px}.proc-index,.proc-rule-grid,.proc-flow{grid-template-columns:1fr}.proc-step-number{width:44px;height:44px}.proc-intro{padding:24px}}

/* ===== Construtor visual de procedimentos v4 ===== */
.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:12px;position:sticky;top:0;z-index:8}
.editor-toolbar button,.editor-toolbar select{min-height:38px;padding:7px 11px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;color:#172033;font-weight:700;cursor:pointer}
.editor-toolbar button:hover,.editor-toolbar select:hover{border-color:#1d4d8f;background:#f3f7fd}.editor-toolbar select{max-width:145px}
.editor-color-control{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:5px 9px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;font-size:13px;font-weight:700}
.editor-color-control input[type=color]{width:28px;height:26px;padding:0;border:0;background:transparent;cursor:pointer}
.visual-editor.procedure-content{min-height:620px;max-width:100%;overflow-x:hidden;padding:24px;background:#fff;box-sizing:border-box}
.visual-editor.procedure-content *{box-sizing:border-box}.visual-editor.procedure-content video,.visual-editor.procedure-content iframe,.procedure-content video,.procedure-content iframe{display:block;width:100%!important;max-width:100%!important;aspect-ratio:16/9;height:auto!important;max-height:560px;margin:14px auto;border:0;border-radius:12px;background:#000;object-fit:contain}
.visual-editor.procedure-content img,.procedure-content img{max-width:100%!important;height:auto!important}
.proc-button{display:inline-block;padding:11px 17px;border-radius:10px;background:#173b6c;color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 8px 18px rgba(23,59,108,.18)}.proc-button:hover{background:#245b9c}
.proc-callout.info{background:#eff6ff;border-left-color:#2563eb}.proc-callout.success{background:#ecfdf5;border-left-color:#059669}.proc-callout.warning{background:#fff8e1;border-left-color:#f59e0b}
/* ===== Fluxograma Horizontal ===== */

.proc-flow-arrows{

    display:flex !important;

    flex-direction:row;

    flex-wrap:nowrap;

    align-items:center;

    justify-content:flex-start;

    gap:40px;

    width:100%;

    overflow-x:auto;

    overflow-y:hidden;

    padding:18px 10px;
}

.proc-flow-arrows > div{

    position:relative;

    flex:0 0 180px;

    min-width:180px;

    max-width:180px;

    min-height:120px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:18px;

    border-radius:14px;

    border:1px solid #DCE5F0;

    background:#EDF4FB;

    box-shadow:0 5px 12px rgba(23,59,108,.08);
}

.proc-flow-arrows > div strong{

    width:40px;

    height:40px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#173B6C;

    color:#fff;

    margin-bottom:12px;

    font-size:16px;
}

.proc-flow-arrows > div span{

    font-size:14px;

    font-weight:700;

    line-height:1.35;
}

.proc-flow-arrows > div:not(:last-child)::after{

    content:"➜";

    position:absolute;

    top:50%;

    right:-30px;

    transform:translateY(-50%);

    font-size:28px;

    color:#47709F;
}
.proc-orgchart{margin:24px 0;text-align:center}.org-top{display:inline-block;padding:14px 28px;border-radius:12px;background:#173b6c;color:#fff;font-weight:800}.org-line{width:2px;height:28px;background:#9fb3cc;margin:0 auto}.org-children{display:flex;justify-content:center;gap:18px;position:relative;padding-top:18px}.org-children:before{content:'';position:absolute;top:0;left:12%;right:12%;height:2px;background:#9fb3cc}.org-children>div{position:relative;min-width:150px;padding:14px;border:1px solid #cfd9e7;border-radius:12px;background:#f7f9fc;font-weight:700}.org-children>div:before{content:'';position:absolute;top:-18px;left:50%;width:2px;height:18px;background:#9fb3cc}
.button.duplicate{background:#6d28d9}.button.duplicate:hover{background:#5b21b6}
@media(max-width:800px){.org-children{flex-direction:column;align-items:center}.org-children:before,.org-children>div:before{display:none}.proc-flow-arrows{
    flex-direction:row;
    flex-wrap:nowrap;
    overflow-x:auto;
}

.proc-flow-arrows>div:not(:last-child)::after{

    content:"➜";

    right:-30px;

    bottom:auto;

    top:50%;

    transform:translateY(-50%);
}
