/* Complemento Só Telas V49: meta mensal editável e serviços agrupados. */
#st-followup-app #st-sync-monitor-msg:empty {display:none!important}
#st-followup-app #st46Page .stiv-shell {color:#173c29;display:flex;flex-direction:column;gap:16px;margin-top:8px;font-size:14px}
#st-followup-app #st46Page .stiv-intro {display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
#st-followup-app #st46Page .stiv-intro h2 {font-size:24px;margin:0 0 4px;color:#075b2d}
#st-followup-app #st46Page .stiv-intro p {margin:0;color:#667b6e}
#st-followup-app #st46Page .stiv-sync-hint {font-size:12px;border:1px solid #d8e8dc;background:#f1f8f3;padding:8px 10px;border-radius:9px;max-width:440px}
#st-followup-app #st46Page .stiv-kpis {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#st-followup-app #st46Page .stiv-kpi {border:1px solid #d9e6dd;border-radius:12px;background:#fff;padding:18px;min-width:0}
#st-followup-app #st46Page .stiv-kpi-label {color:#5b7664;font-size:12px;font-weight:750;margin-bottom:10px}
#st-followup-app #st46Page .stiv-kpi strong {font-size:23px;color:#075b2d;display:block;white-space:normal;overflow-wrap:anywhere}
#st-followup-app #st46Page .stiv-kpi small {display:block;margin-top:8px;color:#667b6e;font-size:11px;line-height:1.45}
#st-followup-app #st46Page .stiv-card {background:#fff;border:1px solid #d9e6dd;border-radius:12px;padding:18px;min-width:0}
#st-followup-app #st46Page .stiv-section-head {margin-bottom:14px}
#st-followup-app #st46Page .stiv-section-head h2 {font-size:19px;margin:0 0 4px;color:#075b2d}
#st-followup-app #st46Page .stiv-section-head p {margin:0;color:#637b6b;font-size:12px}
#st-followup-app #st46Page .stiv-scroll {width:100%;overflow-x:auto}
#st-followup-app #st46Page .stiv-table {width:100%;border-collapse:collapse;min-width:680px;font-size:13px}
#st-followup-app #st46Page .stiv-table th {background:#edf5ee;color:#1c5938;text-align:left;padding:11px 12px;white-space:nowrap}
#st-followup-app #st46Page .stiv-table td {border-bottom:1px solid #e5eee7;padding:12px;vertical-align:middle}
#st-followup-app #st46Page .stiv-table tbody tr:hover {background:#f7faf8}
#st-followup-app #st46Page .stiv-install-name {font-weight:800;color:#1d5839;min-width:130px}
#st-followup-app #st46Page .stiv-input-row {display:flex;align-items:center;gap:6px}
#st-followup-app #st46Page .stiv-input {padding:9px 10px;border:1px solid #cbded0;border-radius:8px;width:125px;min-width:0;background:#fff;color:#183b29}
#st-followup-app #st46Page .stiv-input:focus,#st-followup-app #st46Page .stiv-select:focus {outline:2px solid #63af82;outline-offset:1px}
#st-followup-app #st46Page .stiv-save {background:#0c783e;color:white;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:800;padding:10px 12px;white-space:nowrap}
#st-followup-app #st46Page .stiv-save:disabled {opacity:.5;cursor:wait}
#st-followup-app #st46Page .stiv-right {text-align:right;font-variant-numeric:tabular-nums}
#st-followup-app #st46Page .stiv-right strong {display:block;color:#075b2d;font-size:15px;white-space:nowrap}
#st-followup-app #st46Page .stiv-right small {display:block;color:#667b6e;margin-top:4px;font-size:11px;line-height:1.4}
#st-followup-app #st46Page .stiv-progress-td {width:220px}
#st-followup-app #st46Page .stiv-progress-wrap {display:flex;gap:8px;align-items:center}
#st-followup-app #st46Page .stiv-progress {height:13px;background:#e7f1ea;border-radius:20px;min-width:90px;flex:1;overflow:hidden}
#st-followup-app #st46Page .stiv-progress-fill {height:100%;border-radius:20px;background:linear-gradient(90deg,#15a765,#087a42)}
#st-followup-app #st46Page .stiv-goal-reached {background:linear-gradient(90deg,#087a42,#126cba)}
#st-followup-app #st46Page .stiv-pct {font-size:12px;font-weight:800;min-width:50px;text-align:right;color:#1d5b3b}
#st-followup-app #st46Page .stiv-muted {color:#668072;font-size:12px}
#st-followup-app #st46Page .stiv-inline-note {border:1px solid #f0dfb7;background:#fff9eb;border-radius:9px;padding:10px 12px;font-size:12px;color:#7b5219;margin-bottom:12px}
#st-followup-app #st46Page .stiv-filter-row {display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px;margin-bottom:15px}
#st-followup-app #st46Page .stiv-select-wrap {display:flex;flex-direction:column;gap:5px;font-weight:750;font-size:12px;color:#245337}
#st-followup-app #st46Page .stiv-select {min-width:0;padding:10px;background:#fff;border:1px solid #cddfd2;border-radius:8px;color:#1b452e;width:100%}
#st-followup-app #st46Page .stiv-installer-list {display:flex;flex-direction:column;gap:10px}
#st-followup-app #st46Page .stiv-installer {border:1px solid #d5e5da;border-radius:12px;overflow:hidden;background:#fff}
#st-followup-app #st46Page .stiv-installer-summary {cursor:pointer;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:15px 18px;background:#eef7f0;list-style:none;flex-wrap:wrap}
#st-followup-app #st46Page .stiv-installer-summary::-webkit-details-marker {display:none}
#st-followup-app #st46Page .stiv-installer-summary:before {content:'▸';color:#168449;font-size:16px}
#st-followup-app #st46Page .stiv-installer[open] .stiv-installer-summary:before {content:'▾'}
#st-followup-app #st46Page .stiv-installer-heading {display:flex;flex-direction:column;gap:3px;flex:1;min-width:160px}
#st-followup-app #st46Page .stiv-installer-heading strong {font-size:17px;color:#075b2d}
#st-followup-app #st46Page .stiv-installer-totals {display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:#536e5c}
#st-followup-app #st46Page .stiv-installer-totals b {font-size:15px;color:#075b2d;white-space:nowrap}
#st-followup-app #st46Page .stiv-installer-content {padding:14px;display:flex;flex-direction:column;gap:12px;background:#fff}
#st-followup-app #st46Page .stiv-vendor-group {border:1px solid #e5eee8;border-radius:9px;overflow:hidden}
#st-followup-app #st46Page .stiv-vendor-head {display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;background:#f8faf8;font-size:12px;color:#56715d}
#st-followup-app #st46Page .stiv-vendor-head strong {font-size:14px;color:#164f32;margin-right:auto}
#st-followup-app #st46Page .stiv-vendor-head b {font-size:13px;color:#075b2d}
#st-followup-app #st46Page .stiv-services-table {min-width:520px}
#st-followup-app #st46Page .stiv-emphasis {font-weight:800;color:#075b2d;white-space:nowrap}
#st-followup-app #st46Page .stiv-no-results {padding:15px}
#st-followup-app #st46Page .stiv-footnote {font-size:12px;color:#667b6e;line-height:1.5}
#st-followup-app #st46Page .stiv-message {font-size:11px;margin-top:6px;line-height:1.4}
#st-followup-app #st46Page .stiv-message[hidden] {display:none}
#st-followup-app #st46Page .stiv-message.stiv-error {color:#a23a27}
#st-followup-app #st46Page .stiv-message.stiv-success {color:#14783c}
@media(max-width:1050px){#st-followup-app #st46Page .stiv-kpis {grid-template-columns:repeat(2,minmax(0,1fr))}#st-followup-app #st46Page .stiv-filter-row {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){#st-followup-app #st46Page .stiv-kpis,#st-followup-app #st46Page .stiv-filter-row{grid-template-columns:1fr}#st-followup-app #st46Page .stiv-card{padding:12px}#st-followup-app #st46Page .stiv-installer-summary {flex-wrap:wrap}#st-followup-app #st46Page .stiv-installer-totals b {width:100%}}

#st-followup-app #st46Alerta:empty{display:none!important}
