/* CONTROLPRO V132 - Financeiro e painel administrativo
   Blocos originais 03-06 da V131. Ordem interna preservada. */

/* =====================================================================
   controlpro-v55-finance-ios-pro
   Extraído do index V129 na separação V131
   ===================================================================== */
/* CONTROLPRO V55: Resumo Financeiro com acabamento iOS/profissional. */
        #pageFinancas { gap: 0 !important; }
        #pageFinancas .finance-dashboard-v55 {
            width: 100%;
            display: flex;
            flex-direction: column;
            gap: 12px;
            padding: 2px 0 10px;
            font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", system-ui, sans-serif;
            font-variant-numeric: tabular-nums;
        }
        #pageFinancas .finance-hero-v55 {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 15px 16px;
            border-radius: 22px;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent);
            background: linear-gradient(145deg, color-mix(in srgb, var(--card-bg) 99%, white 1%), color-mix(in srgb, var(--filter-btn-bg) 58%, var(--card-bg)));
            box-shadow: 0 8px 26px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.30);
        }
        #pageFinancas .finance-hero-icon-v55 {
            width: 46px;
            height: 46px;
            flex: 0 0 46px;
            border-radius: 15px;
            display: grid;
            place-items: center;
            background: color-mix(in srgb, var(--btn-primary-bg) 14%, var(--card-bg));
            color: var(--btn-primary-bg);
            border: 1px solid color-mix(in srgb, var(--btn-primary-bg) 20%, transparent);
            font-size: 19px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.32);
        }
        #pageFinancas .finance-hero-copy-v55 { min-width: 0; }
        #pageFinancas .finance-eyebrow-v55 {
            display: block;
            margin-bottom: 2px;
            color: #94a3b8;
            font-size: 9.5px;
            line-height: 1.1;
            font-weight: 800;
            letter-spacing: .095em;
        }
        #pageFinancas .finance-hero-v55 h3 {
            margin: 0;
            border: 0;
            padding: 0;
            color: var(--text-main);
            font-size: 20px;
            line-height: 1.1;
            font-weight: 800;
            letter-spacing: -.035em;
        }
        #pageFinancas .finance-hero-v55 p {
            margin: 4px 0 0;
            color: #7c8ba1;
            font-size: 11.5px;
            line-height: 1.35;
            font-weight: 520;
        }
        #pageFinancas .finance-kpi-grid-v55 {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }
        #pageFinancas .finance-kpi-v55 {
            position: relative;
            min-width: 0;
            overflow: hidden;
            padding: 13px 13px 12px;
            border-radius: 19px;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent);
            background: linear-gradient(155deg, color-mix(in srgb,var(--card-bg) 99%,white 1%), color-mix(in srgb,var(--stat-card-bg) 58%,var(--card-bg)));
            box-shadow: 0 7px 20px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.28);
        }
        #pageFinancas .finance-kpi-v55::after {
            content: "";
            position: absolute;
            width: 62px;
            height: 62px;
            right: -23px;
            top: -24px;
            border-radius: 50%;
            background: color-mix(in srgb, var(--btn-primary-bg) 8%, transparent);
            pointer-events: none;
        }
        #pageFinancas .finance-kpi-label-v55 {
            display: flex;
            align-items: center;
            gap: 5px;
            min-height: 26px;
            color: #718096;
            font-size: 10px;
            line-height: 1.25;
            font-weight: 700;
            letter-spacing: -.005em;
        }
        #pageFinancas .finance-kpi-label-v55 i { color: var(--btn-primary-bg); font-size: 10px; }
        #pageFinancas .finance-kpi-v55 strong {
            display: block;
            margin-top: 5px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: var(--text-main) !important;
            font-size: clamp(18px, 4.6vw, 25px);
            line-height: 1.05;
            font-weight: 810;
            letter-spacing: -.045em;
        }
        #pageFinancas .finance-kpi-profit-v55 strong,
        #pageFinancas .finance-total-profit-v55 strong { color: #3b82f6 !important; }
        #pageFinancas .finance-total-revenue-v55 strong { color: #10b981 !important; }
        #pageFinancas .finance-total-cost-v55 strong { color: #ef4444 !important; }
        #pageFinancas .finance-period-panel-v55,
        #pageFinancas .finance-section-v55 {
            border-radius: 22px;
            border: 1px solid color-mix(in srgb, var(--card-border) 74%, transparent);
            background: color-mix(in srgb, var(--card-bg) 97%, transparent);
            box-shadow: 0 7px 22px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.25);
        }
        #pageFinancas .finance-period-panel-v55 { padding: 13px; }
        #pageFinancas .finance-period-title-v55 {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 0 2px 9px;
        }
        #pageFinancas .finance-period-title-v55 span {
            display: block;
            color: var(--text-main);
            font-size: 13px;
            font-weight: 760;
            letter-spacing: -.018em;
        }
        #pageFinancas .finance-period-title-v55 small {
            display: block;
            margin-top: 2px;
            color: #94a3b8;
            font-size: 10px;
            font-weight: 560;
        }
        #pageFinancas .finance-period-title-v55 > i {
            color: var(--btn-primary-bg);
            font-size: 16px;
        }
        #pageFinancas .finance-period-controls-v55 {
            display: grid;
            grid-template-columns: minmax(0, 1.3fr) minmax(82px, .7fr) auto;
            gap: 7px;
        }
        #pageFinancas .finance-period-controls-v55 select,
        #pageFinancas .finance-period-controls-v55 button {
            min-width: 0;
            min-height: 40px;
            margin: 0 !important;
            border-radius: 13px !important;
            font-size: 12px;
        }
        #pageFinancas .finance-period-controls-v55 select {
            padding: 8px 30px 8px 12px;
            font-weight: 650;
        }
        #pageFinancas .finance-filter-btn-v55 {
            width: auto !important;
            padding: 8px 14px !important;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            white-space: nowrap;
        }
        #pageFinancas .finance-section-v55 { padding: 14px; }
        #pageFinancas .finance-section-heading-v55 {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 10px;
        }
        #pageFinancas .finance-section-icon-v55 {
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            display: grid;
            place-items: center;
            border-radius: 11px;
            background: color-mix(in srgb, var(--btn-primary-bg) 11%, var(--filter-btn-bg));
            color: var(--btn-primary-bg);
            font-size: 13px;
        }
        #pageFinancas .finance-section-heading-v55 h4 {
            margin: 0;
            color: var(--text-main);
            font-size: 14px;
            line-height: 1.2;
            font-weight: 790;
            letter-spacing: -.024em;
        }
        #pageFinancas .finance-section-heading-v55 p {
            margin: 2px 0 0;
            color: #94a3b8;
            font-size: 10px;
            line-height: 1.3;
        }
        #pageFinancas #financeiroDetalhe,
        #pageFinancas #historicoFinanceiro {
            display: flex;
            flex-direction: column;
            gap: 7px;
            margin: 0;
        }
        #pageFinancas #financeiroDetalhe .servico-card,
        #pageFinancas #historicoFinanceiro .servico-card {
            margin: 0;
            padding: 12px 13px;
            border-radius: 16px !important;
            border: 1px solid color-mix(in srgb, var(--card-border) 70%, transparent) !important;
            background: linear-gradient(150deg, color-mix(in srgb,var(--card-bg) 99%,white 1%), color-mix(in srgb,var(--filter-btn-bg) 54%,var(--card-bg))) !important;
            box-shadow: 0 4px 13px rgba(15,23,42,.045) !important;
            gap: 10px;
        }
        #pageFinancas #financeiroDetalhe .servico-card:last-child {
            background: color-mix(in srgb, var(--btn-primary-bg) 8%, var(--card-bg)) !important;
            border-color: color-mix(in srgb, var(--btn-primary-bg) 20%, var(--card-border)) !important;
        }
        #pageFinancas .servico-card .servico-nome {
            color: var(--text-main);
            font-size: 13px;
            font-weight: 780;
            letter-spacing: -.018em;
        }
        #pageFinancas .servico-card .servico-stats,
        #pageFinancas #historicoFinanceiro .servico-card > div:last-child {
            color: var(--text-main);
            font-size: 11.5px;
            line-height: 1.45;
            font-weight: 600;
            text-align: right;
        }
        #pageFinancas .finance-search-v55 {
            position: relative;
            margin: 0 0 9px;
        }
        #pageFinancas .finance-search-v55 > i {
            position: absolute;
            left: 13px;
            top: 50%;
            transform: translateY(-50%);
            color: #94a3b8;
            font-size: 12px;
            pointer-events: none;
        }
        #pageFinancas .finance-search-v55 input {
            min-height: 41px;
            margin: 0;
            padding: 9px 13px 9px 34px;
            border-radius: 13px !important;
            font-size: 12px;
            font-weight: 560;
        }
        #pageFinancas .finance-history-list-v55 { max-height: 390px; padding-right: 1px; }
        @media (max-width: 560px) {
            #pageFinancas .finance-dashboard-v55 { gap: 9px; }
            #pageFinancas .finance-hero-v55 { padding: 13px; border-radius: 19px; }
            #pageFinancas .finance-hero-icon-v55 { width: 42px; height: 42px; flex-basis: 42px; border-radius: 14px; }
            #pageFinancas .finance-hero-v55 h3 { font-size: 18px; }
            #pageFinancas .finance-kpi-grid-v55 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
            #pageFinancas .finance-kpi-grid-v55 > .finance-kpi-v55:nth-child(3) { grid-column: 1 / -1; }
            #pageFinancas .finance-kpi-v55 { padding: 11px 12px; border-radius: 17px; }
            #pageFinancas .finance-kpi-v55 strong { font-size: 20px; }
            #pageFinancas .finance-period-panel-v55,
            #pageFinancas .finance-section-v55 { border-radius: 19px; }
            #pageFinancas .finance-period-controls-v55 { grid-template-columns: 1fr .72fr; }
            #pageFinancas .finance-filter-btn-v55 { grid-column: 1 / -1; width: 100% !important; }
            #pageFinancas #financeiroDetalhe .servico-card,
            #pageFinancas #historicoFinanceiro .servico-card { align-items: flex-start; }
            #pageFinancas .servico-card .servico-stats,
            #pageFinancas #historicoFinanceiro .servico-card > div:last-child { text-align: left; width: 100%; }
        }


