* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    background: #f5f7f9;
    color: #1f2933;
    line-height: 1.45;
}

a { color: #165c8c; text-decoration: none; }
a:hover { text-decoration: underline; }

.wrap {
    width: 94%;
    max-width: 1280px;
    margin: 0 auto;
}

.topbar {
    background: #243746;
    color: #fff;
    margin-bottom: 28px;
}

.nav-wrap {
    display: flex;
    align-items: center;
    min-height: 62px;
    gap: 28px;
}

.brand {
    color: white;
    font-weight: 700;
    font-size: 19px;
    white-space: nowrap;
}

.nav {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.nav a {
    color: #eaf0f4;
    padding: 9px 10px;
    border-radius: 4px;
}
.nav a:hover {
    background: rgba(255,255,255,.09);
    text-decoration: none;
}

.page-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 20px;
}

h1, h2 { color: #1d2b36; }
h1 { font-size: 28px; margin: 0 0 5px; }
h2 { font-size: 19px; margin: 0 0 14px; }
.muted { color: #667785; margin-top: 0; }
.help { color: #667785; font-size: 13px; }

.filter-panel, .search-row {
    background: white;
    border: 1px solid #dce3e8;
    padding: 16px;
    border-radius: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
    align-items: flex-end;
}

.filter-panel > div {
    min-width: 145px;
    flex: 1;
}

.compact-filter > div {
    flex: 0 1 240px;
}

label, .field-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #52616c;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: .03em;
}

input, select, textarea {
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid #bcc8d0;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
}

textarea { min-height: 90px; }

button, .btn {
    display: inline-block;
    border: 0;
    border-radius: 4px;
    padding: 9px 14px;
    min-height: 39px;
    background: #1769aa;
    color: #fff !important;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none !important;
}

.btn.secondary { background: #6f7c85; }
.btn.small { padding: 6px 9px; min-height: 0; font-size: 12px; }

.filter-actions {
    display: flex !important;
    gap: 7px;
    align-items: flex-end;
    flex: 0 0 auto !important;
}

.cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.cards.compact {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.metric {
    background: white;
    border: 1px solid #dce3e8;
    border-radius: 6px;
    padding: 16px;
}

.metric-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #62727d;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.metric strong {
    display: block;
    font-size: 29px;
    line-height: 1.1;
    margin: 7px 0 3px;
    font-weight: 650;
}

.metric small { color: #7b8992; }

.panel {
    background: white;
    border: 1px solid #dce3e8;
    border-radius: 6px;
    padding: 18px;
    margin-bottom: 18px;
}

.panel.narrow {
    max-width: 680px;
}

.grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

th {
    background: #eef2f5;
    color: #43525d;
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid #ccd6dc;
    font-size: 12px;
    text-transform: uppercase;
}

td {
    padding: 9px 10px;
    border-bottom: 1px solid #e5eaee;
    vertical-align: top;
}

tr:last-child td { border-bottom: 0; }
.table-scroll { overflow-x: auto; }

.bar-chart {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bar-row {
    display: grid;
    grid-template-columns: 52px 1fr 35px;
    gap: 8px;
    align-items: center;
    min-height: 24px;
}

.bar-label, .bar-value {
    font-size: 12px;
    color: #61717b;
}

.bar-value { text-align: right; font-weight: 600; }

.bar-track {
    height: 15px;
    background: #edf1f4;
    border-radius: 3px;
    overflow: hidden;
}

.bar-fill {
    height: 100%;
    min-width: 0;
    background: #5f7f95;
    border-radius: 3px;
}

.usage-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 130px;
}

.usage-track {
    width: 80px;
    height: 9px;
    background: #edf1f4;
    border-radius: 20px;
    overflow: hidden;
}

.usage-fill {
    height: 100%;
    background: #6d8798;
}

.success, .error, .notice {
    padding: 12px 14px;
    border-radius: 5px;
    margin-bottom: 16px;
}

.success { background: #e5f3e8; color: #225b30; border: 1px solid #b9dcc1; }
.error { background: #f8e5e5; color: #812626; border: 1px solid #e6bbbb; }
.notice { background: #fff5d9; color: #715a17; border: 1px solid #ead99a; }

.details {
    display: grid;
    grid-template-columns: 120px 1fr;
    margin: 0;
}
.details dt, .details dd {
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px solid #edf0f2;
}
.details dt { font-weight: 700; color: #596a75; }

.form-panel table { width: 100%; }
.form-panel input[type="checkbox"] { width: auto; min-height: 0; }

.empty {
    color: #788790;
    padding: 10px 0;
}

.footer {
    padding: 15px 0 35px;
    color: #80909a;
    font-size: 12px;
}

code {
    background: #eef2f5;
    padding: 2px 5px;
    border-radius: 3px;
}

@media (max-width: 1000px) {
    .cards, .cards.compact {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }
}

@media (max-width: 720px) {
    .nav-wrap {
        align-items: flex-start;
        flex-direction: column;
        padding: 12px 0;
        gap: 8px;
    }
    .grid-two { grid-template-columns: 1fr; }
    .cards, .cards.compact { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .page-head { flex-direction: column; }
}

@media (max-width: 430px) {
    .cards, .cards.compact { grid-template-columns: 1fr; }
}


.import-status {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid #cfd9df;
    background: #f7fafb;
    border-radius: 5px;
}

.import-status[hidden] { display: none; }

.spinner {
    width: 30px;
    height: 30px;
    border: 4px solid #dbe3e8;
    border-top-color: #546f82;
    border-radius: 50%;
    animation: logon-spin .9s linear infinite;
    flex: 0 0 auto;
}

.import-time {
    margin-top: 6px;
    font-size: 13px;
    color: #53636e;
}

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

@media (prefers-reduced-motion: reduce) {
    .spinner { animation: none; border-top-color: #546f82; }
}


/* Navegacao e carregamento sob demanda */
.analysis-bar { background:#fff; border-bottom:1px solid #dce3e8; margin-top:-28px; margin-bottom:24px; }
.analysis-links { min-height:42px; display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.analysis-links span { font-size:11px; font-weight:700; color:#75838c; text-transform:uppercase; margin-right:5px; }
.analysis-links a { padding:7px 10px; border-radius:4px; font-size:13px; color:#52616c; }
.analysis-links a:hover, .analysis-links a.active { background:#eef3f6; text-decoration:none; color:#174f73; }
.section-index { position:sticky; top:0; z-index:5; display:flex; gap:7px; align-items:center; flex-wrap:wrap; background:#eef3f6; border:1px solid #d5e0e6; border-radius:6px; padding:10px 12px; margin-bottom:18px; }
.section-index span { font-size:12px; font-weight:700; color:#53636e; }
.section-index a { background:#fff; border:1px solid #d5e0e6; border-radius:4px; padding:5px 8px; font-size:12px; }
.empty-state { border-style:dashed; text-align:center; padding:30px 22px; }
.empty-state h2 { margin-bottom:7px; }
@media (max-width: 720px) { .analysis-bar { margin-top:-28px; } .section-index { position:static; } }

/* Otimizacao v8: grupos e mapas verticais */
.share-group-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
}
.share-group-card {
    border: 1px solid #dce3e8;
    border-radius: 7px;
    padding: 15px;
    background: #fbfcfd;
}
.share-group-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.share-group-head strong, .share-group-head span { display: block; }
.share-saving { font-size: 12px; font-weight: 700; color: #52616c; text-align: right; max-width: 155px; }
.share-people {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
    padding: 10px 0;
    border-top: 1px solid #edf0f2;
    border-bottom: 1px solid #edf0f2;
}
.share-people span { color: #667785; font-size: 12px; text-align: right; }
.share-machine-plan { margin-top: 11px; font-size: 13px; line-height: 1.6; }

.occupancy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
    gap: 14px;
}
.occupancy-card {
    min-height: 210px;
    border: 1px solid #dce3e8;
    border-radius: 8px;
    padding: 14px 10px 12px;
    background: #fbfcfd;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #1f2933;
}
.occupancy-card:hover { text-decoration: none; border-color: #9eb2bf; }
.occupancy-card > strong { margin-top: 8px; font-size: 13px; overflow-wrap: anywhere; }
.occupancy-card > span, .occupancy-card > small { color: #667785; font-size: 11px; margin-top: 3px; }
.pc-visual { height: 118px; width: 104px; position: relative; }
.pc-screen {
    position: absolute; top: 3px; left: 5px; width: 94px; height: 82px;
    border: 5px solid #4b5b66; border-radius: 7px; overflow: hidden; background: #edf1f4;
}
.pc-screen .vertical-fill, .person-body .vertical-fill {
    position: absolute; bottom: 0; left: 0; width: 100%; background: #7896a8; opacity: .78;
}
.pc-screen span, .person-body span {
    position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 15px; color: #263641;
}
.pc-stand { position: absolute; width: 38px; height: 7px; border-radius: 4px; background: #4b5b66; bottom: 18px; left: 33px; }
.pc-stand:before { content: ''; position: absolute; width: 8px; height: 19px; background: #4b5b66; left: 15px; bottom: 5px; }
.person-visual { height: 118px; width: 90px; position: relative; }
.person-head { width: 36px; height: 36px; border: 4px solid #4b5b66; border-radius: 50%; margin: 0 auto 5px; background: #edf1f4; }
.person-body {
    width: 74px; height: 68px; margin: 0 auto; border: 4px solid #4b5b66; border-radius: 24px 24px 8px 8px;
    position: relative; overflow: hidden; background: #edf1f4;
}
.person-card.not-observed { border-style: dashed; }
.person-card.not-observed .person-body .vertical-fill { height: 0 !important; }
.person-card.not-observed small { font-weight: 700; }
@media (max-width: 720px) {
    .occupancy-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
    .share-group-head { flex-direction: column; }
    .share-saving { text-align: left; max-width: none; }
}


/* Autenticacao e administracao */
.auth-panel { margin-top: 8vh; }
.stack-form { display: grid; gap: 10px; }
.stack-form label { font-weight: 600; margin-top: 4px; }
.stack-form input, .stack-form select { width: 100%; box-sizing: border-box; }
.audit-details { max-width: 460px; white-space: normal; word-break: break-word; font-size: .9rem; }


/* Login v9.1 */
.auth-panel { max-width: 480px; margin-left: auto; margin-right: auto; padding: 28px 30px; }
.auth-heading { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.auth-heading h1 { margin:0 0 4px; }
.auth-heading p { margin:0; }
.auth-mark { width:46px; height:46px; border-radius:50%; background:#eef3f6; display:flex; align-items:center; justify-content:center; font-size:22px; flex:0 0 auto; }
.auth-form-wrap table { width:100%; }
.auth-form-wrap td { padding:7px 4px; }
.auth-form-wrap input[type="text"],
.auth-form-wrap input[type="password"] { width:100%; box-sizing:border-box; padding:10px 11px; border:1px solid #cfd9df; border-radius:5px; }
.auth-form-wrap input[type="submit"],
.auth-form-wrap button[type="submit"] { min-width:132px; padding:10px 18px; border:0; border-radius:5px; cursor:pointer; font-weight:700; }
.auth-form-wrap input[type="submit"]:disabled,
.auth-form-wrap button[type="submit"]:disabled { cursor:wait; opacity:.72; }
.login-status { display:none; align-items:center; gap:9px; margin-top:14px; color:#53636e; font-weight:600; }
.login-status.visible { display:flex; }
.login-status .spinner { width:18px; height:18px; }
@media (max-width:560px) { .auth-panel { padding:22px 18px; } }


/* Otimizacao v11: exclusoes e calendario de ocupacao */
.compact-filter .wide-filter { grid-column: span 2; min-width: 320px; }
.exclude-filter small { display:block; margin-top:6px; color:#6a7882; line-height:1.35; }
.chip-picker { border:1px solid #d4dde3; border-radius:6px; padding:8px; background:#fff; }
.chip-list { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
.chip-list:empty { margin-bottom:0; }
.filter-chip { display:inline-flex; align-items:center; gap:6px; background:#eef3f6; border:1px solid #d4e0e7; border-radius:16px; padding:4px 7px 4px 10px; font-size:12px; max-width:100%; }
.filter-chip > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filter-chip button { border:0; background:transparent; cursor:pointer; font-size:18px; line-height:14px; padding:0 2px; color:#657681; }
.chip-entry { display:flex; gap:7px; }
.chip-entry input { flex:1; min-width:180px; }
.chip-entry .chip-add { flex:0 0 auto; }
.picker-invalid { border-color:#b84a4a !important; box-shadow:0 0 0 2px rgba(184,74,74,.08); }
.filter-summary { display:flex; gap:10px 18px; align-items:center; flex-wrap:wrap; padding:12px 16px; }
.filter-summary strong { margin-right:4px; }
.filter-summary span { font-size:12px; background:#f2f5f7; border-radius:14px; padding:5px 9px; }
.calendar-months { display:grid; grid-template-columns:repeat(auto-fit,minmax(520px,1fr)); gap:18px; }
.occupancy-calendar { border:1px solid #dce3e8; border-radius:8px; padding:12px; background:#fbfcfd; }
.occupancy-calendar h3 { margin:0 0 10px; font-size:16px; }
.calendar-weekdays, .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays span { padding:5px; text-align:center; font-size:11px; font-weight:700; color:#667785; }
.calendar-day { min-height:96px; border-top:1px solid #e5eaed; border-left:1px solid #e5eaed; padding:5px; background:#fff; overflow:hidden; }
.calendar-grid .calendar-day:nth-child(7n) { border-right:1px solid #e5eaed; }
.calendar-grid .calendar-day:nth-last-child(-n+7) { border-bottom:1px solid #e5eaed; }
.calendar-day.outside { background:#fafbfc; }
.calendar-day.non-workday:not(.outside) { background:#f2f4f5; }
.calendar-day-head { display:flex; align-items:center; justify-content:space-between; gap:4px; margin-bottom:5px; }
.calendar-day-head strong { font-size:12px; }
.calendar-day-head span { font-size:9px; color:#667785; white-space:nowrap; }
.calendar-pcs { display:flex; flex-wrap:wrap; gap:3px; align-items:flex-end; }
.mini-pc { width:17px; height:17px; display:inline-block; position:relative; color:inherit; }
.mini-pc-screen { position:absolute; left:1px; top:1px; width:13px; height:9px; border:2px solid #536772; border-radius:2px; background:#dce8ee; }
.mini-pc-base { position:absolute; width:9px; height:2px; background:#536772; bottom:1px; left:4px; border-radius:1px; }
.mini-pc-base:before { content:''; position:absolute; width:2px; height:4px; background:#536772; bottom:1px; left:3px; }
.mini-pc:hover .mini-pc-screen { background:#b9d2df; }
@media (max-width:720px) {
  .compact-filter .wide-filter { grid-column:1 / -1; min-width:0; }
  .calendar-months { grid-template-columns:1fr; }
  .calendar-day { min-height:72px; padding:3px; }
  .calendar-day-head span { display:none; }
  .mini-pc { width:14px; height:15px; }
  .mini-pc-screen { width:11px; height:8px; }
}


/* Otimizacao v11.4: capacidade total no calendario */
.calendar-legend { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 10px; font-size:11px; color:#62727d; }
.calendar-legend span { display:inline-flex; align-items:center; gap:6px; }
.legend-pc { display:inline-block; width:13px; height:9px; border:2px solid #536772; border-radius:2px; background:#dce8ee; }
.legend-pc.idle { opacity:.18; }
.calendar-capacity { font-weight:700; color:#445761 !important; }
.calendar-occupancy-summary { display:flex; align-items:baseline; gap:4px 7px; flex-wrap:wrap; font-size:9px; color:#667785; margin-bottom:3px; }
.calendar-occupancy-summary strong { font-size:11px; color:#40535e; }
.calendar-occupancy-summary span { margin-left:auto; }
.calendar-occupancy-track { height:4px; background:#edf1f3; border-radius:3px; overflow:hidden; margin:0 0 5px; }
.calendar-occupancy-track span { display:block; height:100%; background:#718995; border-radius:3px; }
.mini-pc-idle { opacity:.13; }
.mini-pc-idle:hover { opacity:.55; }
.mini-pc-idle .mini-pc-screen { background:transparent; }
.mini-pc-used { opacity:1; }
@media (max-width:720px) {
  .calendar-occupancy-summary span { display:none; }
  .calendar-occupancy-track { margin-bottom:3px; }
}

/* v12 - paginação, tendências, alertas, simulador e saúde */
.pagination-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:12px 0; padding:9px 12px; border:1px solid #dce3e8; background:#f8fafb; border-radius:6px; }
.pagination-summary { font-size:12px; color:#596b77; }
.page-size-form { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:12px; }
.page-size-form label { font-weight:600; }
.page-size-form select, .page-size-form input { padding:5px 7px; min-height:30px; }
.custom-page-size { width:82px; }
.page-links { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.page-links a, .page-links span { font-size:12px; padding:5px 8px; border-radius:4px; }
.page-links a { background:#fff; border:1px solid #d5e0e6; }
.page-links a:hover { text-decoration:none; background:#eef3f6; }

.export-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.status-badge { display:inline-block; padding:3px 7px; border-radius:12px; font-size:11px; font-weight:700; background:#eef3f6; color:#52616c; white-space:nowrap; }
.status-badge.ok, .status-badge.normal { background:#eaf4ee; color:#35624a; }
.status-badge.atencao { background:#fff4dd; color:#7b5a14; }
.status-badge.alto { background:#fdebdc; color:#8a4d18; }
.status-badge.critico { background:#f9e1e1; color:#8a3434; }
.status-badge.neutral, .status-badge.neutro { background:#edf0f2; color:#687780; }
.reason-cell { min-width:260px; max-width:430px; font-size:12px; color:#60707b; white-space:normal; }
.recommendation-reason { margin:10px 0 0; padding-top:8px; border-top:1px dashed #dce3e8; color:#5d6e79; font-size:12px; line-height:1.45; }

.alert-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; }
.auto-alert { border:1px solid #dce3e8; border-left:4px solid #9baab3; border-radius:6px; padding:11px 12px; background:#fbfcfd; }
.auto-alert.critico { border-left-color:#a54545; background:#fff8f8; }
.auto-alert.alto { border-left-color:#b5682d; background:#fffaf5; }
.auto-alert.atencao { border-left-color:#b49132; background:#fffdf7; }
.auto-alert strong { display:block; font-size:13px; }
.auto-alert p { margin:5px 0 0; font-size:12px; color:#64737d; line-height:1.4; }

.simulator-box { border:1px solid #dce3e8; border-radius:8px; padding:15px; background:#fbfcfd; margin-top:14px; }
.simulator-box > label { display:block; font-weight:700; margin-bottom:6px; }
.simulator-box select { min-width:260px; max-width:100%; }
.simulator-result { display:grid; grid-template-columns:repeat(3,minmax(130px,1fr)); gap:10px; margin-top:14px; }
.simulator-result > div { border:1px solid #e1e7eb; border-radius:6px; padding:10px; background:#fff; }
.simulator-result strong { display:block; font-size:20px; }
.simulator-result span { font-size:11px; color:#657681; }

.optimized-scenario { border:1px solid #dce3e8; border-radius:8px; padding:14px; margin-bottom:12px; background:#fbfcfd; }
.scenario-summary { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.scenario-summary > strong { font-size:16px; }
.scenario-summary > span { font-size:12px; color:#5f707b; }
.scenario-posts { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }
.scenario-post { border:1px solid #e1e7eb; border-radius:6px; padding:9px 10px; background:#fff; }
.scenario-post strong, .scenario-post span { display:block; }
.scenario-post span { margin-top:3px; font-size:12px; color:#657681; }

.spark-bars { height:60px; display:flex; align-items:flex-end; gap:3px; min-width:120px; }
.spark-bars span { width:9px; min-height:3px; max-height:56px; border-radius:2px 2px 0 0; background:#8199a7; opacity:.8; }
.spark-bars.percent span { background:#718995; }
.trend-badge { display:inline-block; font-size:11px; font-weight:700; padding:3px 7px; border-radius:12px; background:#eef3f6; }
.trend-badge.alta { background:#eaf4ee; color:#35624a; }
.trend-badge.queda { background:#f9e1e1; color:#8a3434; }
.trend-badge.estavel { color:#5d6c76; }

.quality-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-bottom:18px; }
.quality-card { display:flex; flex-direction:column; border:1px solid #dce3e8; border-top:4px solid #99a8b1; border-radius:7px; padding:14px; background:#fff; color:#263641; }
.quality-card:hover { text-decoration:none; background:#fbfcfd; }
.quality-card.alto { border-top-color:#b5682d; }
.quality-card.atencao { border-top-color:#b49132; }
.quality-card strong { font-size:26px; }
.quality-card span { font-size:12px; color:#62737e; margin-top:3px; }
.issue-links { display:flex; gap:6px; flex-wrap:wrap; }
.issue-links a, .issue-links span { padding:5px 8px; border:1px solid #dce3e8; border-radius:5px; background:#fafcfd; font-size:12px; }

.maintenance-actions { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.maintenance-actions form { margin:0; }
.health-panel .details { max-width:780px; }

@media (max-width:720px) {
  .pagination-toolbar { align-items:flex-start; flex-direction:column; }
  .simulator-result { grid-template-columns:1fr; }
  .scenario-summary { flex-direction:column; align-items:flex-start; }
}
.ajax-picker-wrap { position:relative; }
.ajax-picker-wrap > input[type="text"] { width:100%; box-sizing:border-box; }
.ajax-suggestions { position:absolute; left:0; right:0; top:100%; z-index:30; background:#fff; border:1px solid #d5dee4; border-radius:0 0 6px 6px; box-shadow:0 8px 18px rgba(32,48,58,.12); max-height:260px; overflow:auto; }
.ajax-suggestions:empty { display:none; }
.ajax-suggestion { display:block; width:100%; border:0; border-bottom:1px solid #edf1f3; background:#fff; padding:8px 10px; text-align:left; cursor:pointer; font-size:12px; }
.ajax-suggestion:hover { background:#eef4f7; }

/* v13 - inventário OCS e qualidade do parque */
.hw-mini { display:flex; gap:4px; flex-wrap:wrap; justify-content:center; margin-top:6px; }
.hw-badge { display:inline-block; padding:2px 6px; border:1px solid #d5e0e6; border-radius:10px; background:#f5f8fa; color:#566974; font-size:10px; font-weight:700; line-height:1.3; }
.hw-badge.hw-muted { opacity:.58; font-weight:600; }
.hw-age-legada { background:#f9e1e1; color:#8a3434; border-color:#ecc8c8; }
.hw-age-envelhecida { background:#fdebdc; color:#8a4d18; border-color:#f0d1b5; }
.hw-age-intermediaria { background:#fff4dd; color:#7b5a14; border-color:#eedda9; }
.hw-age-atual { background:#eaf4ee; color:#35624a; border-color:#cce3d5; }
.hardware-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(250px,1fr)); gap:14px; margin:16px 0; }
.dist-row { display:grid; grid-template-columns:minmax(110px,1fr) 40px minmax(120px,2fr); gap:8px; align-items:center; margin:8px 0; font-size:12px; }
.dist-row strong { text-align:right; }
.cpu-cell { min-width:260px; white-space:normal; font-size:12px; }
.hardware-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.hardware-facts > div { border:1px solid #e1e7eb; border-radius:6px; padding:10px; background:#fbfcfd; }
.hardware-facts span, .hardware-facts small { display:block; color:#667785; font-size:11px; }
.hardware-facts strong { display:block; margin:3px 0; font-size:13px; }
@media (max-width:900px){ .hardware-summary-grid { grid-template-columns:1fr; } }

/* v13.1 - busca por padrão, edição em lote e metodologia de hardware */
.field-help { display:block; margin-top:5px; font-size:11px; color:#6b7b86; line-height:1.35; }
.machine-search-field { min-width:300px !important; }
.selection-col { width:38px; text-align:center; }
.machine-select, .bulk-enable input[type="checkbox"] { width:auto; min-height:0; margin:0; }
.bulk-edit-panel { border-left:4px solid #1769aa; }
.bulk-selection-summary { background:#eef4f7; border:1px solid #d6e1e7; border-radius:16px; padding:6px 11px; font-size:12px; color:#50636e; white-space:nowrap; }
.bulk-edit-grid { display:grid; grid-template-columns:repeat(3,minmax(190px,1fr)); gap:12px; }
.bulk-field { min-width:0; }
.bulk-enable { display:flex; align-items:center; gap:7px; text-transform:none; letter-spacing:0; cursor:pointer; }
.bulk-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid #e2e8ec; }
.methodology-panel { background:#f8fafb; border:1px solid #dce3e8; border-radius:7px; margin:0 0 18px; }
.methodology-panel > summary { cursor:pointer; padding:12px 15px; font-weight:700; color:#334955; list-style-position:inside; }
.methodology-panel[open] > summary { border-bottom:1px solid #dce3e8; }
.methodology-grid { display:grid; grid-template-columns:repeat(2,minmax(260px,1fr)); gap:14px; padding:15px; }
.methodology-grid > div { background:#fff; border:1px solid #e2e8ec; border-radius:6px; padding:12px 14px; }
.methodology-grid h3 { margin:0 0 7px; font-size:14px; color:#2f4551; }
.methodology-grid p { margin:5px 0; font-size:12px; line-height:1.5; color:#586b76; }
.methodology-grid ul { margin:7px 0 0; padding-left:19px; font-size:12px; line-height:1.6; color:#586b76; }
@media (max-width:900px) {
  .bulk-edit-grid { grid-template-columns:1fr 1fr; }
  .methodology-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .bulk-edit-grid { grid-template-columns:1fr; }
  .machine-search-field { min-width:0 !important; }
}

/* v14 - identidade DTIC 360 e perfil 360 da maquina */
:root {
    --dtic-blue: #078fbd;
    --dtic-blue-dark: #086586;
    --dtic-blue-soft: #eaf6fa;
    --dtic-green: #91bd22;
    --dtic-green-dark: #6f9615;
    --dtic-green-soft: #f3f8e8;
    --dtic-ink: #183b4b;
}

body { background:#f4f8fa; color:#21343d; }
a { color:var(--dtic-blue-dark); }
h1, h2 { color:var(--dtic-ink); }

.topbar {
    background:#fff;
    color:var(--dtic-ink);
    border-top:5px solid var(--dtic-green);
    border-bottom:1px solid #d8e5ea;
    box-shadow:0 2px 10px rgba(20,62,80,.06);
    margin-bottom:0;
}
.nav-wrap { min-height:72px; gap:24px; }
.brand {
    display:flex;
    align-items:center;
    gap:11px;
    color:var(--dtic-blue-dark);
    min-width:235px;
}
.brand:hover { text-decoration:none; }
.brand-logo {
    width:auto;
    height:39px;
    max-width:145px;
    object-fit:contain;
    flex:0 0 auto;
}
.brand-copy { display:flex; flex-direction:column; line-height:1.08; }
.brand-copy strong { font-size:19px; letter-spacing:.01em; }
.brand-copy small { margin-top:4px; color:#6d7e86; font-size:10px; font-weight:600; }
.nav { flex:1; justify-content:flex-end; }
.nav a { color:#385461; padding:8px 9px; }
.nav a:hover { background:var(--dtic-blue-soft); color:var(--dtic-blue-dark); }
.nav .nav-logout { color:#6e777c; }

.analysis-bar {
    background:linear-gradient(90deg, var(--dtic-blue-dark), var(--dtic-blue));
    border-bottom:3px solid var(--dtic-green);
    margin-top:0;
    margin-bottom:24px;
    color:#fff;
}
.analysis-links { min-height:42px; }
.analysis-links span { color:rgba(255,255,255,.72); }
.analysis-links a { color:#fff; }
.analysis-links a:hover { background:rgba(255,255,255,.12); color:#fff; }
.analysis-links a.active { background:var(--dtic-green); color:#183b4b; font-weight:700; }

button, .btn { background:var(--dtic-blue-dark); }
button:hover, .btn:hover { filter:brightness(.96); }
.btn.secondary { background:#647b86; }
.filter-panel, .search-row, .panel, .metric { border-color:#d6e4e9; }
.metric { border-top:3px solid rgba(7,143,189,.32); }
.metric:nth-child(3n+2) { border-top-color:rgba(145,189,34,.48); }
.notice { border-left:4px solid var(--dtic-green); }
.bulk-edit-panel { border-left-color:var(--dtic-blue); }
.bar-fill, .usage-fill { background:var(--dtic-blue); }
.profile-progress > span { background:linear-gradient(90deg,var(--dtic-blue),var(--dtic-green)); }

.dtic-footer {
    display:flex;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    border-top:1px solid #dbe6ea;
    margin-top:22px;
}
.dtic-footer strong { color:var(--dtic-blue-dark); }

.eyebrow {
    display:block;
    color:var(--dtic-blue-dark);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.page-head-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.machine-period-filter { border-left:4px solid var(--dtic-green); }

.machine-360-summary {
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#fff 0%,#f5fbfd 100%);
    border:1px solid #d6e5ea;
    border-left:6px solid var(--dtic-blue);
    border-radius:9px;
    padding:20px;
    margin-bottom:14px;
}
.machine-360-summary:after {
    content:'360°';
    position:absolute;
    right:16px;
    bottom:-23px;
    font-size:84px;
    font-weight:800;
    color:rgba(7,143,189,.045);
    pointer-events:none;
}
.machine-360-summary.machine-360-critico { border-left-color:#ad3e3e; }
.machine-360-summary.machine-360-alto { border-left-color:#d06f2d; }
.machine-360-summary.machine-360-atencao { border-left-color:#d0a82d; }
.machine-360-summary.machine-360-normal { border-left-color:var(--dtic-green); }
.machine-360-summary.machine-360-neutro { border-left-color:#9aa9b0; }
.machine-360-status { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; position:relative; z-index:1; }
.machine-360-status h2 { margin:2px 0 6px; font-size:24px; }
.machine-360-status p { margin:0; color:#536872; max-width:820px; }
.machine-health-badge {
    min-width:135px;
    border:1px solid #d6e5ea;
    border-radius:8px;
    padding:10px 12px;
    background:#fff;
    text-align:center;
}
.machine-health-badge span { display:block; color:#6a7a82; font-size:10px; text-transform:uppercase; font-weight:800; }
.machine-health-badge strong { display:block; margin-top:4px; color:#2e4b59; font-size:14px; }
.machine-health-badge.normal { background:var(--dtic-green-soft); border-color:#d7e8ae; }
.machine-health-badge.atencao { background:#fff9e9; border-color:#ead99a; }
.machine-health-badge.alto { background:#fff3e9; border-color:#edc6a8; }
.machine-health-badge.critico { background:#fff0f0; border-color:#e7baba; }
.machine-360-disclaimer { position:relative; z-index:1; margin:14px 0 0; padding-top:11px; border-top:1px solid #e4ecef; font-size:11px; color:#708089; }

.machine-360-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(220px,1fr));
    gap:11px;
    margin-bottom:18px;
}
.machine-360-card {
    display:flex;
    gap:11px;
    align-items:flex-start;
    min-height:100px;
    padding:13px 14px;
    background:#fff;
    border:1px solid #d9e5e9;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(25,62,77,.035);
}
.machine-360-icon {
    width:34px;
    height:34px;
    border-radius:9px;
    background:var(--dtic-blue-soft);
    color:var(--dtic-blue-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:19px;
    font-weight:800;
    flex:0 0 auto;
}
.machine-360-card:nth-child(even) .machine-360-icon { background:var(--dtic-green-soft); color:var(--dtic-green-dark); }
.machine-360-card > div > span { display:block; color:#70808a; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.machine-360-card strong { display:block; color:#243d49; margin:4px 0 3px; font-size:16px; line-height:1.2; }
.machine-360-card small { display:block; color:#687b84; font-size:11px; line-height:1.35; }
.machine-360-detail-grid { align-items:stretch; }
.machine-360-detail-grid > .panel { height:100%; }
.explanation-list { margin:0; padding-left:20px; color:#50646e; }
.explanation-list li { margin:0 0 8px; line-height:1.48; }
.explanation-list li::marker { color:var(--dtic-green-dark); }
.machine-context-list { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; }
.machine-context-list > div { padding:8px 0; border-bottom:1px solid #edf2f4; }
.machine-context-list span, .machine-context-list small { display:block; font-size:11px; color:#75858d; }
.machine-context-list strong { display:block; margin-top:2px; color:#334e5a; }
.profile-issues { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.profile-ok { margin-top:12px; padding:9px 11px; background:var(--dtic-green-soft); color:#496b23; border-radius:6px; font-size:12px; }

.machine-user-profile-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.machine-user-profile { display:block; padding:11px 12px; border:1px solid #dde7eb; border-radius:7px; background:#fbfdfe; color:#314d59; }
.machine-user-profile:hover { text-decoration:none; border-color:#a9cbd8; background:#f7fcfd; }
.machine-user-profile strong, .machine-user-profile span, .machine-user-profile small { display:block; }
.machine-user-profile > span { color:#74858d; font-size:11px; margin-top:2px; }
.machine-user-profile small { color:#657983; font-size:11px; }
.profile-progress { height:5px; background:#e9eff2; border-radius:4px; overflow:hidden; margin:8px 0 5px; }
.profile-progress > span { height:100%; display:block; border-radius:4px; }

@media (max-width:1050px) {
    .brand { min-width:190px; }
    .brand-logo { height:34px; max-width:125px; }
    .brand-copy small { display:none; }
    .machine-360-grid { grid-template-columns:repeat(2,minmax(200px,1fr)); }
}
@media (max-width:720px) {
    .nav-wrap { padding:10px 0; }
    .nav { justify-content:flex-start; }
    .analysis-bar { margin-top:0; }
    .machine-360-status { flex-direction:column; }
    .machine-health-badge { text-align:left; width:100%; }
    .machine-360-grid { grid-template-columns:1fr; }
    .machine-context-list { grid-template-columns:1fr; }
    .page-head-actions { justify-content:flex-start; }
}

/* DTIC 360 v14.1 - integração opcional GLPI na Visão 360° */
.glpi-ticket-panel { overflow: hidden; }
.glpi-ticket-summary { text-align: right; color: var(--muted, #667085); }
.glpi-ticket-summary strong { color: var(--primary, #155a8a); font-size: 1.35rem; }
.glpi-ticket-summary small { display: block; margin-top: 2px; }
.glpi-ticket-list { display: grid; gap: 8px; }
.glpi-ticket-item {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 11px 12px; border: 1px solid rgba(20, 70, 100, .12);
    border-radius: 9px; background: rgba(255,255,255,.7);
}
.glpi-ticket-main { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.glpi-ticket-main strong { display: block; overflow-wrap: anywhere; }
.glpi-ticket-main small { display: block; margin-top: 3px; color: var(--muted, #667085); }
.glpi-ticket-id { font-weight: 700; color: var(--primary, #155a8a); white-space: nowrap; }
.glpi-ticket-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.btn.small { padding: 5px 9px; font-size: .82rem; }
@media (max-width: 720px) {
    .glpi-ticket-item { align-items: flex-start; flex-direction: column; }
    .glpi-ticket-actions { width: 100%; justify-content: space-between; }
    .glpi-ticket-summary { text-align: left; }
}


/* v14.2 - Status da integração GLPI */
.glpi-status-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;margin-bottom:18px}
.glpi-config-list{display:grid;gap:0;margin-top:8px}
.glpi-config-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e8edf1}
.glpi-config-list>div:last-child{border-bottom:0}
.glpi-config-list span{color:#66747d;font-size:.92rem}
.glpi-config-list code{overflow-wrap:anywhere;white-space:normal}
.status-pill{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.01em}
.status-ok{background:#e6f5ec;color:#176b3b}
.status-error{background:#fdebea;color:#a52620}
.status-off{background:#eef1f3;color:#59656c}
.glpi-test-form{margin-top:16px}
.glpi-test-form label{display:block;font-weight:700;margin-bottom:7px}
.glpi-test-form label small{font-weight:400;color:#6d7b83}
.glpi-test-row{display:flex;gap:10px;align-items:stretch}
.glpi-test-row input{flex:1;min-width:0}
.help-text{color:#6c7980;font-size:.88rem;margin-top:12px}
.glpi-diagnostic-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.glpi-tested-host{background:#f4f7f8;border:1px solid #e0e7ea;border-radius:8px;padding:8px 12px;white-space:nowrap}
.glpi-step-list{display:grid;gap:10px}
.glpi-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e1e7ea;border-radius:10px;background:#fff}
.glpi-step-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;background:#eef2f4;color:#53636c}
.glpi-step-ok{border-left:4px solid #238854}.glpi-step-ok .glpi-step-icon{background:#e6f5ec;color:#176b3b}
.glpi-step-erro{border-left:4px solid #c43d35}.glpi-step-erro .glpi-step-icon{background:#fdebea;color:#a52620}
.glpi-step-aviso{border-left:4px solid #cf8b16}.glpi-step-aviso .glpi-step-icon{background:#fff4d9;color:#8c5a00}
.glpi-step-info{border-left:4px solid #3b78a7}.glpi-step-info .glpi-step-icon{background:#e9f3fa;color:#245f8a}
.glpi-step-title{display:flex;justify-content:space-between;gap:10px;align-items:center}
.glpi-step-title small{color:#7a878e}
.glpi-step-body p{margin:4px 0 0;color:#44535b}
.glpi-step-body details{margin-top:8px}
.glpi-step-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fa;border:1px solid #e2e7ea;border-radius:7px;padding:9px;font-size:.82rem}
.glpi-machine-test-summary{margin-top:14px;padding:10px 12px;background:#f5f8fa;border-radius:8px}
.glpi-ticket-list-compact{margin-top:8px}
@media(max-width:850px){.glpi-status-grid{grid-template-columns:1fr}.glpi-config-list>div{grid-template-columns:1fr;gap:3px}.glpi-test-row{flex-direction:column}.glpi-diagnostic-head{flex-direction:column}.glpi-tested-host{white-space:normal}}


/* v14.4 - Resumo GLPI + painel operacional Service Desk */
.glpi-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:12px 0 16px}
.glpi-summary-cards>div{border:1px solid #e3eaed;border-radius:10px;padding:12px;background:#f9fbfc}
.glpi-summary-cards span,.glpi-summary-cards small{display:block;color:#6d7c84;font-size:.78rem}
.glpi-summary-cards strong{display:block;margin:3px 0;color:#284652;font-size:1.28rem}
.glpi-pressure-critico{border-left:4px solid #ad3e3e!important}.glpi-pressure-alto{border-left:4px solid #d06f2d!important}.glpi-pressure-atencao{border-left:4px solid #d0a82d!important}.glpi-pressure-normal{border-left:4px solid var(--dtic-green)!important}
.glpi-recurrence{margin:0 0 15px;padding:12px 14px;border-radius:10px;background:#fff8e8;border:1px solid #ead8a6}
.glpi-recurrence>strong,.glpi-recurrence>span,.glpi-recurrence>small{display:block}.glpi-recurrence>span{margin:3px 0 8px;color:#6c6249}.glpi-recurrence>div{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.glpi-recurrence>small{color:#80745b}
.service-desk-cards{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:18px}
.service-desk-metric{background:#fff;border:1px solid #e1e8eb;border-top:4px solid #9aa9b0;border-radius:11px;padding:14px;min-height:112px}
.service-desk-metric>span,.service-desk-metric>small{display:block}.service-desk-metric>span{font-size:.78rem;font-weight:800;color:#62727a;text-transform:uppercase}.service-desk-metric>strong{display:block;font-size:2rem;line-height:1.1;margin:8px 0 5px;color:#254552}.service-desk-metric>small{color:#77858b;line-height:1.3}
.service-desk-alto{border-top-color:#c75b42}.service-desk-atencao{border-top-color:#d3a12d}.service-desk-normal{border-top-color:var(--dtic-green)}.service-desk-neutro{border-top-color:#91a4ac}
.service-glpi-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-glpi-summary>div{padding:11px 12px;background:#f5f8fa;border-radius:9px}.service-glpi-summary strong{font-size:1.45rem;color:var(--dtic-blue);display:block}.service-glpi-summary span{font-size:.8rem;color:#6a7981}
.service-desk-table small{display:block;color:#77858b;margin-top:3px}.service-reasons{display:flex;flex-wrap:wrap;gap:5px}.service-reasons span{font-size:.75rem;padding:3px 7px;border-radius:999px;background:#f2f5f6;color:#53666f;border:1px solid #e0e6e8}
@media(max-width:1200px){.service-desk-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.glpi-summary-cards,.service-glpi-summary{grid-template-columns:repeat(2,1fr)}.service-desk-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.glpi-summary-cards,.service-glpi-summary,.service-desk-cards{grid-template-columns:1fr}}


/* v14.5 - varredura completa GLPI no painel Service Desk */
.glpi-fullscan-panel{border-left:5px solid var(--dtic-blue)}
.glpi-scan-progress{margin-top:16px;padding:14px;border:1px solid #dce6ea;border-radius:10px;background:#f8fbfc}
.glpi-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#34515d}
.glpi-progress-track{height:12px;border-radius:999px;background:#e4ecef;overflow:hidden}
.glpi-progress-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--dtic-blue),var(--dtic-green));transition:width .2s ease}
.glpi-progress-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.glpi-progress-stats span{padding:8px 10px;background:#fff;border:1px solid #e3e9ec;border-radius:8px;color:#6b7a82;font-size:.8rem}
.glpi-progress-stats strong{display:block;color:#294b59;font-size:1.2rem}
.glpi-progress-error{margin:10px 0 0;color:#a12b26;font-weight:700}
.glpi-full-summary{grid-template-columns:repeat(6,minmax(120px,1fr));margin:12px 0}
.glpi-stat-rule{margin:12px 0 16px}
.glpi-open-table .glpi-open-count{font-size:1.2rem;color:#a34135}
.glpi-open-outlier{background:#fff7f2}
.glpi-open-outlier td:first-child{border-left:4px solid #c4553f}
.glpi-outlier-label{display:block!important;color:#a34135!important;font-weight:800;margin-top:3px}
.mini-chip{display:inline-block;margin:2px 3px 2px 0;padding:3px 6px;border-radius:999px;background:#f1f5f6;border:1px solid #dfe7ea;font-size:.72rem;color:#53666f}
@media(max-width:1100px){.glpi-full-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.glpi-progress-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.glpi-full-summary,.glpi-progress-stats{grid-template-columns:1fr}}


/* Inventário via GLPI - v14.6 */
.glpi-inventory-panel{border-top:3px solid var(--dtic-green)}
.glpi-inventory-options{display:grid;gap:9px;margin:14px 0;padding:12px 14px;border:1px solid #dfe8eb;border-radius:9px;background:#f9fbfc}
.glpi-inventory-options label{display:flex;align-items:flex-start;gap:8px;color:#344f5a;font-size:.9rem}
.glpi-inventory-options input{margin-top:3px}
.inventory-source-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.inventory-last-sync{display:grid;grid-template-columns:auto auto;gap:3px 12px;margin-top:14px;padding:11px 13px;border-left:3px solid var(--dtic-blue);background:#f5f9fb;border-radius:4px}
.inventory-last-sync strong{color:#294b59}.inventory-last-sync span{color:#58707a}.inventory-last-sync small{grid-column:1/-1;color:#74858c}
.inventory-progress-stats{grid-template-columns:repeat(6,1fr)}
@media(max-width:1000px){.inventory-progress-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.inventory-progress-stats{grid-template-columns:1fr 1fr}.inventory-last-sync{grid-template-columns:1fr}}

/* v14.7 - atualização de nomes de usuários via GLPI */
.user-glpi-panel{border-top:3px solid var(--dtic-blue)}
.user-glpi-rules{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.user-glpi-rules span{padding:7px 10px;border-radius:8px;background:#f5f9fb;border:1px solid #dfe8eb;color:#536a74;font-size:.82rem}
.user-progress-stats{grid-template-columns:repeat(4,minmax(110px,1fr))}
@media(max-width:800px){.user-progress-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.user-progress-stats{grid-template-columns:1fr}}

/* v14.8 - Gestão gerencial de chamados GLPI */
.gg-sync-panel{border-top:4px solid var(--dtic-blue)}
.gg-progress-stats{grid-template-columns:repeat(6,minmax(110px,1fr))}
.gg-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:0 0 18px}
.gg-kpi{display:block;text-decoration:none;background:#fff;border:1px solid #dfe7ea;border-top:4px solid var(--dtic-blue);border-radius:11px;padding:14px;min-height:112px;color:inherit;transition:transform .12s ease,box-shadow .12s ease}
.gg-kpi:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(31,72,91,.10)}
.gg-kpi span,.gg-kpi small{display:block}.gg-kpi span{font-size:.78rem;font-weight:800;text-transform:uppercase;color:#62737b}.gg-kpi strong{display:block;font-size:2rem;line-height:1.1;margin:8px 0 5px;color:#244b5b}.gg-kpi small{font-size:.78rem;color:#77858b;line-height:1.3}
.gg-kpi-critical{border-top-color:#b94438}.gg-kpi-critical strong{color:#a9362d}.gg-kpi-high{border-top-color:#d27937}.gg-kpi-high strong{color:#a85c28}
.gg-kpi-kb{border-top-color:var(--dtic-green)}.gg-kpi-kb strong{color:#287044}
.gg-sync-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gg-kb-warning{margin-top:10px}
.gg-category-link{color:var(--dtic-blue);text-decoration:none;border-bottom:1px dotted rgba(23,92,122,.35)}.gg-category-link:hover{color:#154f69;border-bottom-style:solid}
.gg-signal-base_conhecimento{background:#e5f5ec!important;color:#216a42!important;border:1px solid #c8e7d5}
.gg-kb-suggestion{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:10px 11px;border:1px solid #cfe6d8;border-left:4px solid var(--dtic-green);border-radius:8px;background:#f5fbf7}.gg-kb-suggestion>div{min-width:0}.gg-kb-suggestion strong,.gg-kb-suggestion span,.gg-kb-suggestion small{display:block}.gg-kb-suggestion strong{color:#286a46;font-size:.82rem}.gg-kb-suggestion span{color:#405f51;font-size:.79rem;margin-top:2px;overflow-wrap:anywhere}.gg-kb-suggestion small{color:#73857a;font-size:.72rem;margin-top:3px}
.gg-category-table th,.gg-category-table td{white-space:nowrap}.gg-category-table td:first-child{white-space:normal;min-width:220px}.gg-count{display:inline-flex;min-width:28px;height:26px;align-items:center;justify-content:center;border-radius:999px;font-weight:800;background:#eef3f5;color:#53666f}.gg-count.critical{background:#fdebea;color:#a42c25}.gg-count.high{background:#fff0e4;color:#9a5524}
.gg-filter-grid{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(145px,.8fr)) minmax(220px,1.4fr) auto;gap:10px;align-items:end;margin:14px 0 18px}.gg-filter-grid label{display:block;font-size:.76rem;text-transform:uppercase;font-weight:800;color:#687982;margin-bottom:5px}.gg-filter-grid select,.gg-filter-grid input{width:100%}.gg-filter-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}
.gg-ticket-list{display:grid;gap:11px}.gg-ticket{background:#fff;border:1px solid #dfe7ea;border-left:5px solid #97aab2;border-radius:10px;padding:13px 14px}.gg-ticket-critico{border-left-color:#b94438;background:#fffafa}.gg-ticket-alto{border-left-color:#d27937}.gg-ticket-atencao{border-left-color:#d4a328}.gg-ticket-normal{border-left-color:var(--dtic-green)}
.gg-ticket-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.gg-ticket-title{display:flex;gap:10px;min-width:0;align-items:flex-start}.gg-ticket-title>div{min-width:0}.gg-ticket-title strong{display:block;color:#274b59;overflow-wrap:anywhere}.gg-ticket-title small{display:block;color:#718087;margin-top:4px}.gg-ticket-id{font-weight:900;color:var(--dtic-blue);white-space:nowrap}.gg-ticket-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.gg-ticket-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.gg-ticket-meta span{padding:5px 8px;border-radius:7px;background:#f4f7f8;border:1px solid #e4eaec;font-size:.76rem;color:#60717a}.gg-ticket-meta strong{color:#304f5d;font-size:.9rem}.gg-ticket-meta b{color:#415d69}.gg-signal-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.gg-signal{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.73rem;font-weight:700;background:#eef3f5;color:#53666f}.gg-signal-critico{background:#fdebea;color:#a42c25}.gg-signal-alto{background:#fff0e4;color:#9a5524}.gg-signal-atencao{background:#fff7db;color:#866418}.gg-signal-normal{background:#e9f5ee;color:#287044}.gg-ticket-foot{margin-top:9px;padding-top:8px;border-top:1px dashed #dde5e8;font-size:.75rem;color:#75848b}.gg-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.gg-pagination>div{display:flex;align-items:center;gap:8px}.gg-method-note{margin-top:16px}
@media(max-width:1250px){.gg-kpi-grid{grid-template-columns:repeat(4,1fr)}.gg-filter-grid{grid-template-columns:repeat(3,1fr)}.gg-filter-search{grid-column:span 2}.gg-filter-actions{grid-column:span 1}}
@media(max-width:900px){.gg-kpi-grid{grid-template-columns:repeat(2,1fr)}.gg-progress-stats{grid-template-columns:repeat(2,1fr)}.gg-ticket-top{flex-direction:column}.gg-ticket-actions{width:100%;justify-content:space-between}.gg-filter-grid{grid-template-columns:repeat(2,1fr)}.gg-filter-search{grid-column:span 2}.gg-filter-actions{grid-column:span 2}}
@media(max-width:560px){.gg-kpi-grid,.gg-filter-grid,.gg-progress-stats{grid-template-columns:1fr}.gg-filter-search,.gg-filter-actions{grid-column:span 1}.gg-filter-actions{flex-wrap:wrap}.gg-ticket-title{flex-direction:column;gap:4px}.gg-pagination{align-items:flex-start;flex-direction:column}}

/* v14.10 - laboratório local de Base de Conhecimento */
.gg-kb-lab-panel{border-top:4px solid var(--dtic-green);}
.gg-kb-method-card{margin:12px 0 14px;padding:12px 14px;border:1px solid #d7e9df;border-radius:10px;background:#f7fbf8;display:grid;gap:4px;}
.gg-kb-method-card strong{color:#285f43;font-size:.92rem;}
.gg-kb-method-card span{color:#435c50;font-size:.84rem;line-height:1.45;}
.gg-kb-method-card small{color:#738179;font-size:.75rem;}
.gg-kb-actions{margin-top:4px;}
.gg-kb-analysis-summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding:10px 12px;border-radius:9px;background:#f6f8fa;border:1px solid #e2e8ec;color:#50606a;font-size:.79rem;}
.gg-kb-analysis-summary strong{color:#253b47;}
.gg-kb-suggestion-v2{display:block;}
.gg-kb-main-match{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.gg-kb-main-match>div:first-child{min-width:0;}
.gg-kb-match-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto;}
.gg-kb-score{font-size:.72rem;font-weight:700;color:#2d6d49;background:#e7f5ec;border:1px solid #c9e8d5;border-radius:999px;padding:4px 7px;white-space:nowrap;}
.gg-kb-alternatives{border-top:1px solid #dcebe1;margin-top:9px;padding-top:8px;display:grid;gap:5px;}
.gg-kb-alternatives>small{font-weight:700;color:#61746a;}
.gg-kb-alt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.77rem;color:#4a5d53;}
.gg-kb-alt-row span{min-width:0;overflow-wrap:anywhere;}
.gg-kb-alt-row em{font-style:normal;color:#7b8981;font-size:.72rem;}
.gg-kb-alt-row a{font-weight:700;white-space:nowrap;}
@media(max-width:720px){.gg-kb-main-match{display:block}.gg-kb-match-actions{margin-top:8px}.gg-kb-alt-row{align-items:flex-start}}

/* v14.11 - resumo gerencial dos chamados */
.gg-ticket-summary{margin-top:10px;padding:10px 12px;border:1px solid #dce7ea;border-radius:9px;background:#f8fbfc}
.gg-ticket-summary-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;color:#315866;font-size:.78rem}
.gg-ticket-summary-head strong{font-size:.8rem;color:#294f5d}
.gg-internal-note-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#f1eaf8;color:#69468a;border:1px solid #dfd0ee;font-size:.68rem;font-weight:700}
.gg-ticket-summary-body{display:grid;gap:4px}
.gg-ticket-summary-body p{margin:0;color:#506871;font-size:.79rem;line-height:1.42;overflow-wrap:anywhere}

/* v14.13 - gestão GLPI mais enxuta e visão pessoal por categoria */
.gg-ops-details{padding:0;overflow:hidden;border-top:1px solid #dce5e9}
.gg-ops-details.gg-sync-panel{border-top:4px solid var(--dtic-blue)}
.gg-ops-details.gg-kb-lab-panel{border-top:4px solid var(--dtic-green)}
.gg-ops-summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;list-style-position:inside;background:#fff}
.gg-ops-summary:hover{background:#f8fbfc}
.gg-ops-details[open]>.gg-ops-summary,.gg-preference-panel[open]>.gg-ops-summary{border-bottom:1px solid #e1e8eb;background:#f9fbfc}
.gg-ops-summary-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.gg-ops-summary-main>strong{color:#294b59;font-size:.95rem}
.gg-ops-summary-main>small{color:#70818a;font-size:.76rem;line-height:1.35}
.gg-ops-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:0 0 auto}
.gg-ops-inline-stat{font-size:.74rem;color:#677a84;background:#f1f5f7;border:1px solid #dfe7eb;border-radius:999px;padding:4px 8px;white-space:nowrap}
.gg-ops-content{padding:15px 16px 17px}
.gg-preference-panel{padding:0;overflow:hidden;border-top:3px solid #829aa5}
.gg-preference-form{display:grid;gap:13px}
.gg-preference-toggle{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #dce6ea;border-radius:9px;background:#f8fbfc}
.gg-preference-toggle input{margin-top:3px}
.gg-preference-toggle span{display:flex;flex-direction:column;gap:2px}
.gg-preference-toggle small{color:#71828a;font-size:.75rem;font-weight:400}
.gg-category-picker-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gg-category-picker-toolbar input[type="search"]{min-width:260px;flex:1 1 320px}
.gg-category-picker{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:7px;max-height:330px;overflow:auto;padding:8px;border:1px solid #dfe7eb;border-radius:9px;background:#fbfcfd}
.gg-category-picker label{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-radius:7px;font-size:.8rem;color:#445963;line-height:1.3}
.gg-category-picker label:hover{background:#eef5f7}
.gg-category-picker input{margin-top:2px;flex:0 0 auto}
@media(max-width:760px){.gg-ops-summary{align-items:flex-start;flex-direction:column}.gg-ops-summary-meta{justify-content:flex-start}.gg-category-picker{grid-template-columns:1fr}}

/* v14.14 - navegação por objetivo e preferência GLPI compacta */
.nav-primary{align-items:center;gap:4px;flex-wrap:nowrap;overflow:visible}
.nav-primary>a,.nav-group>summary{white-space:nowrap}
.nav-primary .nav-direct,.nav-primary .nav-logout,.nav-group>summary{display:flex;align-items:center;min-height:38px;padding:8px 9px;border-radius:7px;color:#385461;font-size:13px;font-weight:650;text-decoration:none;cursor:pointer}
.nav-primary .nav-direct:hover,.nav-primary .nav-logout:hover,.nav-group>summary:hover{background:var(--dtic-blue-soft);color:var(--dtic-blue-dark);text-decoration:none}
.nav-primary .nav-direct.active,.nav-group.active>summary{background:#eaf6fa;color:var(--dtic-blue-dark);box-shadow:inset 0 -2px 0 var(--dtic-blue)}
.nav-primary .nav-optimization{color:#527116}
.nav-primary .nav-optimization.active{background:var(--dtic-green-soft);color:#506f14;box-shadow:inset 0 -2px 0 var(--dtic-green)}
.nav-primary .nav-logout{margin-left:3px;color:#77858b}
.nav-group{position:relative;margin:0;padding:0}
.nav-group>summary{list-style:none;user-select:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:'▾';font-size:9px;margin-left:6px;color:#82939a;transition:transform .15s ease}
.nav-group[open]>summary::after{transform:rotate(180deg)}
.nav-group[open]>summary{background:#f2f8fa;color:var(--dtic-blue-dark)}
.nav-dropdown{position:absolute;z-index:80;top:calc(100% + 7px);left:0;width:285px;padding:7px;background:#fff;border:1px solid #d7e4e9;border-radius:10px;box-shadow:0 13px 30px rgba(25,61,77,.16)}
.nav-dropdown-right{left:auto;right:0}
.nav-dropdown:before{content:'';position:absolute;top:-8px;left:20px;width:14px;height:14px;background:#fff;border-left:1px solid #d7e4e9;border-top:1px solid #d7e4e9;transform:rotate(45deg)}
.nav-dropdown-right:before{left:auto;right:20px}
.nav-dropdown a{position:relative;z-index:1;display:block;padding:9px 10px!important;border-radius:7px!important;color:#395560!important}
.nav-dropdown a:hover{background:#f0f7f9!important;text-decoration:none!important}
.nav-dropdown a.active{background:#eaf6fa!important;color:var(--dtic-blue-dark)!important}
.nav-dropdown a strong,.nav-dropdown a small{display:block}
.nav-dropdown a strong{font-size:12px;line-height:1.25;color:inherit}
.nav-dropdown a small{font-size:10px;line-height:1.3;color:#809098;margin-top:2px;font-weight:500}

/* A navegação agrupada substitui a antiga segunda barra de análises. */
.analysis-bar{display:none!important}

/* Minha visão gerencial: mais compacta e legível, sem herdar o uppercase global de label. */
.gg-preference-panel .gg-ops-summary{padding:11px 14px}
.gg-preference-panel .gg-ops-summary-main>strong{font-size:.86rem}
.gg-preference-panel .gg-ops-summary-main>small{font-size:.69rem}
.gg-preference-panel .gg-ops-content{padding:12px 14px 14px}
.gg-preference-toggle{text-transform:none!important;letter-spacing:0!important;font-size:.75rem!important;font-weight:500!important;margin-bottom:0!important;padding:9px 10px}
.gg-preference-toggle strong{font-size:.76rem;line-height:1.25;text-transform:none;letter-spacing:0}
.gg-preference-toggle small{font-size:.68rem;line-height:1.3}
.gg-category-picker-toolbar input[type="search"]{min-height:34px;padding:6px 9px;font-size:12px}
.gg-category-picker{gap:4px;max-height:270px;padding:6px}
.gg-category-picker label{padding:5px 7px;font-size:.72rem!important;line-height:1.22!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}
.gg-category-picker label span{font-size:.72rem;line-height:1.22;font-weight:500;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.gg-category-picker input{width:auto;min-height:0;margin-top:1px}

@media(max-width:1180px){
  .nav-wrap{align-items:flex-start;padding:10px 0}
  .nav-primary{justify-content:flex-start;flex-wrap:wrap}
  .brand{min-width:205px}
}
@media(max-width:760px){
  .nav-wrap{display:block}
  .brand{margin-bottom:9px}
  .nav-primary{display:flex;gap:4px}
  .nav-group{position:static;flex:1 1 auto}
  .nav-dropdown,.nav-dropdown-right{position:static;left:auto;right:auto;top:auto;width:100%;max-height:55vh;overflow:auto;margin-top:4px;box-shadow:none;border-radius:8px}
  .nav-dropdown:before{display:none}
  .nav-primary .nav-direct,.nav-primary .nav-logout,.nav-group>summary{font-size:12px;min-height:34px;padding:7px 8px}
  .gg-category-picker{grid-template-columns:1fr;max-height:300px}
}

/* v15.0 - Inteligência gerencial GLPI, Busca 360 e demanda por serviço */
.nav-search360{display:flex;align-items:center;margin-left:5px;border:1px solid #d8e4e8;border-radius:8px;background:#fff;overflow:hidden;height:34px;flex:0 1 170px;min-width:110px}
.nav-search360 input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0;width:130px;padding:6px 8px!important;font-size:11px!important;height:32px!important}
.nav-search360 button{border:0;background:transparent;color:var(--dtic-blue);font-size:18px;line-height:1;padding:3px 8px;min-height:32px;cursor:pointer}
.nav-search360:focus-within{border-color:#8bb4c5;box-shadow:0 0 0 2px rgba(47,119,151,.08)}

/* Busca 360 */
.search360-form{padding:16px 18px}.search360-form>label{font-weight:800;color:#355562;display:block;margin-bottom:7px}.search360-row{display:flex;gap:8px}.search360-row input{flex:1;min-width:0;font-size:1rem}.search360-summary{display:flex;align-items:baseline;gap:8px;margin:16px 2px;color:#6b7a82}.search360-summary strong{font-size:1.6rem;color:var(--dtic-blue)}
.search360-section{margin-top:14px}.search360-list{display:grid;gap:8px}.search360-item{display:flex;gap:11px;padding:11px 12px;border:1px solid #e0e7ea;border-radius:9px;background:#fbfcfd}.search360-icon{width:30px;height:30px;border-radius:8px;background:#e9f4f8;color:var(--dtic-blue);display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.search360-main{min-width:0;flex:1}.search360-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search360-title a{font-weight:750}.search360-main small{display:block;color:#71818a;margin-top:2px}.search360-main p{margin:6px 0 0;color:#536870;font-size:.82rem;line-height:1.42}.search360-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:8px}.search360-card{display:block;padding:11px 12px;border:1px solid #e0e8eb;border-radius:9px;background:#fbfcfd;text-decoration:none!important}.search360-card:hover{background:#f0f7f9;border-color:#cbdde4}.search360-card strong,.search360-card span{display:block}.search360-card strong{color:#315462}.search360-card span{color:#77878e;font-size:.76rem;margin-top:3px;line-height:1.35}.compact-empty{padding:18px!important}

/* Indicadores executivos automáticos */
.executive-auto{border-top:4px solid var(--dtic-blue);margin-bottom:16px}.executive-auto-cards{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;margin:10px 0 14px}.executive-auto-cards>div{background:#f8fbfc;border:1px solid #e0e8eb;border-radius:9px;padding:11px}.executive-auto-cards span,.executive-auto-cards small{display:block;color:#72828a;font-size:.72rem}.executive-auto-cards strong{display:block;font-size:1.45rem;color:#294e5b;margin:4px 0}.executive-briefing{display:grid;gap:7px}.auto-insight{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:4px solid #93a5ad;background:#f8fafb;border-radius:7px;padding:9px 11px}.auto-insight strong{color:#36545f;font-size:.86rem}.auto-insight p{margin:2px 0 0;color:#61727a;font-size:.78rem;line-height:1.4}.auto-insight a{white-space:nowrap;font-size:.76rem;font-weight:750}.auto-insight.alto{border-left-color:#c7503f;background:#fff8f5}.auto-insight.atencao{border-left-color:#d3a12d;background:#fffaf0}.auto-insight.normal{border-left-color:var(--dtic-green);background:#f7fbf8}.auto-insight.neutro{border-left-color:#8da0a9}

/* Demanda por serviço */
.service-demand-panel{border-top:4px solid #5f8f43}.service-demand-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:9px;margin:12px 0 15px}.service-demand-kpis>div{padding:11px 12px;border:1px solid #dfe8e1;border-radius:9px;background:#f8fbf8}.service-demand-kpis span,.service-demand-kpis small{display:block;color:#708078;font-size:.72rem}.service-demand-kpis strong{display:block;color:#355e43;font-size:1.25rem;margin:4px 0}.service-demand-table td:first-child{min-width:150px}.spark-bars.service{min-width:100px}.history-update-details{margin-top:14px;border-top:1px solid #e0e8e3;padding-top:10px}.history-update-details>summary{cursor:pointer;color:#49675a;font-size:.8rem;font-weight:800}.history-update-body{padding:11px 0 0}.history-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.history-actions label{font-size:.78rem!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}.history-actions select{display:block;margin-top:4px}.history-actions button{white-space:nowrap}

/* Problemas recorrentes */
.recurring-kpis{grid-template-columns:repeat(5,minmax(125px,1fr))}.rec-analysis-meta{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 14px}.rec-analysis-meta span{font-size:.76rem;padding:6px 9px;border:1px solid #dfe7ea;border-radius:999px;background:#f7f9fa;color:#687a83}.rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rec-card{background:#fff;border:1px solid #dfe7ea;border-left:5px solid #90a1a8;border-radius:10px;padding:14px}.rec-card.rec-alto{border-left-color:#bf4b3d}.rec-card.rec-atencao{border-left-color:#d09a27}.rec-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rec-card-head h2{font-size:1rem;line-height:1.35;margin:4px 0 0;color:#2e4e5a}.rec-level{display:inline-flex;font-size:.68rem;font-weight:800;border-radius:999px;padding:3px 7px;background:#eef2f4;color:#5f7078}.rec-alto .rec-level{background:#fbeae7;color:#9a342b}.rec-atencao .rec-level{background:#fff3d8;color:#885e0b}.rec-count{text-align:right;white-space:nowrap}.rec-count strong{display:block;font-size:1.65rem;color:#315865}.rec-count small{font-size:.68rem;color:#7b8990}.rec-meta{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.rec-meta span{font-size:.68rem;background:#f2f6f7;border:1px solid #e1e8ea;border-radius:999px;padding:3px 7px;color:#60727a}.rec-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:#f8fafb;border-radius:8px}.rec-trend span{font-size:.66rem;color:#74838a}.rec-trend strong{display:block;color:#405d68;font-size:.95rem;margin-top:2px}.rec-trend .trend-up strong{color:#a54a35}.rec-trend .trend-down strong{color:#35745a}.rec-terms{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:9px}.rec-terms small{width:100%;color:#7a888e;font-size:.68rem}.rec-terms span{font-size:.66rem;padding:2px 6px;border-radius:999px;background:#edf5ee;color:#4e6e58}.rec-examples{display:grid;gap:4px;margin-top:10px;border-top:1px solid #e5eaec;padding-top:8px}.rec-examples>small{color:#75858c;font-weight:700}.rec-examples a{font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.rec-examples em{font-style:normal;font-size:.62rem;margin-left:4px;color:#2e7752;background:#e8f5ed;padding:2px 5px;border-radius:999px}

@media(max-width:1180px){.executive-auto-cards{grid-template-columns:repeat(3,1fr)}.search360-grid{grid-template-columns:repeat(2,1fr)}.rec-grid{grid-template-columns:1fr}.recurring-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.nav-search360{order:10;flex:1 1 180px}.nav-search360 input{width:100%}.service-demand-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.search360-row{flex-direction:column}.search360-grid,.executive-auto-cards,.service-demand-kpis,.recurring-kpis{grid-template-columns:1fr}.auto-insight{align-items:flex-start;flex-direction:column}.rec-trend{grid-template-columns:1fr}.nav-search360{flex:1 1 100%;max-width:none}}

/* DTIC 360 v15.1 - visão gerencial compartilhada, home ampla e Busca 360 contextual */
.vision-scope-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:9px 12px;border:1px solid #dce8e3;border-radius:9px;background:#f7fbf8;color:#536970;font-size:.78rem}
.vision-scope-main{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.vision-scope-categories{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.vision-scope-categories>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border-radius:12px;background:#fff;border:1px solid #dce6e1;color:#60736a;font-size:.68rem}.vision-scope-categories>a{font-size:.7rem;font-weight:750;white-space:nowrap}
.home-search-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:3px solid var(--dtic-blue);padding:13px 15px}.home-search-copy{display:flex;flex-direction:column;gap:2px;min-width:230px}.home-search-copy strong{font-size:.92rem;color:#315462}.home-search-copy span{font-size:.74rem;color:#708087;line-height:1.4}.home-search-form{display:flex;gap:7px;flex:1;max-width:680px}.home-search-form input{flex:1;min-width:0}
.home-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);gap:14px;margin:14px 0}.home-overview-card{margin:0}.home-mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(95px,1fr));gap:8px}.home-mini-metrics.three{grid-template-columns:repeat(3,minmax(95px,1fr))}.home-mini-metrics>a,.home-mini-metrics>div{display:block;padding:10px;border:1px solid #e1e8eb;border-radius:8px;background:#f9fbfc;text-decoration:none!important}.home-mini-metrics span,.home-mini-metrics small{display:block;color:#718188;font-size:.68rem}.home-mini-metrics strong{display:block;margin-top:3px;color:#315462;font-size:1.35rem}.home-mini-metrics a:hover{background:#f0f7f9;border-color:#cadce3}
.home-category-strip{margin-top:11px}.home-category-strip>small{display:block;color:#72828a;font-size:.69rem;font-weight:700;margin-bottom:5px}.home-category-strip>div{display:flex;gap:5px;flex-wrap:wrap}.home-category-strip a{display:flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;border:1px solid #e0e8eb;border-radius:14px;background:#fff;text-decoration:none!important;font-size:.69rem}.home-category-strip a span{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536970}.home-category-strip a strong{color:var(--dtic-blue)}
.home-recent-ticket{margin-top:11px;padding-top:9px;border-top:1px solid #e7ecee}.home-recent-ticket>small{display:block;color:#7a898f;font-size:.67rem;margin-bottom:3px}.home-recent-ticket>a{display:block;text-decoration:none!important}.home-recent-ticket strong,.home-recent-ticket span{display:block}.home-recent-ticket strong{font-size:.8rem;color:#355765}.home-recent-ticket span{font-size:.69rem;color:#77868d;margin-top:2px}.home-park-note{display:grid;gap:4px;margin:10px 1px;color:#6c7c83;font-size:.72rem}.home-intel-link{margin-top:10px;padding-top:10px;border-top:1px solid #e5ebed;display:flex;align-items:center;justify-content:space-between;gap:10px}.home-intel-link>a:first-child{display:flex;align-items:baseline;gap:6px;text-decoration:none!important}.home-intel-link>a:first-child strong{font-size:1.2rem;color:#315462}.home-intel-link>a:first-child span{font-size:.72rem;color:#6e7f86}.home-intel-link>a:last-child{font-size:.72rem;font-weight:750;white-space:nowrap}.home-analysis-head{display:flex;align-items:end;justify-content:space-between;margin:23px 0 8px}.home-analysis-head h2{margin:0;color:#315462}.home-analysis-head p{margin:3px 0 0}.home-analysis-hint{margin-top:9px}
.search360-focus{border-top:4px solid var(--dtic-blue);margin-top:14px}.search360-person{border-top-color:var(--dtic-green)}.search360-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.search360-focus-head h2{margin:5px 0 2px;font-size:1.25rem;color:#294e5b}.search360-focus-head p{margin:0;color:#718087;font-size:.78rem}.search360-focus-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.search360-focus-metrics>div,.search360-focus-metrics>a{display:block;padding:10px 11px;border:1px solid #e0e8eb;border-radius:8px;background:#f9fbfc;text-decoration:none!important}.search360-focus-metrics span,.search360-focus-metrics small{display:block;color:#72828a;font-size:.68rem}.search360-focus-metrics strong{display:block;color:#315462;font-size:1.4rem;margin:3px 0}.search360-focus-metrics .small-value{font-size:.9rem;line-height:1.3}.search360-focus-metrics>a:hover{background:#eef7f9}
.search360-focus-block{margin-top:14px;padding-top:12px;border-top:1px solid #e5ebed}.search360-focus-block h3{font-size:.9rem;color:#355765;margin:0 0 8px}.search360-machine-usage{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:7px}.search360-machine-usage>a{display:block;padding:9px 10px;border:1px solid #e1e8eb;border-radius:8px;background:#fbfcfd;text-decoration:none!important}.search360-machine-usage strong,.search360-machine-usage span,.search360-machine-usage small{display:block}.search360-machine-usage strong{color:#315462;font-size:.8rem}.search360-machine-usage span{font-size:.71rem;color:#65767e;margin-top:2px}.search360-machine-usage small{font-size:.66rem;color:#819097;margin-top:3px}.search360-ticket-full{padding:11px 12px;border:1px solid #dfe8eb;border-radius:9px;background:#fbfcfd}.search360-ticket-meta{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.search360-ticket-meta span{font-size:.68rem;padding:3px 6px;border-radius:10px;background:#eef3f5;color:#60727a}.search360-ticket-full>p{font-size:.78rem;line-height:1.45;color:#536970}.search360-ticket-actors{display:grid;gap:3px;margin-top:8px;color:#6b7b82;font-size:.69rem}.search360-machine-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border-radius:8px;background:#f5f8f9;color:#63747b;font-size:.7rem}.search360-inline-list{display:flex;gap:6px;flex-wrap:wrap}.search360-inline-list>a{display:block;min-width:150px;padding:7px 9px;border:1px solid #e0e7ea;border-radius:8px;background:#fff;text-decoration:none!important}.search360-inline-list strong,.search360-inline-list span{display:block}.search360-inline-list strong{font-size:.75rem;color:#365765}.search360-inline-list span{font-size:.65rem;color:#7b898f;margin-top:2px}
@media(max-width:1050px){.home-overview-grid{grid-template-columns:1fr}.home-mini-metrics{grid-template-columns:repeat(2,1fr)}.search360-focus-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.vision-scope-note,.home-search-panel,.search360-focus-head{align-items:flex-start;flex-direction:column}.vision-scope-categories{justify-content:flex-start}.home-search-form{width:100%;max-width:none}.home-mini-metrics,.home-mini-metrics.three,.search360-focus-metrics,.search360-machine-usage{grid-template-columns:1fr}.home-intel-link{align-items:flex-start;flex-direction:column}}

/* DTIC 360 v15.3 - GLPI Tempo Real */
.tr-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.tr-page-head h1{margin-bottom:6px}.tr-head-actions{padding-top:6px;white-space:nowrap}.tr-readonly-note{margin-top:12px}.tr-status-panel{margin-top:14px;padding:14px 16px}.tr-sync-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.94rem}.tr-sync-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:7px;color:var(--muted,#687386);font-size:.82rem}.tr-dot{width:9px;height:9px;border-radius:999px;display:inline-block;background:#7b8794;box-shadow:0 0 0 3px rgba(123,135,148,.12)}.tr-dot.ok{background:#248a5a}.tr-dot.working{background:#b77800}.tr-dot.error{background:#b42318}.tr-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#eef2f7;font-size:.76rem;font-weight:600}.tr-pill.warn{background:#fff3cd;color:#795600}.tr-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0 18px}.tr-kpis>div{background:var(--panel,#fff);border:1px solid var(--border,#dce2ea);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:3px}.tr-kpis span{font-size:.78rem;color:var(--muted,#687386);font-weight:650}.tr-kpis strong{font-size:1.55rem;line-height:1.1}.tr-kpis small{color:var(--muted,#687386)}.tr-section{margin-top:4px}.tr-card-list{display:flex;flex-direction:column;gap:12px}.tr-card{background:var(--panel,#fff);border:1px solid var(--border,#dce2ea);border-left:4px solid #cfd7e3;border-radius:12px;padding:15px 16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.tr-card.level-atencao{border-left-color:#d99b00}.tr-card.level-alto{border-left-color:#dc6803}.tr-card.level-critico{border-left-color:#b42318}.tr-card-new{box-shadow:0 0 0 2px rgba(36,138,90,.10)}.tr-card-changed{box-shadow:0 0 0 2px rgba(0,102,204,.08)}.tr-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.tr-title-block{min-width:0}.tr-title-block h3{font-size:1.02rem;margin:5px 0}.tr-title-block h3 a{text-decoration:none}.tr-title-block h3 a:hover{text-decoration:underline}.tr-badges{display:flex;gap:6px;flex-wrap:wrap}.tr-badge{display:inline-flex;align-items:center;border-radius:5px;padding:2px 6px;font-size:.68rem;font-weight:750;letter-spacing:.02em;background:#edf1f6;color:#3b4656}.tr-badge.new{background:#dff4e8;color:#176b42}.tr-badge.changed{background:#e1efff;color:#165d9c}.tr-badge.danger{background:#fee4e2;color:#912018}.tr-badge.priority{background:#fff3d6;color:#7a5200}.tr-badge.closed{background:#e9edf2;color:#455468}.tr-subline,.tr-essential{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted,#687386);font-size:.78rem}.tr-subline span+span:before{content:"·";margin-right:12px}.tr-summary{margin:10px 0 8px;line-height:1.48}.tr-alerts{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tr-alert{display:inline-flex;padding:4px 8px;border-radius:6px;background:#f3f5f8;font-size:.73rem;font-weight:650}.tr-alert.incident,.tr-alert.critico{background:#fee4e2;color:#912018}.tr-alert.alto{background:#ffead5;color:#8a3c00}.tr-alert.atencao{background:#fff4cc;color:#755600}.tr-decision{margin-top:12px;border-top:1px solid var(--border,#dce2ea);padding-top:9px}.tr-decision>summary{cursor:pointer;font-weight:700;font-size:.84rem;color:#334155}.tr-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.tr-context-box{border:1px solid var(--border,#dce2ea);border-radius:9px;padding:11px 12px;background:#fbfcfe;min-width:0}.tr-context-box h4{margin:0 0 8px;font-size:.83rem;text-transform:uppercase;letter-spacing:.025em;color:#536174}.tr-context-box p{margin:5px 0;font-size:.82rem}.tr-person+.tr-person{border-top:1px dashed #d9e0e8;margin-top:10px;padding-top:10px}.tr-mini-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:7px;font-size:.78rem}.tr-mini-list a{display:inline-flex;gap:4px;padding:3px 6px;border-radius:5px;background:#eef3f8;text-decoration:none}.tr-history-item{display:block;padding:6px 0;text-decoration:none}.tr-history-item+.tr-history-item{border-top:1px dashed #d9e0e8}.tr-history-item strong,.tr-history-item small{display:block}.tr-history-item small{color:var(--muted,#687386);margin-top:2px}.tr-tech-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 1fr;gap:8px;font-size:.78rem;padding:5px 0}.tr-tech-row+.tr-tech-row{border-top:1px dashed #d9e0e8}.tr-footnote{color:var(--muted,#687386);font-size:.72rem!important;margin-top:8px!important}.tr-queue-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tr-queue-stats>div{background:#fff;border:1px solid #e3e8ef;border-radius:7px;padding:8px;display:flex;flex-direction:column}.tr-queue-stats strong{font-size:1.1rem}.tr-queue-stats span{font-size:.7rem;color:var(--muted,#687386)}.tr-kb-hit{margin-top:10px;padding-top:9px;border-top:1px dashed #d9e0e8}.tr-kb-hit b,.tr-kb-hit a,.tr-kb-hit small{display:block}.tr-kb-hit a{margin:3px 0}.tr-kb-hit small,.tr-kb-empty{color:var(--muted,#687386)}.tr-closed-day{margin-top:18px}.tr-closed-day>summary{cursor:pointer;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tr-closed-day>summary small{font-weight:400;color:var(--muted,#687386)}.tr-closed-list{margin-top:12px}.tr-closed-list article{padding:8px 2px}.tr-closed-list article+article{border-top:1px solid var(--border,#dce2ea)}.tr-closed-list small{display:block;color:var(--muted,#687386);margin-top:3px}
@media(max-width:1050px){.tr-kpis{grid-template-columns:repeat(3,1fr)}.tr-decision-grid{grid-template-columns:1fr}.tr-tech-row{grid-template-columns:1fr 1fr}.tr-tech-row strong{grid-column:1/-1}}
@media(max-width:700px){.tr-page-head,.tr-card-top{flex-direction:column}.tr-kpis{grid-template-columns:repeat(2,1fr)}.tr-card-top>.btn{width:100%;text-align:center}.tr-sync-meta{gap:8px 14px}}

/* DTIC 360 v15.4 - estado atual único do GLPI */
.gg-current-state-panel{border-top:4px solid var(--dtic-blue);margin-top:12px}
.gg-current-state-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:9px;margin:12px 0}
.gg-current-state-grid>div{padding:11px 12px;border:1px solid #dfe7eb;border-radius:9px;background:#f8fbfc}
.gg-current-state-grid span,.gg-current-state-grid small{display:block;color:#71818a;font-size:.71rem}
.gg-current-state-grid strong{display:block;color:#315462;font-size:1.25rem;margin:4px 0}
.gg-current-state-grid .small-value{font-size:.9rem;line-height:1.3}
@media(max-width:760px){.gg-current-state-grid{grid-template-columns:1fr}}

/* DTIC 360 v15.4.2 - revisão responsiva/mobile */
.mobile-nav-toggle{display:none}

/* Evita que textos operacionais longos estourem cards e painéis. */
.panel,.metric,.search360-item,.search360-card,.tr-card,.tr-context-box,.gg-ticket,.machine-360-card{min-width:0}
.panel p,.panel li,.metric,.tr-card,.tr-context-box,.search360-main,.search360-ticket-full,.gg-ticket{overflow-wrap:anywhere;word-break:normal}

@media(max-width:760px){
  html{scroll-padding-top:74px}
  body{font-size:14px;-webkit-text-size-adjust:100%}
  .wrap{width:auto;max-width:none;margin-left:12px;margin-right:12px}
  main.wrap{min-height:55vh}
  .topbar{position:sticky;top:0;z-index:100;margin-bottom:0}
  .nav-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center!important;
    gap:8px 10px!important;
    min-height:58px;
    padding:8px 0!important;
  }
  .brand{min-width:0!important;margin:0!important;gap:8px;overflow:hidden}
  .brand-logo{height:31px!important;max-width:108px!important}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-copy small{display:none}
  .mobile-nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:7px 10px;
    border:1px solid #cddde3;
    border-radius:9px;
    background:#fff;
    color:var(--dtic-blue-dark)!important;
    font-weight:750;
    font-size:12px;
    box-shadow:none;
  }
  .mobile-nav-toggle:hover{filter:none;background:#f1f8fa}
  .mobile-nav-toggle-icon{display:grid;gap:3px;width:17px}
  .mobile-nav-toggle-icon i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(2){opacity:0}
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-icon i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

  .nav-primary{
    grid-column:1/-1;
    display:none;
    width:100%;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:7px 0 3px;
    border-top:1px solid #e2eaed;
    flex-direction:column;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:3px!important;
  }
  .nav-primary.mobile-open{display:flex}
  .nav-primary>.nav-direct,.nav-primary>.nav-logout,.nav-group>summary{
    width:100%;
    justify-content:space-between;
    min-height:44px!important;
    padding:10px 11px!important;
    border-radius:8px;
    font-size:14px!important;
  }
  .nav-primary>.nav-direct.active,.nav-group.active>summary{box-shadow:inset 3px 0 0 var(--dtic-blue);background:#eaf6fa}
  .nav-primary .nav-logout{margin-left:0!important;border-top:1px solid #edf1f3;margin-top:4px!important}
  .nav-group{position:static!important;flex:none!important;width:100%}
  .nav-group>summary::after{font-size:11px;margin-left:auto}
  .nav-dropdown,.nav-dropdown-right{
    position:static!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    margin:2px 0 5px!important;
    padding:4px 4px 4px 11px!important;
    border:0!important;
    border-left:2px solid #d8e7ec!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .nav-dropdown a{min-height:46px;padding:8px 10px!important;background:#f8fbfc;margin:3px 0}
  .nav-dropdown a strong{font-size:13px!important}
  .nav-dropdown a small{font-size:11px!important;line-height:1.3}
  .nav-search360{order:50;width:100%;max-width:none!important;flex:none!important;height:44px!important;margin:5px 0 2px!important}
  .nav-search360 input{width:100%!important;height:42px!important;font-size:16px!important;padding:8px 10px!important}
  .nav-search360 button{min-width:46px;min-height:42px!important}

  h1{font-size:23px;line-height:1.15}
  h2{font-size:18px;line-height:1.25}
  h3{line-height:1.3}
  .page-head,.tr-page-head{gap:10px;margin-bottom:15px}
  .page-head-actions,.tr-head-actions{width:100%;padding-top:0}
  .page-head-actions>.btn,.page-head-actions>button,.tr-head-actions>.btn,.tr-head-actions>button{flex:1 1 150px;text-align:center}
  .muted{font-size:13px}

  .panel{padding:14px;margin-bottom:14px;border-radius:9px}
  .metric{padding:12px}
  .metric strong{font-size:25px}
  .filter-panel,.search-row{padding:12px;gap:10px;margin-bottom:14px}
  .filter-panel>div,.compact-filter>div{flex:1 1 100%!important;min-width:0!important}
  .filter-actions{width:100%;align-items:stretch!important;display:flex!important}
  .filter-actions>.btn,.filter-actions>button{flex:1 1 120px;text-align:center}
  input,select,textarea,button,.btn{font-size:16px;min-height:44px}
  .btn.small{font-size:13px;min-height:38px;padding:8px 10px}
  label,.field-label{font-size:11px}

  .cards,.cards.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .grid-two{gap:12px}
  .details{grid-template-columns:1fr}
  .details dt{padding:9px 0 2px;border-bottom:0}
  .details dd{padding:0 0 9px}

  /* Em telas pequenas, tabelas permanecem legíveis por rolagem horizontal. */
  .table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:7px}
  table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table thead,table tbody{white-space:nowrap}
  th,td{padding:8px 9px;font-size:12px}
  th{font-size:10px}
  td p,td .muted{white-space:normal;min-width:180px}

  .dtic-footer{flex-direction:column;gap:4px;padding-bottom:22px}
  .machine-360-summary{padding:15px;margin-bottom:12px}
  .machine-360-summary:after{font-size:62px}
  .machine-360-status{gap:12px}
  .machine-360-status h2{font-size:20px}
  .machine-360-card{min-height:0;padding:11px}

  .gg-filter-grid{gap:8px!important}
  .gg-ticket,.gg-ticket-card{padding:12px!important}
  .gg-ticket-actions{gap:6px;flex-wrap:wrap}
  .gg-ticket-actions>.btn{flex:1 1 130px;text-align:center}
  .gg-category-picker{max-height:48vh}
  .gg-category-picker label{min-height:40px;align-items:center}
  .gg-ops-summary{gap:8px}
  .gg-ops-summary-meta{width:100%}

  .search360-form{padding:12px}
  .search360-row{gap:7px}
  .search360-row button{width:auto;min-width:52px}
  .search360-item{padding:10px;gap:9px}
  .search360-summary{margin:12px 2px}
  .search360-summary strong{font-size:1.35rem}
  .search360-focus-panel{padding:13px!important}

  /* GLPI Tempo Real: conteúdo operacional priorizado para leitura em uma coluna. */
  .tr-status-panel{padding:11px 12px;margin-top:10px}
  .tr-sync-line{font-size:.86rem;align-items:flex-start}
  .tr-sync-meta{display:grid;grid-template-columns:1fr;gap:4px;margin-top:8px;font-size:.76rem}
  .tr-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 14px}
  .tr-kpis>div{padding:10px 11px;border-radius:9px}
  .tr-kpis strong{font-size:1.35rem}
  .tr-kpis span,.tr-kpis small{font-size:.7rem}
  .tr-card-list{gap:9px}
  .tr-card{padding:11px 11px 12px;border-radius:10px}
  .tr-card-top{gap:9px}
  .tr-title-block h3{font-size:.96rem;margin:6px 0;overflow-wrap:anywhere}
  .tr-card-top>.btn{min-height:40px}
  .tr-badges{gap:4px}
  .tr-badge{font-size:.63rem;padding:3px 5px}
  .tr-subline,.tr-essential{display:grid;grid-template-columns:1fr;gap:3px;font-size:.74rem}
  .tr-subline span+span:before{content:none;margin:0}
  .tr-summary{font-size:.84rem;margin:8px 0;max-height:none}
  .tr-alerts{gap:5px;margin-top:8px}
  .tr-alert{font-size:.68rem;padding:4px 6px;line-height:1.3}
  .tr-decision{margin-top:10px;padding-top:8px}
  .tr-decision>summary{min-height:42px;display:flex;align-items:center;font-size:.82rem}
  .tr-decision-grid{gap:8px;margin-top:7px}
  .tr-context-box{padding:10px;border-radius:8px}
  .tr-context-box h4{font-size:.76rem}
  .tr-mini-list{align-items:stretch;flex-direction:column}
  .tr-mini-list a{display:flex;justify-content:space-between;min-height:38px;align-items:center}
  .tr-history-item{padding:8px 0}
  .tr-tech-row{grid-template-columns:1fr!important;gap:2px;padding:8px 0}
  .tr-tech-row strong{grid-column:auto!important}
  .tr-queue-stats{gap:5px}
  .tr-queue-stats>div{padding:7px 5px;text-align:center}
  .tr-closed-day>summary{align-items:flex-start}
  .tr-closed-list article{padding:10px 2px}
  .gg-current-state-grid{grid-template-columns:1fr!important}
}

@media(max-width:460px){
  .wrap{margin-left:9px;margin-right:9px}
  .brand-logo{height:28px!important;max-width:96px!important}
  .brand-copy strong{font-size:15px}
  .mobile-nav-toggle{padding:6px 9px}
  h1{font-size:21px}
  .cards,.cards.compact{grid-template-columns:1fr}
  .tr-kpis{grid-template-columns:1fr 1fr}
  .tr-kpis>div:last-child:nth-child(odd){grid-column:1/-1}
  .tr-queue-stats{grid-template-columns:1fr 1fr}
  .tr-queue-stats>div:last-child:nth-child(odd){grid-column:1/-1}
  .page-head-actions,.filter-actions{flex-direction:column}
  .page-head-actions>.btn,.page-head-actions>button,.filter-actions>.btn,.filter-actions>button{width:100%;flex:none}
  .search360-row{flex-direction:column}
  .search360-row button{width:100%}
}

@media(max-width:760px){
  .auth-form-wrap table,.form-panel table{display:table;overflow:visible;white-space:normal}
  .auth-form-wrap table tbody,.form-panel table tbody{white-space:normal}
  .auth-panel{padding:18px 14px}
  .auth-heading{align-items:flex-start}
  .chip-entry{flex-wrap:wrap}
  .chip-entry input{min-width:0;flex:1 1 180px}
  .chip-entry .chip-add{flex:1 0 auto}
  .filter-chip{max-width:100%}
  .filter-chip>span{white-space:normal;overflow-wrap:anywhere}
  .calendar-months{grid-template-columns:minmax(0,1fr)}
  .occupancy-calendar{padding:7px}
  .calendar-weekdays span{font-size:9px;padding:3px 1px}
  .calendar-day{min-height:60px;padding:2px}
  .calendar-day-head strong{font-size:10px}
  .calendar-pcs{gap:1px}
  .calendar-legend{gap:7px 10px}
  .simulator-box{padding:12px}
  .simulator-box select{min-width:0;width:100%}
  .maintenance-actions{flex-direction:column;align-items:stretch}
  .maintenance-actions form,.maintenance-actions .btn,.maintenance-actions button{width:100%}
  .export-actions{justify-content:flex-start}
  .pagination-toolbar{padding:9px}
  .page-size-form{width:100%}
  .page-size-form select{flex:1}
  .machine-search-field{min-width:0!important}
  .bulk-selection-summary{white-space:normal}
  .methodology-grid{padding:10px;gap:9px}
  .hardware-facts,.quality-grid,.alert-grid,.scenario-posts{grid-template-columns:minmax(0,1fr)}
  .dist-row{grid-template-columns:minmax(90px,1fr) 34px minmax(80px,1.4fr);gap:5px}
  .cpu-cell,.reason-cell{min-width:180px}
  .home-search-copy{min-width:0}
  .home-search-form{flex-direction:column}
  .home-search-form button{width:100%}
  .search360-inline-list{display:grid;grid-template-columns:1fr}
  .search360-inline-list>a{min-width:0}
  .gg-category-picker-toolbar input[type="search"]{min-width:0!important;flex:1 1 100%}
  .gg-category-picker-toolbar{flex-wrap:wrap}
}


/* DTIC 360 v15.5 - movimentações/acompanhamentos no GLPI Tempo Real */
.tr-badge.activity { background: rgba(39, 110, 241, .13); border-color: rgba(39,110,241,.32); color: #174ea6; }
.tr-badge.activity-soft { background: rgba(72, 87, 103, .08); border-color: rgba(72,87,103,.20); color: #465466; }
.tr-followup-today { margin: .8rem 0; padding: .75rem .85rem; border: 1px solid rgba(39,110,241,.18); border-left: 4px solid rgba(39,110,241,.58); border-radius: 10px; background: rgba(39,110,241,.035); }
.tr-followup-head { display: flex; gap: .7rem 1.2rem; flex-wrap: wrap; align-items: baseline; margin-bottom: .35rem; }
.tr-followup-head span, .tr-followup-today small { color: var(--muted, #687483); }
.tr-followup-today p { margin: .35rem 0; line-height: 1.45; }
.tr-moved-section { margin-top: 1.1rem; }
@media (max-width: 720px) {
  .tr-followup-head { display: block; }
  .tr-followup-head span { display: block; margin-top: .2rem; }
  .tr-followup-today { padding: .65rem .7rem; }
}

/* DTIC 360 v15.5.1 - diferenciação visual entre entrada e acompanhamento */
.tr-opened-section,
.tr-moved-section{
  border-radius:14px;
  padding:12px;
}
.tr-opened-section{
  background:linear-gradient(180deg,rgba(217,155,0,.060),rgba(217,155,0,.018));
  border:1px solid rgba(217,155,0,.16);
}
.tr-moved-section{
  background:linear-gradient(180deg,rgba(39,110,241,.050),rgba(39,110,241,.015));
  border:1px solid rgba(39,110,241,.14);
}
.tr-section-head h2{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:3px;
}
.tr-section-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  flex:0 0 10px;
}
.tr-section-dot-open{
  background:#d99b00;
  box-shadow:0 0 0 4px rgba(217,155,0,.12);
}
.tr-section-dot-moved{
  background:#276ef1;
  box-shadow:0 0 0 4px rgba(39,110,241,.11);
}
.tr-card-opened-today{
  background:linear-gradient(90deg,rgba(255,248,229,.68),var(--panel,#fff) 24%);
  border-top-color:rgba(217,155,0,.28);
}
.tr-card-moved-today{
  background:linear-gradient(90deg,rgba(239,246,255,.76),var(--panel,#fff) 24%);
  border-top-color:rgba(39,110,241,.23);
}
.tr-card-moved-today .tr-decision>summary{
  color:#465466;
}
@media(max-width:700px){
  .tr-opened-section,.tr-moved-section{padding:8px;border-radius:11px}
  .tr-card-opened-today{background:linear-gradient(180deg,rgba(255,248,229,.72),var(--panel,#fff) 82px)}
  .tr-card-moved-today{background:linear-gradient(180deg,rgba(239,246,255,.78),var(--panel,#fff) 82px)}
}


/* DTIC 360 v15.6 - atribuição assistida de técnicos */
.tr-badge.danger-soft{background:#fff2f2;border:1px solid #f1b7b7;color:#8f2424}
.tr-tech-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tr-tech-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.tr-assign-tech,.tr-assign-selected{flex:0 0 auto}
.tr-assign-other{margin-top:12px;padding-top:10px;border-top:1px solid var(--border,#dfe5ea)}
.tr-assign-other label{display:block;margin-bottom:6px}
.tr-assign-controls{display:flex;gap:8px;align-items:center}
.tr-assign-controls select{min-width:220px;max-width:100%;flex:1 1 auto}
@media (max-width:760px){
  .tr-tech-row{align-items:flex-start}
  .tr-assign-controls{flex-direction:column;align-items:stretch}
  .tr-assign-controls select,.tr-assign-controls .btn{width:100%;min-width:0}
}

/* ==========================================================
   DTIC 360 v15.9 - Relatório Executivo da DTIC
   ========================================================== */
.dir-head{align-items:center}.dir-eyebrow{display:block;color:#537687;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.dir-cover{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:4px solid #2d6f8e;background:linear-gradient(135deg,#fff 0%,#f3f8fa 100%)}.dir-cover h2{font-size:1.45rem;margin-bottom:5px}.dir-cover p{margin:0;color:#687b85}.dir-reference{min-width:260px;padding:12px 14px;border:1px solid #d9e6eb;border-radius:9px;background:rgba(255,255,255,.82)}.dir-reference span,.dir-reference small{display:block;color:#71828a;font-size:.72rem}.dir-reference strong{display:block;color:#294f60;font-size:1rem;margin:4px 0}.dir-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:24px;border-top:4px solid #2d6f8e}.dir-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dir-intro-grid>div{padding:12px;border:1px solid #e0e8ec;border-radius:9px;background:#f8fbfc}.dir-intro-grid strong,.dir-intro-grid span{display:block}.dir-intro-grid span{margin-top:3px;color:#6e7e86;font-size:.78rem}.dir-story{border-left:4px solid #5f8f43}.dir-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dir-story-grid p{margin:0;padding:11px 12px;border-radius:8px;background:#f7faf7;border:1px solid #e0e9df;font-size:.87rem}.dir-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 11px}.dir-section-title h2{margin:0}.dir-section-title small{color:#718087;text-align:right}.dir-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:18px}.dir-kpis-five{grid-template-columns:repeat(5,minmax(140px,1fr))}.dir-kpi{min-width:0;padding:14px 15px;border:1px solid #dde6ea;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(22,47,60,.03)}.dir-kpi.emphasis{border-top:4px solid #2d6f8e;padding-top:11px}.dir-kpi span,.dir-kpi small{display:block;color:#718087}.dir-kpi span{font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.dir-kpi strong{display:block;font-size:1.75rem;color:#294f60;line-height:1.05;margin:6px 0 4px}.dir-kpi small{font-size:.7rem}.dir-note{padding:10px 12px;border-radius:8px;background:#f3f7f9;border:1px solid #dce6ea;color:#536b77;font-size:.8rem;margin-bottom:16px}.dir-note.warn{background:#fff8e8;border-color:#ebd9a8;color:#725c24}.dir-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dir-bars{display:flex;flex-direction:column;gap:10px}.dir-bar-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.78rem}.dir-bar-label strong{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-bar-label span{color:#70818a;white-space:nowrap}.dir-bar-track{height:7px;border-radius:999px;background:#e9eef1;overflow:hidden}.dir-bar-track i{display:block;height:100%;border-radius:999px;background:#477f98}.dir-months{height:220px;display:flex;align-items:flex-end;gap:8px;padding-top:14px}.dir-month{flex:1;min-width:34px;text-align:center;height:100%;display:grid;grid-template-rows:22px 1fr 22px;gap:4px}.dir-month>strong{font-size:.72rem;color:#45616e}.dir-month>div{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #d8e1e5}.dir-month i{display:block;width:min(30px,70%);min-height:4px;border-radius:4px 4px 0 0;background:#5f8f43}.dir-month span{font-size:.64rem;color:#718087;white-space:nowrap}.dir-work-panel{border-top:4px solid #896f9d}.dir-work-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}.dir-work-grid>div{padding:11px 12px;border:1px solid #e6e0ea;border-radius:9px;background:#fbf9fc}.dir-work-grid strong,.dir-work-grid span{display:block}.dir-work-grid strong{font-size:1.35rem;color:#5c496b}.dir-work-grid span{font-size:.72rem;color:#756c7b;margin-top:2px}.dir-support-strip{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:9px;margin:0 0 8px}.dir-support-strip>div{padding:11px 12px;border-radius:8px;background:#f5f8f9;border:1px solid #dfe7ea}.dir-support-strip strong,.dir-support-strip span{display:block}.dir-support-strip strong{font-size:1.25rem;color:#365d6e}.dir-support-strip span{font-size:.7rem;color:#708087}.dir-compare-panel{border-top:4px solid #b57a26}.dir-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px}.dir-compare-card{padding:13px;border:1px solid #eadfcf;border-radius:9px;background:#fffaf3}.dir-compare-card span,.dir-compare-card small{display:block;color:#756b5d}.dir-compare-card span{font-size:.72rem;font-weight:750}.dir-compare-card strong{display:block;font-size:1.65rem;color:#76501e;margin:5px 0}.dir-compare-card small{font-size:.7rem}.dir-definition{margin-top:11px;padding:10px 12px;border-radius:8px;background:#f7f4ef;color:#655f55;font-size:.78rem}.dir-table td small{display:block;color:#7a8991;font-size:.68rem;margin-top:2px}.dir-row-ref td{background:#f2f8fa}.dir-all-sectors>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}.dir-all-sectors>summary span{font-size:.75rem;color:#718087;font-weight:400}.dir-all-sectors-body{padding-top:14px}.dir-method{background:#f9fbfc}.dir-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dir-method-grid p{margin:0;padding:10px 11px;border:1px solid #e1e8eb;border-radius:8px;background:#fff;font-size:.79rem;color:#5d6d75}
@media(max-width:1050px){.dir-kpis{grid-template-columns:repeat(2,1fr)}.dir-kpis-five{grid-template-columns:repeat(3,1fr)}.dir-compare-grid{grid-template-columns:repeat(2,1fr)}.dir-work-grid,.dir-support-strip{grid-template-columns:repeat(2,1fr)}.dir-intro{grid-template-columns:1fr}}
@media(max-width:700px){.dir-cover,.dir-section-title{align-items:flex-start;flex-direction:column}.dir-reference{width:100%;min-width:0}.dir-story-grid,.dir-two-col,.dir-method-grid{grid-template-columns:1fr}.dir-kpis,.dir-kpis-five,.dir-compare-grid{grid-template-columns:1fr 1fr}.dir-intro-grid{grid-template-columns:1fr}.dir-months{overflow-x:auto}.dir-month{min-width:46px}.dir-section-title small{text-align:left}.dir-all-sectors>summary{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:480px){.dir-kpis,.dir-kpis-five,.dir-compare-grid,.dir-work-grid,.dir-support-strip{grid-template-columns:1fr}}
@media print{body{background:#fff}.topbar,.no-print,.footer{display:none!important}.wrap{width:100%;max-width:none}.panel,.dir-kpi,.dir-compare-card{box-shadow:none;break-inside:avoid}.dir-all-sectors{display:block}.dir-all-sectors>summary{display:none}.dir-all-sectors-body{display:block!important}.dir-two-col{grid-template-columns:1fr 1fr}.dir-kpis{grid-template-columns:repeat(4,1fr)}a{color:inherit!important;text-decoration:none!important}}

/* DTIC 360 v15.11.2 — tabela compacta de Portais e Sites */
.portais-table-wrap{overflow-x:auto}
.portais-table{width:100%;table-layout:fixed;font-size:13px}
.portais-table th,.portais-table td{white-space:normal;overflow-wrap:anywhere}
.portais-table th:nth-child(1){width:23%}
.portais-table th:nth-child(2){width:8%}
.portais-table th:nth-child(3){width:12%}
.portais-table th:nth-child(4){width:17%}
.portais-table th:nth-child(5){width:11%}
.portais-table th:nth-child(6){width:10%}
.portais-table th:nth-child(7){width:12%}
.portais-table th:nth-child(8){width:7%}
.portais-table small{display:block;line-height:1.25;margin-top:3px}
.portais-table .status-badge+small{margin-top:4px}
.portal-main-cell strong{font-size:.92rem}
.portal-detected-title{display:block;margin-top:3px;color:#536974;font-weight:650}
.portal-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;max-width:100%}
.portal-status-cell .status-badge{margin:0 4px 4px 0}
.portal-speed-badge,.portal-stale-badge{display:inline-flex;margin-top:5px!important}
.portal-time{font-weight:700;color:#52636d!important}
.portal-last-check{font-size:.67rem}
.portal-modified-cell>strong{display:inline-block;font-size:.9rem;color:#334f5d}
.portal-modified-cell>strong+small{display:inline;margin-left:4px}
.portal-last-title{color:#536974;font-weight:650;margin-top:5px!important}
.portal-content-cell>strong{display:block;font-size:1.02rem;color:#334f5d}
.portal-activity{font-weight:650;color:#536974;margin-top:5px!important}
.portal-plone-cell .status-badge,.portal-publish-cell .status-badge{margin-bottom:3px}
.portal-actions{text-align:right;white-space:nowrap!important}
@media (max-width:1180px){
  .portais-table{font-size:12px}
  .portais-table th,.portais-table td{padding-left:7px;padding-right:7px}
  .portais-table th:nth-child(1){width:22%}
  .portais-table th:nth-child(4){width:18%}
  .portais-table th:nth-child(8){width:6%}
}

/* Portais - estatisticas Nginx v15.12 */
.portal-rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.portal-rank-grid h3{margin:0 0 8px;font-size:1rem}
.portal-ranking{margin:0;padding-left:22px}
.portal-ranking li{padding:5px 0;border-bottom:1px solid var(--border,#e7e7e7);display:flex;gap:12px;justify-content:space-between;align-items:baseline}
.portal-ranking li a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-ranking li strong{font-variant-numeric:tabular-nums}
.portal-traffic-cell{min-width:105px}
.portal-traffic-cell strong,.portal-traffic-cell small{display:block}
.portal-traffic-cell .status-badge{display:inline-block;margin-top:3px}
@media (max-width:850px){.portal-rank-grid{grid-template-columns:1fr}}

/* DTIC 360 v15.13 - Gerenciador de publicacoes Nginx */
.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ngm-health-cards{margin-bottom:16px}.ngm-warning{border-left:4px solid #d39a24}.ngm-warning h2{margin-top:0}
.ngm-table small{display:block;color:#6d7d85;margin-top:3px}.ngm-table code{font-size:.78rem}.ngm-table .btn.small{padding:5px 8px;font-size:.72rem}
.ngm-legacy>summary{cursor:pointer;display:flex;gap:8px;align-items:baseline}.ngm-form-panel{border-top:4px solid #2d6f8e}
.ngm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ngm-form-grid label{display:block;font-weight:700;margin-bottom:5px}.ngm-form-grid input,.ngm-form-grid select,.ngm-form-grid textarea{width:100%}.ngm-form-grid small{display:block;margin-top:4px}.ngm-span-2{grid-column:span 2}
.ngm-preview{margin:16px 0;padding:12px;border:1px solid #dce6ea;border-radius:9px;background:#f7fafb}.ngm-preview strong{display:block;margin-bottom:7px}.ngm-preview code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:#3d5965}
.ngm-danger{border-left:4px solid #b44949}.ngm-danger h2{margin-top:0}.ngm-disable-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.ngm-disable-form label{display:block}.ngm-disable-form input{width:100px}.btn.danger{background:#a93f3f;border-color:#a93f3f;color:white}
@media(max-width:760px){.ngm-form-grid{grid-template-columns:1fr}.ngm-span-2{grid-column:auto}.page-actions{width:100%}.page-actions .btn{flex:1 1 auto;text-align:center}}

/* v15.14 - opcoes avancadas do gerenciador Nginx */
.ngm-advanced{margin:14px 0 16px;border:1px solid var(--border,#d8dee8);border-radius:10px;background:rgba(0,0,0,.015)}
.ngm-advanced>summary{cursor:pointer;padding:13px 15px;list-style-position:inside;user-select:none}
.ngm-advanced>summary strong{margin-right:6px}
.ngm-advanced-grid{padding:4px 15px 15px}

/* ==========================================================
   DTIC 360 v15.15 - Meu GLPI
   ========================================================== */
.mg-page-head{align-items:center}.mg-readonly-note{border-left:4px solid #2d6f8e}
.mg-filter-form{padding:12px 14px}.mg-filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.mg-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.mg-filter-chip{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--border,#dbe3e7);border-radius:999px;background:#fff;color:#526b77;font-size:.75rem;font-weight:700;text-decoration:none}.mg-filter-chip:hover{background:#f4f8fa}.mg-filter-chip.active{background:#315f73;color:#fff;border-color:#315f73}.mg-search-box{display:flex;gap:7px;align-items:center;min-width:min(100%,410px)}.mg-search-box input[type=search]{min-width:240px;flex:1 1 auto}
.mg-status-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.mg-identity{text-align:right}.mg-identity span,.mg-identity small,.mg-identity strong{display:block}.mg-identity span,.mg-identity small{color:#718087;font-size:.7rem}.mg-identity strong{font-size:.9rem;color:#365462;margin:2px 0}
.mg-kpis{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:9px;margin:14px 0}.mg-kpis>a{display:block;padding:12px 13px;border:1px solid #dfe7ea;border-radius:10px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(30,50,60,.03)}.mg-kpis>a:hover{border-color:#a9bec8;background:#fbfdfe}.mg-kpis>a.attention{border-top:3px solid #d69b20;padding-top:10px}.mg-kpis>a.critical{border-top:3px solid #b94949;padding-top:10px}.mg-kpis span,.mg-kpis small{display:block;color:#718087}.mg-kpis span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.mg-kpis strong{display:block;font-size:1.55rem;color:#315766;margin:4px 0 2px}.mg-kpis small{font-size:.66rem}
.mg-focus-panel{border-top:4px solid #b97928}.mg-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mg-focus-item{display:block;padding:11px 12px;border:1px solid #e4e7e8;border-radius:9px;background:#fff;text-decoration:none}.mg-focus-item:hover{background:#fbfcfd}.mg-focus-item>div{display:flex;gap:7px;align-items:baseline}.mg-focus-item>div span{font-size:.7rem;color:#73838b;white-space:nowrap}.mg-focus-item>div strong{font-size:.82rem;color:#36515f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-focus-item small{display:block;margin-top:5px;font-size:.68rem;color:#6c7b83}.mg-focus-item.critico{border-left:4px solid #b64040}.mg-focus-item.alto{border-left:4px solid #d47c25}.mg-focus-item.atencao{border-left:4px solid #d0a028}
.mg-list-section{margin-top:18px}.mg-list-head{margin-bottom:9px}.mg-card-list{display:flex;flex-direction:column;gap:11px}.mg-card{padding:15px 16px;border:1px solid #dfe6e9;border-radius:11px;background:#fff;box-shadow:0 1px 2px rgba(28,51,63,.035)}.mg-card.level-critico{border-left:4px solid #b64040}.mg-card.level-alto{border-left:4px solid #d47c25}.mg-card.level-atencao{border-left:4px solid #d0a028}.mg-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mg-card-title{min-width:0;flex:1 1 auto}.mg-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}.mg-card h3{margin:0 0 5px;font-size:1rem}.mg-card h3 a{color:#294f60;text-decoration:none}.mg-card h3 a:hover{text-decoration:underline}.mg-subline{display:flex;flex-wrap:wrap;gap:6px 13px;color:#6b7d85;font-size:.72rem}.mg-subline span{position:relative}.mg-card-actions{display:flex;gap:7px;flex:0 0 auto}.mg-action-box{display:flex;gap:8px;align-items:baseline;margin:11px 0 9px;padding:9px 11px;border-radius:8px;background:#f5f8f9;border:1px solid #e0e8eb}.mg-action-box strong{font-size:.78rem;color:#3b5966}.mg-action-box span{font-size:.75rem;color:#63767f}.mg-action-box.critico{background:#fff2f2;border-color:#efc2c2}.mg-action-box.critico strong{color:#8d2e2e}.mg-action-box.alto{background:#fff6eb;border-color:#efd5b5}.mg-action-box.alto strong{color:#8a5321}.mg-action-box.atencao{background:#fffae9;border-color:#ecdfad}.mg-summary{margin:10px 0;color:#465d68;font-size:.83rem;line-height:1.42}.mg-alerts{margin-top:8px}.mg-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.mg-meta-grid>div{padding:9px 10px;border-radius:8px;background:#f7fafb;border:1px solid #e6ecef;min-width:0}.mg-meta-grid span,.mg-meta-grid strong,.mg-meta-grid small{display:block}.mg-meta-grid span{font-size:.65rem;text-transform:uppercase;font-weight:800;color:#7b8990}.mg-meta-grid strong{font-size:.76rem;color:#405b68;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-meta-grid small{font-size:.64rem;color:#718087;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-help{margin-top:11px;border-top:1px solid #e4e9eb;padding-top:8px}.mg-help>summary{cursor:pointer;color:#405f6d;font-size:.76rem;font-weight:800}.mg-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.mg-help-grid>section{padding:11px 12px;border-radius:8px;background:#f8fafb;border:1px solid #e4eaed}.mg-help-grid h4{margin:0 0 7px;font-size:.78rem;color:#3f5c69}.mg-help-grid p{font-size:.75rem;line-height:1.4;margin:0 0 6px}.mg-kb-hit a,.mg-kb-hit span,.mg-kb-hit small{display:block}.mg-kb-hit a{text-decoration:none}.mg-kb-hit span,.mg-kb-hit small{font-size:.68rem;color:#73828a;margin-top:3px}.mg-similar-list{display:flex;flex-direction:column;gap:6px}.mg-similar-list a{display:block;padding:6px 8px;background:#fff;border:1px solid #e2e8ea;border-radius:7px;text-decoration:none}.mg-similar-list strong,.mg-similar-list small{display:block}.mg-similar-list strong{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-similar-list small{font-size:.64rem;color:#74838a;margin-top:2px}.mg-next-actions{display:flex;gap:7px;flex-wrap:wrap}.mg-empty-link code{font-size:.8rem}
@media(max-width:1100px){.mg-kpis{grid-template-columns:repeat(3,1fr)}.mg-focus-grid{grid-template-columns:repeat(2,1fr)}.mg-meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.mg-page-head,.mg-status-panel,.mg-card-main{align-items:flex-start;flex-direction:column}.mg-identity{text-align:left}.mg-filter-row{align-items:stretch}.mg-search-box{width:100%;min-width:0}.mg-search-box input[type=search]{min-width:0}.mg-card-actions{width:100%}.mg-card-actions .btn{flex:1 1 auto;text-align:center}.mg-kpis{grid-template-columns:repeat(2,1fr)}.mg-focus-grid,.mg-help-grid{grid-template-columns:1fr}}
@media(max-width:480px){.mg-kpis,.mg-meta-grid{grid-template-columns:1fr}.mg-search-box{flex-wrap:wrap}.mg-search-box input[type=search]{flex:1 1 100%}.mg-filter-chip{font-size:.7rem;padding:6px 8px}}


/* ==========================================================
   DTIC 360 v15.16 - Wi-Fi / ClearPass
   ========================================================== */
.cp-page-head{align-items:center}.cp-head-actions{display:flex;gap:8px;align-items:center}.cp-privacy-note{border-left:4px solid #4b7f98}
.cp-search-form{padding:12px 14px;margin-bottom:12px}.cp-search-form label{display:block;font-weight:750;font-size:.76rem;margin-bottom:6px}.cp-search-row{display:flex;gap:8px;align-items:center}.cp-search-row input[type=search]{flex:1 1 auto;min-width:220px}
.cp-sync-line{display:flex;gap:7px;align-items:center;min-height:28px;color:#667983;font-size:.76rem;margin:3px 0 9px}.cp-sync-line strong{color:#405e6b}.cp-dot{width:9px;height:9px;border-radius:50%;background:#aeb8bd;display:inline-block;flex:0 0 9px}.cp-dot.ok{background:#4a8a5f}.cp-dot.error{background:#bd4f4f}.cp-dot.working{background:#d19a31;box-shadow:0 0 0 4px rgba(209,154,49,.12)}
.cp-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin-bottom:14px}.cp-kpi{padding:12px 13px;border:1px solid #dfe7ea;border-radius:10px;background:#fff}.cp-kpi span,.cp-kpi small{display:block;color:#73838b}.cp-kpi span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.cp-kpi strong{display:block;color:#315a6c;font-size:1.55rem;margin:3px 0}
.cp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:14px;align-items:start}.cp-main-panel{min-width:0}.cp-list-head{gap:12px;align-items:flex-start}.cp-filter-tabs{display:flex;gap:5px;flex-wrap:wrap}.cp-filter-tabs a{display:inline-flex;padding:6px 9px;border:1px solid #dce5e9;border-radius:999px;text-decoration:none;color:#58717d;font-size:.7rem;font-weight:750;background:#fff}.cp-filter-tabs a.active{background:#315f73;color:#fff;border-color:#315f73}
.cp-session-list{display:flex;flex-direction:column;gap:9px}.cp-session-card{padding:13px 14px;border:1px solid #dfe7ea;border-radius:10px;background:#fff}.cp-session-card.is-active{border-left:4px solid #4c8a60}.cp-session-card.is-closed{border-left:4px solid #aab5ba}.cp-session-person{display:flex;gap:9px;align-items:center;margin-bottom:10px}.cp-presence-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.cp-presence-dot.online{background:#4b8c60;box-shadow:0 0 0 4px rgba(75,140,96,.10)}.cp-presence-dot.offline{background:#a6b0b5}.cp-person-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cp-person-title a{text-decoration:none}.cp-session-person small{display:block;color:#76868e;margin-top:2px}
.cp-session-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.cp-session-facts>div,.cp-detail-grid>div{padding:8px 9px;border-radius:8px;background:#f7fafb;border:1px solid #e6ecef;min-width:0}.cp-session-facts span,.cp-session-facts strong,.cp-session-facts small,.cp-detail-grid span,.cp-detail-grid strong{display:block}.cp-session-facts span,.cp-detail-grid span{font-size:.62rem;text-transform:uppercase;font-weight:800;color:#7c8b92}.cp-session-facts strong,.cp-detail-grid strong{font-size:.74rem;color:#405c68;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-session-facts small{font-size:.64rem;color:#718087;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-session-more{margin-top:9px;padding-top:7px;border-top:1px solid #e7ecee}.cp-session-more>summary{cursor:pointer;font-weight:750;font-size:.72rem;color:#506b77}.cp-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.cp-card-actions{margin-top:8px}.cp-card-actions a{font-size:.72rem}.cp-side{display:flex;flex-direction:column;gap:12px}.cp-side .panel{margin:0}.cp-ranking{display:flex;flex-direction:column}.cp-ranking>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #e7ecee;font-size:.73rem}.cp-ranking>div:last-child{border-bottom:0}.cp-ranking span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536c77}.cp-ranking strong{color:#315a6c;font-variant-numeric:tabular-nums}
.cp-search360-current{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;padding:10px 11px;background:#f5faf6;border:1px solid #dceadf;border-radius:8px}.cp-search360-current>strong{color:#315d45}.cp-search360-current>span:not(.status-badge),.cp-search360-current>small{color:#657981;font-size:.72rem}.cp-search360-current.is-offline{background:#f8fafb;border-color:#e1e7ea}.cp-search360-extra{margin:6px 0 0}.cp-search360-history{margin-top:8px}.cp-search360-history>summary{cursor:pointer;font-size:.74rem;font-weight:750;color:#506b77}.cp-search360-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.cp-search360-history-list>div{padding:8px 9px;border:1px solid #e5eaed;border-radius:7px;background:#fff}.cp-search360-history-list strong,.cp-search360-history-list span,.cp-search360-history-list small{display:block}.cp-search360-history-list strong{font-size:.73rem;color:#405d69}.cp-search360-history-list span,.cp-search360-history-list small{font-size:.65rem;color:#73838a;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.cp-layout{grid-template-columns:1fr}.cp-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cp-session-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cp-page-head{align-items:flex-start;flex-direction:column}.cp-head-actions{width:100%}.cp-head-actions .btn{width:100%}.cp-search-row{flex-wrap:wrap}.cp-search-row input[type=search]{flex:1 1 100%;min-width:0}.cp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-side{grid-template-columns:1fr}.cp-list-head{align-items:flex-start;flex-direction:column}.cp-session-facts,.cp-detail-grid,.cp-search360-history-list{grid-template-columns:1fr}}
@media(max-width:480px){.cp-kpis{grid-template-columns:1fr}.cp-filter-tabs{width:100%}.cp-filter-tabs a{flex:1 1 auto;justify-content:center}.cp-session-card{padding:11px}}


/* DTIC360 MEU GLPI IA V1.4 */
.mg-ai-panel{
  margin:14px 0;
  border-left:4px solid #58798a;
  background:linear-gradient(135deg,#fbfdfe,#f6fafb);
}
.mg-ai-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.mg-ai-title-line{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.mg-ai-title-line h2{
  margin:0;
  font-size:1rem;
  color:#315766;
}
.mg-ai-title-line+.muted{
  margin:4px 0 0;
  font-size:.72rem;
}
.mg-ai-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:.64rem;
  font-weight:800;
  background:#edf3f5;
  color:#58717c;
}
.mg-ai-badge.ok,
.mg-ai-badge.fallback{
  background:#e8f5ed;
  color:#32704a;
}
.mg-ai-badge.pendente,
.mg-ai-badge.em_processamento{
  background:#fff5d9;
  color:#8a671c;
}
.mg-ai-badge.erro{
  background:#fdeaea;
  color:#973b3b;
}
.mg-ai-text{
  margin:12px 0 7px;
  font-size:.84rem;
  line-height:1.55;
  color:#405b68;
}
.mg-ai-meta{
  font-size:.66rem;
  color:#78878e;
}

.mg-context360{
  margin:9px 0;
  padding:10px 11px;
  border:1px solid #dfe9ed;
  border-radius:9px;
  background:#f8fbfc;
}
.mg-context360.attention{
  border-left:4px solid #d0972c;
  padding-left:9px;
  background:#fffcf3;
}
.mg-context360-head{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.mg-context360-head strong{
  font-size:.76rem;
  color:#345d6d;
}
.mg-context360-head span{
  padding:2px 6px;
  border-radius:999px;
  background:#e9f1f4;
  color:#607b87;
  font-size:.6rem;
  font-weight:800;
  text-transform:uppercase;
}
.mg-context360-summary p{
  margin:3px 0;
  font-size:.73rem;
  line-height:1.42;
  color:#536a74;
}
.mg-context360-more{
  margin-top:6px;
}
.mg-context360-more>summary{
  cursor:pointer;
  font-size:.68rem;
  font-weight:800;
  color:#486b7a;
}
.mg-context360-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.mg-context360-grid>div{
  padding:7px 8px;
  border:1px solid #e4ecef;
  border-radius:7px;
  background:#fff;
  min-width:0;
}
.mg-context360-grid span,
.mg-context360-grid strong,
.mg-context360-grid small{
  display:block;
}
.mg-context360-grid span{
  font-size:.58rem;
  font-weight:800;
  text-transform:uppercase;
  color:#7c8c93;
}
.mg-context360-grid strong{
  margin:2px 0;
  font-size:.7rem;
  color:#405c68;
  overflow-wrap:anywhere;
}
.mg-context360-grid small{
  font-size:.6rem;
  color:#718087;
  line-height:1.3;
}
@media(max-width:900px){
  .mg-context360-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .mg-context360-grid{
    grid-template-columns:1fr;
  }
}


/* DTIC360 IA READABILITY V1 */

.dtic-ai-readable{
  display:block;
  color:#465e69;
  font-size:.82rem;
  line-height:1.48;
}

.dtic-ai-lines{
  display:grid;
  gap:5px;
}

.dtic-ai-line{
  display:block;
}

.dtic-ai-line.dtic-ai-lead{
  color:#345563;
  font-weight:500;
}

.dtic-ai-ticket{
  display:inline-block;
  padding:1px 5px;
  border-radius:5px;
  background:#eaf3f6;
  color:#285c70;
  font-weight:800;
  white-space:nowrap;
}

.dtic-ai-number{
  color:#315866;
  font-weight:800;
}

.dtic-ai-name{
  color:#354f5b;
  font-weight:750;
}

.dtic-ai-state{
  color:#66747a;
  font-style:italic;
  font-weight:600;
}

.dtic-ai-attention .dtic-ai-readable{
  margin-top:3px;
}

.dtic-ai-details .dtic-ai-readable{
  font-size:.78rem;
}

.dtic-ai-details li{
  margin-bottom:5px;
}

.dtic-ai-trend{
  padding:7px 9px;
  border-radius:7px;
  background:#f7fafb;
  color:#637780;
}

@media(max-width:720px){
  .dtic-ai-readable{
    font-size:.79rem;
  }

  .dtic-ai-lines{
    gap:4px;
  }
}


/* DTIC360 DASHBOARD HOME V2 */

.home-v2-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}

.home-v2-head-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.home-v2-search{
  margin-top:12px;
}

.home-v2-section{
  margin:17px 0;
}

.home-v2-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:10px;
}

.home-v2-section-head h2{
  margin:0;
  color:#315462;
  font-size:1.05rem;
}

.home-v2-section-head p{
  margin:3px 0 0;
  font-size:.72rem;
}

.home-v2-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}

.home-v2-kpi{
  display:block;
  padding:12px 13px;
  border:1px solid #dde7ea;
  border-top:3px solid #7faebb;
  border-radius:9px;
  background:#fff;
  text-decoration:none!important;
  min-width:0;
}

.home-v2-kpi:hover{
  background:#f6fafb;
  border-color:#cbdde3;
}

.home-v2-kpi.is-critical{
  border-top-color:#bd5145;
  background:#fffafa;
}

.home-v2-kpi.is-warning{
  border-top-color:#ce992b;
}

.home-v2-kpi span,
.home-v2-kpi small{
  display:block;
}

.home-v2-kpi span{
  color:#718188;
  font-size:.67rem;
  font-weight:700;
}

.home-v2-kpi strong{
  display:block;
  margin:3px 0 2px;
  color:#315462;
  font-size:1.55rem;
  line-height:1.05;
}

.home-v2-kpi.is-critical strong{
  color:#963d34;
}

.home-v2-kpi small{
  color:#7c898f;
  font-size:.64rem;
  line-height:1.3;
}

.home-v2-attention{
  margin:17px 0;
  border-top:3px solid #d0a23b;
}

.home-v2-cache-age{
  white-space:nowrap;
  color:#839097;
  font-size:.66rem;
}

.home-v2-insights{
  display:grid;
  gap:6px;
}

.home-v2-insight{
  display:grid;
  grid-template-columns:4px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border:1px solid #e2e9ec;
  border-radius:8px;
  background:#fafcfc;
  text-decoration:none!important;
}

.home-v2-insight:hover{
  background:#f4f8f9;
}

.home-v2-insight-mark{
  align-self:stretch;
  border-radius:999px;
  background:#91a3ab;
}

.home-v2-insight.critico .home-v2-insight-mark{
  background:#b8473d;
}

.home-v2-insight.alto .home-v2-insight-mark{
  background:#c76546;
}

.home-v2-insight.atencao .home-v2-insight-mark{
  background:#d0a02e;
}

.home-v2-insight.normal .home-v2-insight-mark{
  background:#65a074;
}

.home-v2-insight-title{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:2px;
}

.home-v2-insight-title strong{
  color:#345762;
  font-size:.77rem;
}

.home-v2-insight-title span{
  color:#819097;
  font-size:.62rem;
  text-transform:uppercase;
  font-weight:750;
}

.home-v2-insight .dtic-ai-readable{
  font-size:.73rem;
  line-height:1.4;
}

.home-v2-insight-body>small{
  display:block;
  margin-top:3px;
  color:#89959a;
  font-size:.6rem;
}

.home-v2-arrow{
  color:#74878f;
  font-size:1rem;
  font-weight:800;
}

.home-v2-all-good{
  padding:10px;
  border-radius:8px;
  background:#f5faf6;
  color:#52705b;
  font-size:.78rem;
}

.home-v2-domains{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:17px 0 20px;
}

.home-v2-domain{
  margin:0;
  min-width:0;
}

.home-v2-domain-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.home-v2-domain-head small{
  display:block;
  color:#849198;
  font-size:.59rem;
  font-weight:800;
  letter-spacing:.04em;
}

.home-v2-domain-head h2{
  margin:2px 0 0;
  color:#315462;
  font-size:.98rem;
}

.home-v2-domain-head>a{
  font-size:.69rem;
  font-weight:750;
  white-space:nowrap;
}

.home-v2-domain-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}

.home-v2-domain-metrics>div{
  padding:8px;
  border:1px solid #e3eaed;
  border-radius:7px;
  background:#fafcfc;
  min-width:0;
}

.home-v2-domain-metrics strong,
.home-v2-domain-metrics span{
  display:block;
}

.home-v2-domain-metrics strong{
  color:#315663;
  font-size:1.15rem;
}

.home-v2-domain-metrics span{
  color:#78878e;
  font-size:.61rem;
  line-height:1.25;
}

.home-v2-domain-metrics .critical strong{
  color:#9e4137;
}

.home-v2-domain-metrics .warning strong{
  color:#966d18;
}

.home-v2-ai-snippet{
  margin:9px 0 0;
  padding-top:8px;
  border-top:1px solid #e8edef;
  font-size:.69rem;
  line-height:1.42;
}

.home-v2-tags{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:8px;
}

.home-v2-tags span{
  max-width:100%;
  padding:3px 6px;
  border-radius:999px;
  background:#f0f5f6;
  color:#63767e;
  font-size:.61rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.home-v2-tags strong{
  color:#315d6e;
}

.home-v2-domain-foot{
  margin-top:8px;
  color:#7a898f;
  font-size:.63rem;
  line-height:1.4;
}

.home-v2-links{
  display:grid;
  gap:4px;
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid #e8edef;
}

.home-v2-links a{
  font-size:.68rem;
  font-weight:700;
}

.home-v2-domain-personal{
  border-top:3px solid rgba(7,143,189,.34);
}

.home-v2-deep{
  margin-top:20px;
  border:1px solid #dce6e9;
  border-radius:10px;
  background:#fff;
}

.home-v2-deep>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
}

.home-v2-deep>summary::-webkit-details-marker{
  display:none;
}

.home-v2-deep>summary>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.home-v2-deep>summary strong{
  color:#365866;
  font-size:.86rem;
}

.home-v2-deep>summary span{
  color:#7a898f;
  font-size:.67rem;
}

.home-v2-deep-action{
  white-space:nowrap;
  font-weight:750;
}

.home-v2-deep-content{
  padding:0 14px 14px;
  border-top:1px solid #e8edef;
}

.home-v2-deep .home-analysis-head{
  margin-top:15px;
}

@media(max-width:1150px){
  .home-v2-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-v2-domains{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .home-v2-head,
  .home-v2-section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .home-v2-head-meta{
    justify-content:flex-start;
  }

  .home-v2-kpis,
  .home-v2-domains{
    grid-template-columns:1fr;
  }

  .home-v2-insight{
    grid-template-columns:4px minmax(0,1fr);
  }

  .home-v2-arrow{
    display:none;
  }

  .home-v2-deep>summary{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* DTIC360 DASHBOARD HOME V2.1 */

.home-v2-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.home-v21-integrations{
  margin:17px 0;
}

.home-v21-health-summary{
  padding:4px 8px;
  border-radius:999px;
  font-size:.63rem;
  font-weight:800;
  white-space:nowrap;
}

.home-v21-health-summary.healthy{
  background:#eaf5ed;
  color:#477657;
}

.home-v21-health-summary.attention{
  background:#fff3d7;
  color:#876418;
}

.home-v21-health-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}

.home-v21-health{
  min-width:0;
  padding:9px 10px;
  border:1px solid #e0e8eb;
  border-left:4px solid #91a3ab;
  border-radius:8px;
  background:#fafcfc;
}

.home-v21-health.saudavel{
  border-left-color:#69a47a;
  background:#f8fcf9;
}

.home-v21-health.atualizando{
  border-left-color:#5a91ab;
  background:#f7fbfd;
}

.home-v21-health.atencao{
  border-left-color:#d0a02e;
  background:#fffbf3;
}

.home-v21-health.desatualizado{
  border-left-color:#ce7f32;
  background:#fff9f3;
}

.home-v21-health.erro{
  border-left-color:#b84b41;
  background:#fff8f7;
}

.home-v21-health.indisponivel{
  border-left-color:#8d9ca3;
}

.home-v21-health-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
}

.home-v21-health-head strong{
  color:#375965;
  font-size:.75rem;
}

.home-v21-health-head span{
  font-size:.6rem;
  font-weight:800;
  color:#6e7e85;
  text-align:right;
}

.home-v21-health>small{
  display:block;
  margin-top:4px;
  color:#79878d;
  font-size:.61rem;
  line-height:1.35;
}

.home-v21-hardware-foot{
  display:grid;
  gap:3px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #e8edef;
  color:#77868d;
  font-size:.63rem;
}

.home-v21-hardware-foot strong{
  color:#45636f;
}

@media(max-width:1200px){
  .home-v2-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-v21-health-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .home-v2-kpis,
  .home-v21-health-grid{
    grid-template-columns:1fr;
  }
}


/* DTIC360 SAUDE INTEGRACOES V1 */

.dtic-health-head{
  align-items:flex-start;
}

.dtic-health-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:15px 0;
}

.dtic-health-summary-card{
  padding:11px 13px;
  border:1px solid #dfe8eb;
  border-top:3px solid #7d9da9;
  border-radius:9px;
  background:#fff;
}

.dtic-health-summary-card.good{
  border-top-color:#66a277;
}

.dtic-health-summary-card.warn{
  border-top-color:#d19a2f;
}

.dtic-health-summary-card span,
.dtic-health-summary-card small{
  display:block;
}

.dtic-health-summary-card span{
  color:#74848b;
  font-size:.65rem;
  font-weight:750;
}

.dtic-health-summary-card strong{
  display:block;
  margin:3px 0;
  color:#345763;
  font-size:1.45rem;
}

.dtic-health-summary-card small{
  color:#869298;
  font-size:.61rem;
  line-height:1.3;
}

.dtic-health-list{
  display:grid;
  gap:11px;
  margin-top:14px;
}

.dtic-health-component{
  margin:0;
  border-left:4px solid #8b9ea6;
}

.dtic-health-component.saudavel{
  border-left-color:#67a077;
}

.dtic-health-component.atualizando{
  border-left-color:#5791ac;
}

.dtic-health-component.atencao{
  border-left-color:#d09b2f;
}

.dtic-health-component.desatualizado{
  border-left-color:#ce7930;
}

.dtic-health-component.erro{
  border-left-color:#b64b42;
}

.dtic-health-component.indisponivel{
  border-left-color:#8d9ba2;
}

.dtic-health-component.manual{
  border-left-color:#7d8fa8;
}

.dtic-health-component-head{
  margin-bottom:10px;
}

.dtic-health-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dtic-health-title small{
  color:#839197;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.dtic-health-title h2{
  margin:2px 0 0;
  color:#315562;
  font-size:1rem;
}

.dtic-health-status{
  padding:4px 8px;
  border-radius:999px;
  background:#edf2f4;
  color:#65777e;
  font-size:.61rem;
  font-weight:800;
  white-space:nowrap;
}

.dtic-health-status.saudavel{
  background:#eaf5ed;
  color:#477657;
}

.dtic-health-status.atualizando{
  background:#e9f3f8;
  color:#49768c;
}

.dtic-health-status.atencao{
  background:#fff3d7;
  color:#856317;
}

.dtic-health-status.desatualizado{
  background:#fff0e3;
  color:#8d5823;
}

.dtic-health-status.erro{
  background:#fbe9e7;
  color:#943e36;
}

.dtic-health-status.manual{
  background:#eef1f7;
  color:#5f6d86;
}

.dtic-health-description{
  margin:5px 0 0;
  color:#728087;
  font-size:.7rem;
}

.dtic-health-detail{
  margin:6px 0 0;
  padding:6px 8px;
  border-radius:6px;
  background:#f7f9fa;
  color:#556970;
  font-size:.7rem;
  line-height:1.4;
}

.dtic-health-basics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}

.dtic-health-basics>div,
.dtic-health-metrics>div{
  min-width:0;
  padding:7px 8px;
  border:1px solid #e5ebed;
  border-radius:7px;
  background:#fafcfc;
}

.dtic-health-basics span,
.dtic-health-metrics span{
  display:block;
  color:#839096;
  font-size:.58rem;
}

.dtic-health-basics strong,
.dtic-health-metrics strong{
  display:block;
  margin-top:2px;
  color:#3f606b;
  font-size:.67rem;
  overflow-wrap:anywhere;
}

.dtic-health-basics strong.ok{
  color:#4e805c;
}

.dtic-health-basics small{
  display:block;
  margin-top:2px;
  color:#879398;
  font-size:.56rem;
}

.dtic-health-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}

.dtic-health-details{
  margin-top:9px;
  border-top:1px solid #e7edef;
}

.dtic-health-details>summary{
  padding:8px 2px 5px;
  cursor:pointer;
  color:#3e6776;
  font-size:.68rem;
  font-weight:750;
}

.dtic-health-config{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:5px 0;
}

.dtic-health-config>div{
  padding:7px 8px;
  border-radius:6px;
  background:#f7f9fa;
}

.dtic-health-config span,
.dtic-health-cronline>span{
  display:block;
  margin-bottom:3px;
  color:#829097;
  font-size:.58rem;
}

.dtic-health-config strong,
.dtic-health-config code{
  font-size:.66rem;
}

.dtic-health-cronline{
  padding:7px 8px;
  border-radius:6px;
  background:#f7f9fa;
}

.dtic-health-cronline code{
  display:block;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:.61rem;
  line-height:1.35;
}

.dtic-health-config-table{
  margin-top:5px;
  font-size:.66rem;
}

.dtic-health-config-table code{
  font-size:.62rem;
  overflow-wrap:anywhere;
}

.dtic-health-secret{
  display:inline-block;
  padding:2px 6px;
  border-radius:999px;
  background:#eef2f3;
  color:#61737a;
  font-size:.6rem;
  font-weight:750;
}

.dtic-health-generated{
  margin-top:12px;
}

@media(max-width:1150px){
  .dtic-health-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dtic-health-basics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .dtic-health-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .dtic-health-summary,
  .dtic-health-basics,
  .dtic-health-metrics,
  .dtic-health-config{
    grid-template-columns:1fr;
  }

  .dtic-health-title{
    flex-direction:column;
  }
}

/* DTIC360 ASSISTENTE V1 */
.ast-page-head{margin-bottom:12px}.ast-notice{margin-bottom:14px}
.ast-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:stretch;min-height:68vh}
.ast-sidebar{margin:0;padding:12px;display:flex;flex-direction:column;min-height:0}.ast-new{display:block;text-align:center;margin-bottom:10px}
.ast-conversation-list{display:flex;flex-direction:column;gap:5px;overflow:auto;max-height:64vh}.ast-conversation{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid #dfe8ec;border-radius:8px;text-decoration:none;background:#fff}.ast-conversation:hover{background:#f6fafb}.ast-conversation.active{background:#edf6f8;border-color:#aac9d4}.ast-conversation strong{font-size:.82rem;color:#294b59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ast-conversation small{font-size:.68rem;color:#78888f}.ast-empty-side{padding:8px}
.ast-chat{margin:0;padding:0;display:flex;flex-direction:column;min-height:68vh;overflow:hidden}.ast-chat-head{padding:12px 15px;border-bottom:1px solid #e0e8ec;background:#f8fbfc}.ast-chat-head>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.ast-chat-head strong{font-size:.95rem;color:#294b59}.ast-chat-head small{color:#6d7f87;font-size:.72rem}
.ast-messages{flex:1;min-height:360px;max-height:62vh;overflow:auto;padding:16px;background:#fbfcfd}.ast-message{display:flex;margin-bottom:12px}.ast-message.ast-usuario{justify-content:flex-end}.ast-message.ast-assistente{justify-content:flex-start}.ast-bubble{max-width:min(760px,88%);padding:10px 12px;border-radius:12px;border:1px solid #dfe7eb;background:#fff;box-shadow:0 1px 2px rgba(25,55,70,.04)}.ast-usuario .ast-bubble{background:#edf6f8;border-color:#c7dde5}.ast-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;font-size:.9rem;color:#2d3f47}.ast-wait{display:block;margin-top:7px;color:#6e8088;font-size:.69rem}.ast-sources{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding-top:7px;border-top:1px solid #edf1f3}.ast-sources span{font-size:.64rem;color:#607781;background:#f2f6f7;border-radius:10px;padding:3px 7px}
.ast-welcome{max-width:760px;margin:30px auto;text-align:center}.ast-welcome h2{margin-bottom:6px}.ast-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.ast-example{background:#fff;color:#345b69;border:1px solid #d7e4e8;text-align:left;font-size:.78rem;min-height:0;padding:10px;border-radius:8px}.ast-example:hover{background:#f3f8fa;filter:none}
.ast-form{display:flex;gap:8px;padding:12px;border-top:1px solid #dfe8ec;background:#fff;align-items:flex-end}.ast-form textarea{flex:1;min-height:46px;max-height:150px;resize:vertical;margin:0}.ast-form button{min-width:90px}
.dtic-health-groups{display:flex;flex-direction:column;gap:22px}.dtic-health-group{min-width:0}.dtic-health-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin:4px 0 9px;padding-bottom:7px;border-bottom:1px solid #dce6ea}.dtic-health-group-head h2{margin:0;font-size:1.05rem;color:#315867}.dtic-health-group-head p{margin:3px 0 0}.dtic-health-group-head>span{font-size:.7rem;color:#6e8088;white-space:nowrap;padding-top:3px}
@media(max-width:850px){.ast-shell{grid-template-columns:1fr}.ast-sidebar{min-height:0}.ast-conversation-list{max-height:180px}.ast-chat{min-height:62vh}.ast-examples{grid-template-columns:1fr}}
@media(max-width:600px){.ast-messages{padding:10px;max-height:none}.ast-bubble{max-width:94%}.ast-chat-head>div{align-items:flex-start;flex-direction:column}.ast-form{align-items:stretch;flex-direction:column}.ast-form button{width:100%}.dtic-health-group-head{flex-direction:column}.dtic-health-group-head>span{padding-top:0}}


/* DTIC360 ASSISTENTE UX V1.3 */
.ast-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ast-page-actions{display:flex;gap:8px;align-items:center;padding-top:2px}
.ast-notification-btn{white-space:nowrap}
.ast-async-notice{display:flex;align-items:flex-start;gap:11px}
.ast-async-notice-icon{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#edf6f8;color:#3b6a79;font-size:1.05rem;font-weight:800}
.ast-async-notice>div:last-child{display:flex;flex-direction:column;gap:3px}
.ast-async-notice span{color:#61747d;font-size:.78rem;line-height:1.4}
.ast-processing-card{margin-top:10px;padding:11px 12px;border:1px solid #dce8ec;border-radius:9px;background:#f8fbfc}
.ast-processing-top{display:flex;align-items:center;gap:8px;color:#345d6c}
.ast-processing-top strong{font-size:.76rem}
.ast-processing-pulse,.ast-global-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4d8799;box-shadow:0 0 0 0 rgba(77,135,153,.35);animation:astPulse 1.6s infinite}
.ast-processing-meta{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:7px;color:#617780;font-size:.67rem}
.ast-processing-card>small{display:block;margin-top:6px;color:#73858c;font-size:.64rem;line-height:1.35}
.ast-elapsed{font-variant-numeric:tabular-nums;color:#3f6471}
@keyframes astPulse{0%{box-shadow:0 0 0 0 rgba(77,135,153,.34)}70%{box-shadow:0 0 0 7px rgba(77,135,153,0)}100%{box-shadow:0 0 0 0 rgba(77,135,153,0)}}
.ast-global-status{position:fixed;right:20px;bottom:20px;z-index:1200;width:min(340px,calc(100vw - 28px));padding:13px 14px;border:1px solid #d9e4e8;border-radius:12px;background:#fff;box-shadow:0 10px 34px rgba(32,58,70,.16)}
.ast-global-status.hidden{display:none}
.ast-global-top{display:flex;align-items:center;gap:8px;color:#315867}
.ast-global-top strong{font-size:.82rem}
.ast-global-status p{margin:7px 0 8px;color:#5f737c;font-size:.74rem;line-height:1.4}
.ast-global-meta{display:flex;justify-content:space-between;gap:10px;margin:6px 0 10px;color:#75868d;font-size:.64rem}
.ast-global-elapsed{font-variant-numeric:tabular-nums;font-weight:750;color:#456a77}
.ast-global-check{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#e7f4eb;color:#3e7751;font-weight:900}
.ast-global-status.done{border-color:#cfe3d5}
.ast-global-status .btn.small{display:inline-block;min-height:0;padding:6px 9px;font-size:.68rem}
.ast-nav-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:0;margin-left:6px;padding:1px 5px;border-radius:999px;font-size:.57rem;font-weight:850;line-height:1.35;vertical-align:middle}
.ast-nav-indicator:empty{display:none}
.ast-nav-indicator.pending{background:#e9f3f7;color:#376c7d}
.ast-nav-indicator.done{background:#e7f4eb;color:#3f7751}
.ast-toast{position:fixed;right:20px;top:78px;z-index:1300;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;width:min(390px,calc(100vw - 28px));padding:12px 14px;border:1px solid #cfe3d5;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(32,58,70,.16);transition:opacity .25s ease,transform .25s ease}
.ast-toast strong{grid-column:1;color:#35654a;font-size:.78rem}
.ast-toast span{grid-column:1;color:#61747d;font-size:.7rem}
.ast-toast a{grid-column:2;grid-row:1/3;align-self:center;font-size:.7rem;font-weight:750}
.ast-toast.leaving{opacity:0;transform:translateY(-8px)}
@media(max-width:760px){.ast-page-head{flex-direction:column}.ast-page-actions{width:100%;padding-top:0}.ast-notification-btn{width:100%}.ast-global-status{right:14px;bottom:14px}.ast-toast{right:14px;top:70px}}