/* =====================================================================
   controlpro-v62-admin-ui-polish
   Extraído do index V129 na separação V131
   ===================================================================== */
/* V62: ajustes visuais previamente solicitados + correção sem alterar lógica. */
        #mainScreen .user-name { font-size: 18px !important; }
        .cp-client-card-avatar-v50 {
            border: 1px solid #111111 !important;
            box-shadow: 0 5px 16px rgba(15,23,42,.09), 0 0 0 .5px rgba(0,0,0,.12) !important;
        }
        #pageAddCliente { align-items:center; }
        #pageAddCliente .cp-new-client-v62 {
            width: min(100%, 760px);
            padding: 0 !important;
            overflow: hidden;
            border-radius: 24px !important;
            background: color-mix(in srgb,var(--card-bg) 98%,transparent) !important;
        }
        .cp-new-client-hero-v62 {
            display:flex; align-items:center; gap:12px;
            padding:18px 18px 15px;
            border-bottom:1px solid color-mix(in srgb,var(--card-border) 72%,transparent);
            background:linear-gradient(145deg,color-mix(in srgb,var(--btn-primary-bg) 8%,var(--card-bg)),var(--card-bg));
        }
        .cp-new-client-icon-v62 {
            width:48px; height:48px; flex:0 0 48px; border-radius:15px;
            display:grid; place-items:center; font-size:19px; color:var(--btn-primary-bg);
            background:color-mix(in srgb,var(--btn-primary-bg) 12%,var(--card-bg));
            border:1px solid color-mix(in srgb,var(--btn-primary-bg) 20%,transparent);
            box-shadow:0 7px 18px rgba(15,23,42,.07);
        }
        .cp-new-client-eyebrow-v62 { display:block; font-size:9.5px; font-weight:800; letter-spacing:.09em; color:#94a3b8; margin-bottom:2px; }
        .cp-new-client-hero-v62 h3 { margin:0 !important; padding:0 !important; border:0 !important; font-size:20px; line-height:1.15; letter-spacing:-.03em; color:var(--text-main) !important; }
        .cp-new-client-hero-v62 p { margin:4px 0 0; font-size:11.5px; line-height:1.35; color:#64748b; }
        .cp-new-client-grid-v62 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 12px; padding:16px 18px 8px; }
        .cp-new-client-grid-v62 .field-row { margin:0 !important; min-width:0; }
        .cp-new-client-full-v62 { grid-column:1 / -1; }
        .cp-new-client-grid-v62 .field-label { display:flex; align-items:center; gap:6px; margin:0 0 6px; font-size:11px; font-weight:760; color:color-mix(in srgb,var(--text-main) 86%,#64748b); }
        .cp-new-client-grid-v62 .field-label i { width:14px; text-align:center; color:var(--btn-primary-bg); }
        .cp-new-client-grid-v62 input,
        .cp-new-client-grid-v62 textarea,
        .cp-new-client-grid-v62 .select-trigger { margin:0 !important; min-height:44px; border-radius:14px !important; }
        .cp-new-client-grid-v62 textarea { min-height:82px; padding-top:12px; }
        .cp-new-client-months-v62 { width:100%; margin:0 !important; min-height:44px; }
        .cp-new-client-indicator-v62 { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; margin:0 !important; }
        .cp-new-client-indicator-v62 button { width:auto !important; min-height:44px; padding:9px 14px !important; margin:0 !important; }
        .cp-optional-v62 { margin-left:auto; font-size:9px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.05em; }
        .cp-new-client-footer-v62 { padding:10px 18px 18px; }
        .cp-new-client-footer-v62 #btnSalvarCliente { min-height:46px; font-size:14px; }
        .cp-new-client-footer-v62 p { display:flex; align-items:flex-start; justify-content:center; gap:6px; margin:9px auto 0; max-width:520px; text-align:center; font-size:10.5px; line-height:1.4; color:#94a3b8; }
        .cp-new-client-footer-v62 p i { margin-top:2px; color:var(--btn-primary-bg); }
        @media (max-width:560px) {
            .cp-new-client-hero-v62 { padding:15px 14px 13px; }
            .cp-new-client-icon-v62 { width:44px; height:44px; flex-basis:44px; border-radius:14px; }
            .cp-new-client-hero-v62 h3 { font-size:18px; }
            .cp-new-client-grid-v62 { grid-template-columns:1fr; padding:14px 14px 7px; gap:10px; }
            .cp-new-client-full-v62 { grid-column:auto; }
            .cp-new-client-indicator-v62 { grid-template-columns:1fr 1fr; }
            .cp-new-client-indicator-v62 input { grid-column:1 / -1; }
            .cp-new-client-indicator-v62 button { width:100% !important; }
            .cp-new-client-footer-v62 { padding:9px 14px 15px; }
        }


/* =====================================================================
   controlpro-v63-admin-professional-ui
   Extraído do index V129 na separação V131
   ===================================================================== */
/* =====================================================================
           CONTROLPRO V63 — PAINEL ADMIN PROFISSIONAL (SOMENTE APARÊNCIA)
           Nenhum ID, handler, filtro, query, regra ou comportamento é alterado.
           ===================================================================== */
        #adminScreen {
            background:
                radial-gradient(circle at 50% -12%, color-mix(in srgb, var(--btn-primary-bg) 8%, transparent), transparent 34%),
                var(--bg-body) !important;
        }
        #adminScreen .admin-header {
            min-height: 54px;
            padding: 6px 11px;
            gap: 8px;
            background: color-mix(in srgb, var(--card-bg) 92%, transparent);
            border-bottom: 1px solid color-mix(in srgb, var(--card-border) 70%, transparent);
            box-shadow: 0 4px 20px rgba(15,23,42,.055) !important;
            backdrop-filter: blur(20px) saturate(155%);
            -webkit-backdrop-filter: blur(20px) saturate(155%);
        }
        #adminScreen .admin-title {
            font-size: 16px;
            font-weight: 800;
            letter-spacing: -.025em;
            line-height: 1.15;
        }
        #adminScreen .back-btn,
        #adminScreen .refresh-btn {
            min-height: 38px;
            box-shadow: 0 3px 10px rgba(15,23,42,.055);
        }
        #adminScreen > .content {
            width: min(100%, 1120px);
            margin: 0 auto;
            padding: 10px 12px calc(20px + env(safe-area-inset-bottom));
        }

        /* Navegação do Admin */
        #adminScreen .admin-filter-bar {
            display: grid;
            grid-template-columns: repeat(4, minmax(0,1fr));
            gap: 7px;
            margin: 0 0 12px;
            padding: 9px;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent);
            border-radius: 19px;
            background: color-mix(in srgb, var(--card-bg) 92%, transparent);
            box-shadow: 0 7px 24px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.24);
        }
        #adminScreen .admin-filter-bar .filter-btn {
            width: 100%;
            min-height: 38px;
            margin: 0;
            padding: 7px 8px;
            border-radius: 12px;
            font-size: 10.8px;
            font-weight: 760;
            line-height: 1.15;
            white-space: normal;
            box-shadow: none !important;
        }
        #adminScreen .admin-filter-bar .filter-btn.active-filter {
            box-shadow: 0 5px 14px color-mix(in srgb, var(--filter-active-bg) 18%, transparent) !important;
        }

        /* Mini cards do início */
        #adminScreen .admin-stats {
            display: grid;
            grid-template-columns: repeat(5, minmax(0,1fr));
            gap: 9px;
            margin: 0 0 13px;
        }
        #adminScreen .admin-stat-card {
            min-width: 0;
            min-height: 92px;
            padding: 12px 8px 10px;
            border-radius: 18px !important;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent) !important;
            background: linear-gradient(155deg,
                color-mix(in srgb, var(--card-bg) 99%, white 1%),
                color-mix(in srgb, var(--stat-card-bg) 32%, var(--card-bg))) !important;
            box-shadow: 0 7px 22px rgba(15,23,42,.065), inset 0 1px 0 rgba(255,255,255,.26) !important;
            text-align: center;
        }
        #adminScreen .admin-stat-card i {
            font-size: 22px;
            margin: 0 0 5px;
        }
        #adminScreen .admin-stat-card h3 {
            margin: 0;
            font-size: 22px;
            line-height: 1;
            font-weight: 820;
            letter-spacing: -.035em;
            font-variant-numeric: tabular-nums;
        }
        #adminScreen .admin-stat-card p {
            margin: 5px 0 0;
            font-size: 10.5px;
            line-height: 1.15;
            color: #64748b;
            font-weight: 720;
        }

        /* Seções e listas: garante separação real entre mini cards */
        #adminScreen .admin-section {
            margin-top: 0;
            padding: 0;
        }
        #adminScreen #userListContainer,
        #adminScreen #adminListContainer,
        #adminScreen #adminTicketsContainer,
        #userClientsModal #userClientsList,
        #userListModal #userListModalContent {
            display: flex;
            flex-direction: column;
            gap: 10px;
            row-gap: 10px;
        }
        #adminScreen #userListContainer > .card-item,
        #adminScreen #adminListContainer > .card-item,
        #adminScreen #adminTicketsContainer > .card-item,
        #userClientsModal #userClientsList > .card-item,
        #userListModal #userListModalContent > .card-item,
        #userListModal #userListModalContent > .user-list-modal-item {
            margin: 0 !important;
            padding: 14px 15px !important;
            border-radius: 18px !important;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent) !important;
            background: linear-gradient(155deg,
                color-mix(in srgb, var(--card-bg) 99%, white 1%),
                color-mix(in srgb, var(--stat-card-bg) 26%, var(--card-bg))) !important;
            box-shadow: 0 6px 20px rgba(15,23,42,.065), inset 0 1px 0 rgba(255,255,255,.22) !important;
        }
        #adminScreen #userListContainer > .card-item strong,
        #adminScreen #adminListContainer > .card-item strong,
        #adminScreen #adminTicketsContainer > .card-item strong {
            font-weight: 780;
            letter-spacing: -.015em;
        }
        #adminScreen #userListContainer > .card-item hr,
        #adminScreen #adminListContainer > .card-item hr,
        #adminScreen #adminTicketsContainer > .card-item hr {
            margin: 9px 0 !important;
            opacity: .72;
        }
        #adminScreen .status-badge-admin,
        #adminScreen .ticket-status {
            font-size: 10px;
            padding: 4px 9px;
            border-radius: 999px;
            white-space: nowrap;
        }
        #adminScreen .action-row {
            gap: 6px;
            margin-top: 11px;
            justify-content: flex-start;
        }
        #adminScreen .action-row .btn-small,
        #adminScreen .action-row button {
            min-height: 33px;
            padding: 7px 10px;
            border-radius: 11px;
            font-size: 10.8px;
            font-weight: 740;
            box-shadow: 0 3px 9px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.16);
        }

        /* Busca e formulários das funções administrativas */
        #adminScreen .admin-search-input {
            min-height: 44px;
            margin: 0 0 10px;
            padding: 10px 14px;
            border-radius: 14px;
            font-size: 13px;
            box-shadow: 0 3px 12px rgba(15,23,42,.035);
        }
        #adminScreen #adminSectionTickets > .card-form,
        #adminScreen #adminSectionTest > .card-form {
            margin: 0 !important;
            padding: 17px !important;
            border-radius: 20px !important;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent) !important;
            box-shadow: 0 7px 24px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.22) !important;
        }
        #adminScreen #adminSectionTickets .card-form h3,
        #adminScreen #adminSectionTest .card-form h3 {
            margin-bottom: 12px;
            font-size: 17px;
            font-weight: 810;
            letter-spacing: -.025em;
        }
        #adminScreen .ticket-tabs {
            gap: 6px;
            margin-bottom: 12px;
            padding: 5px;
            border: 1px solid color-mix(in srgb, var(--card-border) 68%, transparent);
            border-radius: 14px;
            background: color-mix(in srgb, var(--filter-btn-bg) 72%, transparent);
        }
        #adminScreen .ticket-tab {
            flex: 1;
            min-height: 35px;
            padding: 7px 8px;
            border-radius: 10px;
            font-size: 10.5px;
        }
        #adminScreen #adminSectionTest .time-group {
            display: grid;
            grid-template-columns: repeat(3, minmax(0,1fr));
            gap: 8px;
        }
        #adminScreen #adminSectionTest input {
            min-height: 43px;
            margin-bottom: 10px;
        }
        #adminScreen #testConfigStatusAdmin {
            padding: 9px 11px;
            margin: 2px 0 10px !important;
            border-radius: 12px;
            background: color-mix(in srgb, var(--filter-btn-bg) 72%, transparent);
            border: 1px solid color-mix(in srgb, var(--card-border) 66%, transparent);
        }

        /* Modais usados nas funções do Admin */
        #userClientsModal .modal-box,
        #userListModal .modal-box,
        #adminReplyTicketModal .modal-box,
        #errorConsoleModal .modal-box {
            border-radius: 24px !important;
        }

        /* Confirmação e loading de ações: mais padrão app, menos “pílula gigante”. */
        #confirmModal {
            width: min(350px, calc(100vw - 28px)) !important;
            padding: 22px 18px 17px !important;
            border-radius: 23px !important;
            border: 1px solid color-mix(in srgb, var(--card-border) 72%, transparent) !important;
            background: color-mix(in srgb, var(--card-bg) 98%, transparent) !important;
            box-shadow: 0 26px 70px rgba(2,8,23,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
        }
        #confirmModal #confirmMessage {
            margin: 0 0 17px !important;
            font-size: 14.5px !important;
            line-height: 1.42 !important;
            font-weight: 690 !important;
            letter-spacing: -.012em;
        }
        #confirmModal > div {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
        }
        #confirmModal button {
            width: 100%;
            min-height: 40px;
            margin: 0 !important;
            border-radius: 12px !important;
            font-size: 12.5px;
            font-weight: 760;
        }

        @media (max-width: 760px) {
            #adminScreen .admin-stats { grid-template-columns: repeat(3, minmax(0,1fr)); }
            #adminScreen .admin-filter-bar { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; padding: 7px; }
        }
        @media (max-width: 520px) {
            #adminScreen > .content { padding: 8px 9px calc(16px + env(safe-area-inset-bottom)); }
            #adminScreen .admin-header { padding: 5px 8px; }
            #adminScreen .admin-title { font-size: 14px; }
            #adminScreen .back-btn { padding: 7px 10px; font-size: 11px; }
            #adminScreen .refresh-btn { width: 38px; height: 38px; }
            #adminScreen .admin-filter-bar { grid-template-columns: repeat(3, minmax(0,1fr)); }
            #adminScreen .admin-stats { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
            #adminScreen .admin-stat-card { min-height: 82px; padding: 10px 7px 8px; }
            #adminScreen .admin-stat-card i { font-size: 19px; }
            #adminScreen .admin-stat-card h3 { font-size: 20px; }
            #adminScreen #userListContainer,
            #adminScreen #adminListContainer,
            #adminScreen #adminTicketsContainer { gap: 8px; row-gap: 8px; }
            #adminScreen #userListContainer > .card-item,
            #adminScreen #adminListContainer > .card-item,
            #adminScreen #adminTicketsContainer > .card-item { padding: 12px 12px !important; border-radius: 16px !important; }
            #adminScreen .action-row .btn-small,
            #adminScreen .action-row button { flex: 1 1 auto; min-width: 0; }
            #adminScreen #adminSectionTest .time-group { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
        }


/* =====================================================================
   controlpro-v64-operations-suite
   Extraído do index V129 na separação V131
   ===================================================================== */
/* CONTROLPRO V64: suíte operacional aditiva. Sem remover fluxos existentes. */
        #pageHoje,.cp-v64-page{align-items:center}
        .cp-v64-shell{width:min(100%,920px);display:flex;flex-direction:column;gap:12px}
        .cp-v64-hero{padding:18px;border:1px solid color-mix(in srgb,var(--card-border) 72%,transparent);border-radius:23px;background:linear-gradient(145deg,color-mix(in srgb,var(--btn-primary-bg) 8%,var(--card-bg)),var(--card-bg));box-shadow:0 8px 28px rgba(15,23,42,.06)}
        .cp-v64-hero small{display:block;font-size:9px;font-weight:850;letter-spacing:.11em;color:#94a3b8;margin-bottom:3px}.cp-v64-hero h3{margin:0!important;border:0!important;padding:0!important;font-size:21px;letter-spacing:-.035em}.cp-v64-hero p{margin:5px 0 0;color:#64748b;font-size:11.5px;line-height:1.4}
        .cp-v64-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cp-v64-kpi{appearance:none;text-align:left;padding:13px;border:1px solid color-mix(in srgb,var(--card-border) 72%,transparent);border-radius:18px;background:var(--card-bg);color:var(--text-main);box-shadow:0 5px 18px rgba(15,23,42,.055);cursor:pointer}.cp-v64-kpi span{display:block;font-size:10px;color:#64748b;font-weight:740}.cp-v64-kpi strong{display:block;margin-top:4px;font-size:22px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.cp-v64-kpi i{margin-right:5px;color:var(--btn-primary-bg)}
        .cp-v64-panel{padding:15px;border:1px solid color-mix(in srgb,var(--card-border) 72%,transparent);border-radius:20px;background:var(--card-bg);box-shadow:0 6px 22px rgba(15,23,42,.05)}.cp-v64-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cp-v64-panel-title h4{margin:0;font-size:15px;letter-spacing:-.02em}.cp-v64-panel-title small{font-size:9.5px;color:#94a3b8}
        .cp-v64-list{display:flex;flex-direction:column;gap:8px}.cp-v64-item{padding:12px;border:1px solid color-mix(in srgb,var(--card-border) 68%,transparent);border-radius:16px;background:color-mix(in srgb,var(--filter-btn-bg) 46%,var(--card-bg));box-shadow:0 3px 12px rgba(15,23,42,.035)}.cp-v64-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cp-v64-item strong{font-size:13px}.cp-v64-meta{margin-top:5px;font-size:10.8px;line-height:1.45;color:#64748b}.cp-v64-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.cp-v64-actions button{min-height:34px;padding:7px 10px;border-radius:11px;font-size:10.5px;font-weight:750;border:0;cursor:pointer}.cp-v64-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.cp-v64-status.waiting{background:#fef3c7;color:#92400e}.cp-v64-status.paid{background:#dbeafe;color:#1d4ed8}.cp-v64-status.approved{background:#e0e7ff;color:#4338ca}.cp-v64-status.renewed{background:#dcfce7;color:#166534}.cp-v64-status.rejected{background:#fee2e2;color:#991b1b}
        .cp-v64-empty{padding:22px 12px;text-align:center;color:#94a3b8;font-size:12px}
        .cp-v64-client-renewals{margin:12px 0}.cp-v64-client-renewals .cp-v64-item{background:color-mix(in srgb,var(--card-bg) 96%,transparent)}
        .cp-v64-card-note{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.cp-v64-card-note.ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
        .btn-more-v64{margin-left:auto!important;min-width:38px!important;flex:0 0 38px!important;border-radius:12px!important;background:color-mix(in srgb,var(--filter-btn-bg) 86%,var(--card-bg))!important;color:var(--text-main)!important;border:1px solid color-mix(in srgb,var(--card-border) 72%,transparent)!important}
        .cp-v64-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cp-v64-quick-grid button{min-height:43px;border-radius:13px;font-size:11px}
        .cp-v64-timeline{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto}.cp-v64-timeline-item{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px;border-radius:14px;background:color-mix(in srgb,var(--filter-btn-bg) 55%,var(--card-bg));border:1px solid color-mix(in srgb,var(--card-border) 64%,transparent)}.cp-v64-timeline-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--btn-primary-bg) 12%,var(--card-bg));color:var(--btn-primary-bg);font-size:11px}.cp-v64-timeline-item strong{font-size:11px}.cp-v64-timeline-item p{margin:2px 0 0;font-size:10px;line-height:1.4;color:#64748b}
        .cp-v64-finance-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.cp-v64-finance-actions button{flex:1;min-width:130px;min-height:38px;border-radius:12px;font-size:10.5px}
        .cp-campaign-metrics-v64{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 1px}.cp-campaign-metrics-v64 span{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--btn-primary-bg) 9%,var(--card-bg));color:var(--btn-primary-bg);border:1px solid color-mix(in srgb,var(--btn-primary-bg) 18%,transparent)}
        #pageIndicacoes>.card-form{width:min(100%,840px);padding:17px!important;border-radius:22px!important;box-shadow:0 7px 25px rgba(15,23,42,.055)}#pageIndicacoes>.card-form>h3{margin:0 0 14px!important;font-size:19px;letter-spacing:-.03em}#pageIndicacoes .stats-row{gap:9px!important}#pageIndicacoes .stat-card{border-radius:17px!important;border:1px solid color-mix(in srgb,var(--card-border) 72%,transparent)!important;box-shadow:0 4px 15px rgba(15,23,42,.04)!important;font-size:11px!important;font-weight:760}#pageIndicacoes #rankingDiv,#pageIndicacoes #historicoIndicacoes{display:flex;flex-direction:column;gap:8px}#pageIndicacoes #rankingDiv>.card-item,#pageIndicacoes #historicoIndicacoes>.card-item{margin:0!important;border-radius:16px!important;padding:12px!important;border:1px solid color-mix(in srgb,var(--card-border) 70%,transparent)!important;box-shadow:0 4px 14px rgba(15,23,42,.045)!important}
        #adminSectionHealth .cp-v64-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cp-v64-health-card{padding:14px;border-radius:17px;border:1px solid color-mix(in srgb,var(--card-border) 70%,transparent);background:var(--card-bg);box-shadow:0 5px 18px rgba(15,23,42,.05)}.cp-v64-health-card span{display:block;font-size:10px;color:#64748b}.cp-v64-health-card strong{display:block;margin-top:5px;font-size:13px}.cp-v64-health-card.ok strong{color:#059669}.cp-v64-health-card.warn strong{color:#d97706}.cp-v64-health-card.bad strong{color:#dc2626}
        .cp-v64-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cp-v64-file-note{font-size:10px;color:#94a3b8;line-height:1.4;margin-top:6px}
        @media(max-width:620px){.cp-v64-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-v64-kpis>.cp-v64-kpi:last-child{grid-column:1/-1}.cp-v64-profile-grid{grid-template-columns:1fr}#adminSectionHealth .cp-v64-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-v64-shell{gap:9px}.cp-v64-hero{padding:15px;border-radius:19px}.cp-v64-kpi{padding:11px;border-radius:16px}.cp-v64-kpi strong{font-size:20px}}


