/* ═══════════════════════════════════════════════════════════════ */
    /* [ID-111] ARQP — CSS Premium Personnalité                      */
    /* ═══════════════════════════════════════════════════════════════ */
    :root {
        --arqp-navy: #1B2A4A;
        --arqp-navy-light: #2C3E6B;
        --arqp-bordeaux: #7A1520;
        --arqp-bordeaux-light: #9B2030;
        --arqp-gold: #D4AF37;
        --arqp-gold-light: #E8C84A;
        --arqp-bg: #F5F3EF;
        --arqp-card: #FFFFFF;
        --arqp-border: #E8E4DC;
        --arqp-text: #1A1A1A;
        --arqp-text-muted: #6B7280;
        --arqp-success: #059669;
        --arqp-warning: #D97706;
        --arqp-danger: #DC2626;
        --arqp-info: #2563EB;
        --arqp-radius: 12px;
        --arqp-shadow: 0 2px 16px rgba(27,42,74,0.06);
        --arqp-shadow-lg: 0 8px 32px rgba(27,42,74,0.10);
        --arqp-font-display: 'Playfair Display', Georgia, serif;
        --arqp-font-body: 'DM Sans', -apple-system, sans-serif;
        --arqp-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    }

    /* ═══════════════════════════════════════════════════════════════ */
    /* [ID-111B] ANTI-ZOOM MOBILE                                     */
    /* Previne os 2 zooms incômodos no iOS Safari / Chrome Android:   */
    /*  1) Double-tap zoom em qualquer elemento clicável              */
    /*  2) Auto-zoom do iOS ao focar inputs com font-size < 16px      */
    /* O viewport `user-scalable=no` cuida do pinch-zoom, mas Safari  */
    /* iOS recente IGNORA isso para acessibilidade — então tratamos   */
    /* via touch-action e font-size.                                  */
    /* ═══════════════════════════════════════════════════════════════ */

    /* (1) Remove o atraso de 300ms e o double-tap zoom em elementos
       interativos. `manipulation` permite pan e pinch-out (fora de
       elementos clicáveis), mas remove o tap-to-zoom.
       Cobre os 3 contextos: painel admin (.arqp-wrap), portal cliente
       (.arqp-app), e elementos interativos genéricos. */
    .arqp-wrap, .arqp-wrap *,
    .arqp-app, .arqp-app *,
    button, a, input, select, textarea, label,
    [role="button"], [onclick] {
        touch-action: manipulation;
    }

    /* (2) iOS Safari força zoom quando um input tem font-size < 16px.
       Aplicado mais abaixo na media-query (max-width: 768px) que define
       font-size: 16px !important em todos os campos editáveis. */

    .arqp-wrap {
        font-family: var(--arqp-font-body);
        color: var(--arqp-text);
        background: var(--arqp-bg);
        min-height: 100vh;
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
        touch-action: manipulation;
    overscroll-behavior-x: none;
    -webkit-text-size-adjust: 100%;
    }

    .arqp-wrap,
.arqp-wrap * {
    -webkit-tap-highlight-color: transparent;
}

    .arqp-wrap * { box-sizing: border-box; margin: 0; padding: 20; }

    /* ── Layout Admin ── */
    .arqp-admin-layout {
        display: flex;
        min-height: 100vh;
    }

    .arqp-sidebar {
        width: 260px;
        background: var(--arqp-navy);
        color: #fff;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        position: sticky;
        top: 0;
        height: 100vh;
        overflow-y: auto;
        z-index: 100;
    }

    .arqp-sidebar-brand {
        padding: 24px 20px 20px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .arqp-sidebar-brand h2 {
        font-family: var(--arqp-font-display);
        font-size: 18px;
        font-weight: 700;
        color: var(--arqp-gold);
        letter-spacing: 1px;
        margin-bottom: 4px;
    }
    .arqp-sidebar-brand small {
        font-size: 11px;
        color: rgba(255,255,255,0.5);
        letter-spacing: 0.5px;
    }

    .arqp-sidebar-nav { padding: 12px 0; flex: 1; }

    .arqp-nav-item {
        display: flex;
        align-items: center;
        gap: 12px;
        justify-content: space-between;
        padding: 12px 20px;
        color: rgba(255,255,255,0.7);
        text-decoration: none;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        transition: var(--arqp-transition);
        border-left: 3px solid transparent;
    }
    .arqp-nav-item:hover {
        background: rgba(255,255,255,0.05);
        color: #fff;
    }
    .arqp-nav-item.active {
        background: rgba(212,175,55,0.08);
        color: var(--arqp-gold);
        border-left-color: var(--arqp-gold);
    }
    .arqp-nav-item .nav-icon { font-size: 18px; width: 24px; min-width:24px; text-align: center; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
    /* [MENU-V2] Garante que ícone SVG sempre renderize com tamanho consistente */
    .arqp-nav-item .nav-icon .arqp-nav-svg { width:18px; height:18px; }
    /* [MENU-V3] SVG icons em dourado, monoline */
    .arqp-nav-svg {
        color: var(--arqp-gold);
        stroke: currentColor;
        flex-shrink: 0;
        transition: transform .15s ease, color .15s ease;
    }
    .arqp-nav-item:hover .arqp-nav-svg,
    .arqp-nav-sub-item:hover .arqp-nav-svg {
        transform: scale(1.08);
    }
    .arqp-nav-item.active .arqp-nav-svg { color: var(--arqp-gold); }
    .arqp-nav-toggle .arqp-nav-svg { color: var(--arqp-gold); }
    .arqp-nav-sub-item .nav-icon { display:inline-flex; align-items:center; justify-content:center; width:18px; }
    .arqp-nav-item-main {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }
    .arqp-nav-badge {
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        border-radius: 999px;
        background: var(--arqp-gold);
        color: var(--arqp-navy);
        font-size: 11px;
        font-weight: 800;
        display: none;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 16px rgba(212,175,55,0.24);
        flex-shrink: 0;
    }
    .arqp-nav-divider {
        height: 1px;
        background: rgba(255,255,255,0.06);
        margin: 8px 20px;
    }
    .arqp-nav-section-label {
        padding: 18px 20px 6px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        color: rgba(255,255,255,0.42);
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .arqp-nav-section-label::before,
    .arqp-nav-section-label::after {
        content: '';
        flex: 1;
        height: 1px;
        background: linear-gradient(90deg, rgba(255,255,255,0.04), rgba(255,255,255,0.16), rgba(255,255,255,0.04));
    }
    .arqp-nav-group { margin-bottom: 2px; }
    .arqp-nav-item.has-children { padding-right: 10px; }
    .arqp-nav-item-click {
        display:flex;
        align-items:center;
        gap:12px;
        flex:1;
        min-width:0;
    }
    .arqp-nav-toggle {
        width: 28px;
        height: 28px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.04);
        color: rgba(255,255,255,0.62);
        border-radius: 8px;
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        transition: var(--arqp-transition);
        flex-shrink:0;
    }
    .arqp-nav-toggle:hover { background: rgba(255,255,255,0.08); color:#fff; }
    .arqp-nav-toggle .chev { display:inline-flex; align-items:center; justify-content:center; transition: transform .2s ease; font-size:11px; line-height:1; }
    .arqp-nav-toggle .chev .arqp-nav-svg { transition: transform .2s ease; }
    .arqp-nav-group.open .arqp-nav-toggle .chev { transform: rotate(90deg); }
    .arqp-nav-submenu {
        display:none;
        margin: 4px 10px 8px 14px;
        padding: 6px 0;
        border-left: 1px dashed rgba(255,255,255,0.08);
    }
    .arqp-nav-group.open .arqp-nav-submenu { display:block; }
    .arqp-nav-sub-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 14px 9px 24px;
        color: rgba(255,255,255,0.55);
        font-size: 12px;
        font-weight: 500;
        cursor: pointer;
        transition: var(--arqp-transition);
        border-left: 3px solid transparent;
        border-radius: 0 10px 10px 0;
        margin: 1px 0;
    }
    .arqp-nav-sub-item:hover {
        background: rgba(255,255,255,0.05);
        color: #fff;
    }
    .arqp-nav-sub-item.active {
        background: rgba(212,175,55,0.08);
        color: var(--arqp-gold);
        border-left-color: var(--arqp-gold);
    }

    /* [V19·NAV-CLEAN] Esconde sub-items e chevron — sidebar fica enxuto, só itens top-level.
       Clicar no item top-level navega pra primeira sub-página automaticamente
       (comportamento existente via arqpNav('group_page') + arqpEnsureNavGroupOpen). */
    .arqp-nav-submenu { display:none !important; }
    .arqp-nav-group.open .arqp-nav-submenu { display:none !important; }
    .arqp-nav-toggle { display:none !important; }

    .arqp-mobile-header {
        display: none;
        position: sticky;
        top: 0;
        z-index: 9997;
        padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 14px;
        background:
            linear-gradient(135deg, rgba(27,42,74,0.98) 0%, rgba(44,62,107,0.96) 100%);
        color: #fff;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        box-shadow: 0 10px 30px rgba(27,42,74,0.18);
        backdrop-filter: blur(12px);
    }
    .arqp-mobile-header-top {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .arqp-mobile-header-brand {
        flex: 1;
        min-width: 0;
    }
    .arqp-mobile-header-kicker {
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: rgba(255,255,255,0.55);
        margin-bottom: 4px;
    }
    .arqp-mobile-header-title {
        font-family: var(--arqp-font-display);
        font-size: 19px;
        line-height: 1.15;
        color: #fff;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .arqp-mobile-header-subtitle {
        font-size: 11px;
        color: rgba(255,255,255,0.64);
        margin-top: 3px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .arqp-mobile-header-btn {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.07);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 18px;
        position: relative;
        flex-shrink: 0;
        backdrop-filter: blur(8px);
    }
    .arqp-mobile-header-btn:active {
        transform: scale(0.97);
    }
    .arqp-mobile-badge {
        position: absolute;
        top: -4px;
        right: -2px;
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        border-radius: 999px;
        background: var(--arqp-gold);
        color: var(--arqp-navy);
        font-size: 11px;
        font-weight: 800;
        display: none;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 16px rgba(212,175,55,0.24);
    }

    /* ── Main Content ── */
    .arqp-main {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    padding: 28px;
    margin: 0 auto;
    box-sizing: border-box;
}

    .arqp-page-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
        flex-wrap: wrap;
        gap: 12px;
    }
    .arqp-page-title {
        font-family: var(--arqp-font-display);
        font-size: 24px;
        font-weight: 700;
        color: var(--arqp-navy);
    }
    .arqp-page-subtitle {
        font-size: 13px;
        color: var(--arqp-text-muted);
        margin-top: 4px;
    }

    /* ── Cards ── */
    .arqp-card {
        background: var(--arqp-card);
        border-radius: var(--arqp-radius);
        box-shadow: var(--arqp-shadow);
        border: 1px solid var(--arqp-border);
        overflow: hidden;
        transition: var(--arqp-transition);
    }
    .arqp-card:hover { box-shadow: var(--arqp-shadow-lg); }
    .arqp-card-header {
        padding: 16px 20px;
        border-bottom: 1px solid var(--arqp-border);
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .arqp-card-header h3 {
        font-family: var(--arqp-font-display);
        font-size: 16px;
        font-weight: 600;
        color: var(--arqp-navy);
    }
    .arqp-card-body { padding: 20px; }

    /* ── KPI Cards ── */
    .arqp-kpi-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 16px;
        margin-bottom: 24px;
    }
    .arqp-kpi {
        background: var(--arqp-card);
        border-radius: var(--arqp-radius);
        padding: 20px;
        box-shadow: var(--arqp-shadow);
        border: 1px solid var(--arqp-border);
        transition: var(--arqp-transition);
    }
    .arqp-kpi:hover { transform: translateY(-2px); box-shadow: var(--arqp-shadow-lg); }
    .arqp-kpi-icon { font-size: 28px; margin-bottom: 8px; }
    .arqp-kpi-value {
        font-family: var(--arqp-font-display);
        font-size: 28px;
        font-weight: 700;
        color: var(--arqp-navy);
        line-height: 1;
    }
    .arqp-kpi-label {
        font-size: 12px;
        color: var(--arqp-text-muted);
        text-transform: uppercase;
        letter-spacing: 0.8px;
        margin-top: 4px;
    }

    /* ── Tabela ── */
    .arqp-table-wrap { overflow-x: auto; }
    .arqp-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
    }
    .arqp-table th {
        padding: 12px 16px;
        text-align: left;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        color: var(--arqp-text-muted);
        background: #FAFAF8;
        border-bottom: 2px solid var(--arqp-border);
        font-weight: 600;
        white-space: nowrap;
    }
    .arqp-table td {
        padding: 14px 16px;
        border-bottom: 1px solid var(--arqp-border);
        vertical-align: middle;
    }
    .arqp-table tr:hover td { background: #FAFAF8; }
    .arqp-table tr:last-child td { border-bottom: none; }

    /* [V14·FAKE-ROW] Fake row estilo Excel/Notion — sugestão visual de "+ Adicionar linha"
       que abre modal ao clicar. Cobre tanto <tr> (table) quanto <div> (containers flex). */
    .arqp-fake-row,
    .arqp-fake-row-tr {
        cursor: pointer;
        transition: all 0.18s ease;
    }
    .arqp-fake-row {
        display: flex; align-items: center; justify-content: center; gap: 6px;
        padding: 11px 14px;
        border: 1.5px dashed #E5E7EB;
        border-radius: 8px;
        background: #FAFAFA;
        font-size: 12.5px; font-weight: 600;
        color: #6B7280;
        margin: 6px 0;
        user-select: none;
    }
    .arqp-fake-row::before { content: "+"; font-size: 16px; font-weight: 800; }
    .arqp-fake-row-tr td {
        padding: 10px 14px !important;
        border-top: 1.5px dashed #E5E7EB !important;
        border-bottom: 1.5px dashed #E5E7EB !important;
        background: #FAFAFA !important;
        text-align: center !important;
        font-size: 12.5px; font-weight: 600;
        color: #6B7280;
        cursor: pointer;
        user-select: none;
    }
    .arqp-fake-row-tr td::before { content: "+ "; font-weight: 800; }
    .arqp-fake-row:hover {
        background: #FFFBEB;
        border-color: #FCD34D;
        color: #92400E;
    }
    .arqp-fake-row-tr:hover td {
        background: #FFFBEB !important;
        border-color: #FCD34D !important;
        color: #92400E;
    }

    /* ── Botões ── */
    .arqp-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 10px 20px;
        border-radius: 8px;
        font-family: var(--arqp-font-body);
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        border: none;
        transition: var(--arqp-transition);
        text-decoration: none;
        letter-spacing: 0.3px;
        line-height: 1.4;
    }
    .arqp-btn-primary {
        background: var(--arqp-navy);
        color: #fff;
    }
    .arqp-btn-primary:hover { background: var(--arqp-navy-light); }
    .arqp-btn-gold {
        background: var(--arqp-gold);
        color: var(--arqp-navy);
    }
    .arqp-btn-gold:hover { background: var(--arqp-gold-light); }
    .arqp-btn-danger {
        background: var(--arqp-danger);
        color: #fff;
    }
    .arqp-btn-outline {
        background: transparent;
        border: 1.5px solid var(--arqp-border);
        color: var(--arqp-text);
    }
    .arqp-btn-outline:hover { border-color: var(--arqp-navy); color: var(--arqp-navy); }
    .arqp-btn-sm { padding: 6px 14px; font-size: 12px; }
    .arqp-btn-xs { padding: 4px 10px; font-size: 11px; border-radius: 6px; }

    /* ── Inputs ── */
    .arqp-input, .arqp-select, .arqp-textarea {
        width: 100%;
        padding: 10px 14px;
        border: 1.5px solid var(--arqp-border);
        border-radius: 8px;
        font-family: var(--arqp-font-body);
        font-size: 14px;
        color: var(--arqp-text);
        background: #fff;
        transition: var(--arqp-transition);
        outline: none;
    }

    @media (max-width: 768px) {
    /* [ID-111C] Anti-zoom iOS: font-size mínimo de 16px em campos editáveis.
       O iOS Safari faz zoom forçado em qualquer input/select/textarea com fonte
       menor que 16px ao receber foco. Para manter a aparência compacta original,
       compensamos com padding/letter-spacing menor — fica visualmente próximo
       ao 11px anterior, mas SEM acionar o zoom. */
    .arqp-input,
    .arqp-select,
    .arqp-textarea,
    input[type="text"],
    input[type="email"],
    input[type="number"],
    input[type="tel"],
    input[type="password"],
    input[type="date"],
    input[type="time"],
    input[type="search"],
    input[type="url"],
    input[type="datetime-local"],
    input[type="month"],
    input[type="week"],
    textarea,
    select {
        font-size: 16px !important;
        padding: 8px 12px;
    }
    /* Botões podem manter o tamanho compacto — não disparam zoom. */
    button {
        font-size: 11px !important;
    }
}
    .arqp-input:focus, .arqp-select:focus, .arqp-textarea:focus {
        border-color: var(--arqp-gold);
        box-shadow: 0 0 0 3px rgba(212,175,55,0.12);
    }
    .arqp-textarea { resize: vertical; min-height: 80px; }
    .arqp-label {
        display: block;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        color: var(--arqp-text-muted);
        margin-bottom: 6px;
    }
    .arqp-form-group { margin-bottom: 16px; }
    .arqp-form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    /* ── Progress Bar ── */
    .arqp-progress {
        width: 100%;
        height: 8px;
        background: #E5E7EB;
        border-radius: 4px;
        overflow: hidden;
    }
    .arqp-progress-bar {
        height: 100%;
        border-radius: 4px;
        background: linear-gradient(90deg, var(--arqp-gold), var(--arqp-gold-light));
        transition: width 0.8s ease;
    }

    /* ── Timeline ── */
    .arqp-timeline { position: relative; padding-left: 32px; }
    .arqp-timeline::before {
        content: '';
        position: absolute;
        left: 14px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--arqp-border);
    }
    .arqp-timeline-item {
        position: relative;
        padding: 16px 20px;
        margin-bottom: 12px;
        background: var(--arqp-card);
        border-radius: var(--arqp-radius);
        border: 1px solid var(--arqp-border);
        transition: var(--arqp-transition);
    }
    .arqp-timeline-item:hover { box-shadow: var(--arqp-shadow); }
    /* [STATUS-HASHURA] Etapas pausadas (em_revisao) ganham hashura amarela diagonal */
    .arqp-timeline-item.is-paused {
        background-color: #FFFBEB;
        background-image: repeating-linear-gradient(135deg, transparent 0, transparent 10px, rgba(251,191,36,0.10) 10px, rgba(251,191,36,0.10) 20px);
        border-left: 4px solid #F59E0B;
    }
    .arqp-timeline-item.is-done {
        background: linear-gradient(180deg,#F0FDF4 0%,#FFF 100%);
        border-left: 4px solid #10B981;
    }
    .arqp-timeline-item.is-active {
        border-left: 4px solid #3B82F6;
    }
    .arqp-timeline-item.is-cancelado {
        background: linear-gradient(180deg,#FFF5F5 0%,#FFF 100%);
        border-left: 4px solid #F87171;
    }
    .arqp-timeline-dot {
        position: absolute;
        left: -26px;
        top: 20px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 0 0 2px var(--arqp-border);
    }
    .arqp-timeline-title {
        font-weight: 600;
        font-size: 14px;
        color: var(--arqp-navy);
        margin-bottom: 4px;
    }
    .arqp-timeline-meta {
        font-size: 12px;
        color: var(--arqp-text-muted);
    }

    /* ── Modal ── */
    .arqp-modal-overlay {
        position: fixed;
        inset: 0;
        background: rgba(27,42,74,0.5);
        backdrop-filter: blur(4px);
        z-index: 99999;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }
    .arqp-modal-overlay.show { display: flex; }
    .arqp-modal {
        background: var(--arqp-card);
        border-radius: 16px;
        width: 100%;
        max-width: 600px;
        max-height: 90vh;
        overflow-y: auto;
        box-shadow: var(--arqp-shadow-lg);
        animation: arqpSlideUp 0.3s ease;
    }
    .arqp-modal-header {
        padding: 20px 24px;
        border-bottom: 1px solid var(--arqp-border);
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .arqp-modal-header h3 {
        font-family: var(--arqp-font-display);
        font-size: 18px;
        color: var(--arqp-navy);
    }
    .arqp-modal-close {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: none;
        background: #F3F4F6;
        cursor: pointer;
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: var(--arqp-transition);
    }
    .arqp-modal-close:hover { background: #E5E7EB; }
    .arqp-modal-body { padding: 24px; }
    .arqp-modal-footer {
        padding: 16px 24px;
        border-top: 1px solid var(--arqp-border);
        display: flex;
        justify-content: flex-end;
        gap: 10px;
    }

    /* ── Login ── */
    .arqp-login-wrap {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px;
        background: linear-gradient(135deg, var(--arqp-navy) 0%, #0D1B2A 100%);
    }
    .arqp-login-card {
        background: var(--arqp-card);
        border-radius: 20px;
        width: 100%;
        max-width: 420px;
        padding: 40px 36px;
        box-shadow: 0 20px 60px rgba(0,0,0,0.3);
        text-align: center;
    }
    .arqp-login-logo {
        font-family: var(--arqp-font-display);
        font-size: 24px;
        font-weight: 700;
        color: var(--arqp-navy);
        margin-bottom: 4px;
    }
    .arqp-login-sub {
        font-size: 13px;
        color: var(--arqp-text-muted);
        margin-bottom: 32px;
    }
    .arqp-pin-inputs {
        display: flex;
        justify-content: center;
        gap: 12px;
        margin: 24px 0;
    }
    .arqp-pin-digit {
        width: 56px;
        height: 64px;
        text-align: center;
        font-size: 28px;
        font-weight: 700;
        font-family: var(--arqp-font-display);
        color: var(--arqp-navy);
        border: 2px solid var(--arqp-border);
        border-radius: 12px;
        outline: none;
        transition: var(--arqp-transition);
    }
    .arqp-pin-digit:focus {
        border-color: var(--arqp-gold);
        box-shadow: 0 0 0 3px rgba(212,175,55,0.15);
    }

    /* ── Tabs ── */
    .arqp-tabs {
        display: flex;
        gap: 4px;
        border-bottom: 2px solid var(--arqp-border);
        margin-bottom: 20px;
        overflow-x: auto;
        padding-bottom: 0;
    }
    .arqp-tab {
        padding: 10px 18px;
        font-size: 13px;
        font-weight: 500;
        color: var(--arqp-text-muted);
        cursor: pointer;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        white-space: nowrap;
        transition: var(--arqp-transition);
    }
    .arqp-tab:hover { color: var(--arqp-navy); }
    .arqp-tab.active {
        color: var(--arqp-navy);
        border-bottom-color: var(--arqp-gold);
        font-weight: 600;
    }
    .arqp-tab-content { display: none; }
    .arqp-tab-content.active { display: block; }

    /* [FICHA-INNER-DIVIDER] Polish pra os títulos de bloco interno dentro de cada tab (Parcelas / Custos / Etapas / etc) */
    .arqp-slide-panel .arqp-tab-content > div[style*="border-bottom:2px solid"]:not(.arqp-ficha-sec-header){padding-top:6px;}
    /* Spacing entre seções internas */
    .arqp-slide-panel .arqp-tab-content > div[style*="margin-bottom:20px"] + div[style*="margin-bottom:20px"]{margin-top:0;}

    /* Empty state dentro de subtab — mais leve no mobile */
    @media (max-width:760px){
        .arqp-slide-panel .arqp-empty{padding:24px 16px;}
        .arqp-slide-panel .arqp-empty-icon{font-size:38px;}
        .arqp-slide-panel .arqp-empty-text{font-size:13px;}
    }

    /* [FIN-ACTIONBAR] Barra de ações superior do Financeiro — reorganizada e mobile-friendly */
    .arqp-fin-actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:11px 14px;background:linear-gradient(135deg,#FCFAF6 0%,#F8F4EA 100%);border:1px solid #E8E1D5;border-radius:12px;}
    .arqp-fin-actionbar-summary{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#475569;flex-wrap:wrap;}
    .arqp-fin-summary-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#94A3B8;font-weight:700;}
    .arqp-fin-summary-val{font-weight:700;color:var(--arqp-navy);}
    .arqp-fin-summary-val--green{color:#059669;}
    .arqp-fin-summary-sep{color:#CBD5E1;}
    .arqp-fin-actionbar-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
    @media (max-width:760px){
        .arqp-fin-actionbar{padding:10px 12px;border-radius:10px;flex-direction:column;align-items:stretch;}
        .arqp-fin-actionbar-summary{justify-content:center;padding-bottom:6px;border-bottom:1px dashed #DDD2BE;}
        .arqp-fin-actionbar-actions{justify-content:flex-start;}
        .arqp-fin-actionbar-actions .arqp-btn{font-size:11px;padding:6px 10px;}
    }

    /* [APROV-MODAL] Modal redesenhado de Solicitar aprovação — drag&drop visual + lista de arquivos */
    .arqp-aprov-drop{border:2px dashed #C4B5FD;border-radius:12px;padding:22px 16px;text-align:center;background:#FAFAFE;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease;}
    .arqp-aprov-drop:hover{border-color:#7C3AED;background:#F5F3FF;}
    .arqp-aprov-drop.is-over{border-color:#7C3AED;background:#EDE9FE;transform:scale(1.005);box-shadow:0 0 0 3px rgba(124,58,237,.15);}
    .arqp-aprov-drop-ico{font-size:32px;margin-bottom:6px;line-height:1;}
    .arqp-aprov-drop-main{font-size:13.5px;font-weight:800;color:#5B21B6;margin-bottom:2px;}
    .arqp-aprov-drop-sub{font-size:11.5px;color:#94A3B8;}
    .arqp-aprov-files{display:flex;flex-direction:column;gap:6px;}
    .arqp-aprov-file{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E5E7EB;border-radius:9px;padding:8px 10px;}
    .arqp-aprov-file-ico{font-size:20px;line-height:1;flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#F8FAFC;border-radius:7px;}
    .arqp-aprov-file-info{flex:1;min-width:0;}
    .arqp-aprov-file-name{font-size:12.5px;font-weight:700;color:#0F172A;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .arqp-aprov-file-size{font-size:10.5px;color:#94A3B8;line-height:1.3;margin-top:1px;}
    .arqp-aprov-file-rm{flex-shrink:0;width:28px;height:28px;border:none;background:#FEF2F2;color:#B91C1C;border-radius:6px;font-size:16px;font-weight:800;cursor:pointer;line-height:1;transition:background .14s ease;}
    .arqp-aprov-file-rm:hover{background:#FECACA;}
    @media (max-width:600px){
        .arqp-aprov-drop{padding:18px 12px;}
        .arqp-aprov-drop-ico{font-size:28px;}
        .arqp-aprov-drop-main{font-size:12.5px;}
        .arqp-aprov-drop-sub{font-size:11px;}
    }

    /* [FICHA-MOBILE-FIX] Tabelas das sub-abas: garante scroll horizontal no celular pra evitar quebra de células */
    .arqp-slide-panel .arqp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
    .arqp-slide-panel .arqp-table-wrap::-webkit-scrollbar{height:6px;}
    .arqp-slide-panel .arqp-table-wrap::-webkit-scrollbar-thumb{background:rgba(212,175,55,0.35);border-radius:3px;}
    @media (max-width:760px){
        .arqp-slide-panel .arqp-table-wrap{margin:0 -4px;border-radius:10px;}
        .arqp-slide-panel .arqp-table-wrap table{min-width:560px;}
        .arqp-slide-panel .arqp-table-wrap td,
        .arqp-slide-panel .arqp-table-wrap th{font-size:11.5px;padding:8px 10px;}
        /* Indicador visual sutil de "tem mais conteúdo" */
        .arqp-slide-panel .arqp-table-wrap{position:relative;}
        .arqp-slide-panel .arqp-table-wrap::after{content:"";position:sticky;right:0;top:0;width:18px;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.85));pointer-events:none;display:block;}
    }

    /* [FICHA-SEC-HEADER] Cabeçalho elegante de cada sub-área (Pipeline, Etapas, Financeiro, etc.) */
    .arqp-ficha-sec-header{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#FCFAF6 0%,#F8F4EA 100%);border:1px solid #E8E1D5;border-radius:14px;padding:14px 18px;margin-bottom:18px;}
    .arqp-ficha-sec-icon{font-size:30px;line-height:1;flex-shrink:0;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E8E1D5;border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.05);}
    .arqp-ficha-sec-title-wrap{flex:1;min-width:0;}
    .arqp-ficha-sec-title{font-family:Playfair Display,Fraunces,Georgia,serif;font-size:18px;font-weight:600;color:var(--arqp-navy);line-height:1.25;margin-bottom:3px;}
    .arqp-ficha-sec-sub{font-size:12.5px;color:#64748B;line-height:1.5;}
    .arqp-ficha-sec-help{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#fff;border:1.5px solid var(--arqp-navy);color:var(--arqp-navy);font-size:15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease,background .14s ease,color .14s ease;}
    .arqp-ficha-sec-help:hover{background:var(--arqp-navy);color:var(--arqp-gold);transform:scale(1.08);}
    @media (max-width:760px){
        .arqp-ficha-sec-header{padding:11px 13px;gap:11px;border-radius:12px;margin-bottom:14px;}
        .arqp-ficha-sec-icon{width:40px;height:40px;font-size:24px;border-radius:10px;}
        .arqp-ficha-sec-title{font-size:15.5px;}
        .arqp-ficha-sec-sub{font-size:11.5px;line-height:1.4;}
        .arqp-ficha-sec-help{width:30px;height:30px;font-size:14px;}
    }

    /* Modal de ajuda contextual da seção — abre ao clicar no "?" */
    .arqp-ficha-help-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);z-index:99995;display:flex;align-items:center;justify-content:center;padding:20px;animation:arqpFichaHelpIn .18s ease;}
    .arqp-ficha-help-modal-card{background:#fff;border-radius:18px;max-width:520px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px rgba(15,23,42,.30);}
    .arqp-ficha-help-modal-head{background:linear-gradient(135deg,#0F172A,#1E293B);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
    .arqp-ficha-help-modal-head-title{font-family:Playfair Display,Fraunces,serif;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;}
    .arqp-ficha-help-modal-head-title::before{content:"💡";font-size:18px;}
    .arqp-ficha-help-modal-close{background:rgba(255,255,255,.18);border:none;color:#fff;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:17px;font-weight:800;}
    .arqp-ficha-help-modal-body{padding:18px 22px;overflow-y:auto;font-size:13.5px;color:#334155;line-height:1.65;}
    .arqp-ficha-help-modal-body ul{list-style:none;padding:0;margin:0;}
    .arqp-ficha-help-modal-body li{padding:9px 12px 9px 36px;background:#F8FAFC;border-radius:10px;margin-bottom:7px;position:relative;border:1px solid #E2E8F0;}
    .arqp-ficha-help-modal-body li::before{content:"›";position:absolute;left:14px;top:9px;color:var(--arqp-gold);font-weight:800;font-size:18px;line-height:1;}
    .arqp-ficha-help-modal-foot{padding:12px 22px;border-top:1px solid #E5E7EB;font-size:11.5px;color:#94A3B8;text-align:center;}
    @keyframes arqpFichaHelpIn{from{opacity:0}to{opacity:1}}

    /* [FICHA-TABS-V2] Pills da ficha do projeto — estilo igual aos quicklinks do Dashboard, com badges + agrupamento */
    .arqp-ficha-tabs-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;margin:8px 0 22px;padding-bottom:10px;border-bottom:1px solid var(--arqp-border);overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .arqp-ficha-tabs-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;flex-shrink:0;position:relative;}
    .arqp-ficha-tabs-group + .arqp-ficha-tabs-group::before{content:"";display:inline-block;width:1px;height:22px;background:#E2D9C4;margin:0 4px;align-self:center;}
    .arqp-ficha-tabs-group--money{background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);border:1px solid #FCD34D;border-radius:999px;padding:4px 8px 4px 12px;}
    .arqp-ficha-tabs-group-title{font-size:10px;font-weight:800;color:#78350F;letter-spacing:.08em;text-transform:uppercase;padding-right:4px;border-right:1px solid #FCD34D;margin-right:4px;}
    .arqp-ficha-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:1px solid #E8E1D5;border-radius:999px;background:#FCFAF6;color:var(--arqp-navy);font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;user-select:none;transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;position:relative;}
    .arqp-ficha-tab:hover{background:#F6F1E8;border-color:#DDD2BE;transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.06);}
    .arqp-ficha-tab.active{background:var(--arqp-navy);color:#fff;border-color:var(--arqp-navy);box-shadow:0 4px 12px rgba(27,42,74,.18);}
    .arqp-ficha-tab.active .arqp-ficha-tab-badge{background:var(--arqp-gold);color:var(--arqp-navy);}
    .arqp-ficha-tab-ico{font-size:14px;line-height:1;}
    .arqp-ficha-tab-lbl{line-height:1;}
    .arqp-ficha-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#DC2626;color:#fff;font-size:10.5px;font-weight:800;line-height:1;letter-spacing:.02em;margin-left:2px;}
    /* Variantes do badge */
    .arqp-ficha-tab-badge--pend{background:#DC2626;}
    .arqp-ficha-tab-badge--ok{background:#10B981;}
    /* Mais de um badge no mesmo chip — separação suave */
    .arqp-ficha-tab-badge + .arqp-ficha-tab-badge{margin-left:3px;}
    /* Money group: badges pendentes em tom dourado quando não-ativo */
    .arqp-ficha-tabs-group--money .arqp-ficha-tab:not(.active) .arqp-ficha-tab-badge--pend{background:#7C2D12;}
    /* Chip ativo: ambos os badges adotam o gold sobre navy */
    .arqp-ficha-tab.active .arqp-ficha-tab-badge--pend,
    .arqp-ficha-tab.active .arqp-ficha-tab-badge--ok{background:var(--arqp-gold);color:var(--arqp-navy);}
    @media (max-width:760px){
        .arqp-ficha-tabs-wrap{flex-wrap:nowrap;gap:8px;padding-bottom:8px;margin-bottom:14px;}
        .arqp-ficha-tabs-group + .arqp-ficha-tabs-group::before{display:none;}
        .arqp-ficha-tab{height:30px;padding:0 11px;font-size:11.5px;}
        .arqp-ficha-tab-ico{font-size:13px;}
        .arqp-ficha-tabs-group-title{display:none;}
        .arqp-ficha-tabs-group--money{padding:3px 6px 3px 8px;}
    }

    /* ── [DETAIL-MAIS] Subdivisões do "Ver mais" no detalhe do projeto ── */
    .arqp-det-sub{font:800 10.5px var(--arqp-font-body, sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#5B21B6;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px dashed #C4B5FD;}
    .arqp-det-mais{margin-top:8px;}
    .arqp-det-bloco{margin-top:10px;}
    .arqp-det-bloco-lab{display:block;font:700 10px var(--arqp-font-body, sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#94A3B8;margin-bottom:5px;}
    .arqp-det-bloco-val{font:400 13.5px/1.55 var(--arqp-font-body, sans-serif);color:#334155;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:8px;padding:10px 12px;white-space:pre-wrap;}

    /* ── [PIPELINE] Visão Gantt mensal das etapas dentro do projeto ── */
    .aq-pipe-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:12px 14px;background:linear-gradient(135deg,#F8FAFC,#F1F5F9);border:1px solid #E2E8F0;border-radius:12px;}
    .aq-pipe-head-eye{font:800 10.5px var(--arqp-font-body, sans-serif);letter-spacing:.18em;text-transform:uppercase;color:#5B21B6;margin-bottom:4px;}
    .aq-pipe-head-tit{font:700 16px var(--arqp-font-body, sans-serif);color:#0F172A;letter-spacing:.01em;}
    .aq-pipe-head-win{font:600 11px var(--arqp-font-body, sans-serif);color:#94A3B8;text-transform:uppercase;letter-spacing:.1em;}
    .aq-pipe-nav{display:flex;gap:6px;}
    .aq-pipe-nav button{width:38px;height:38px;border-radius:10px;border:1px solid #CBD5E1;background:#fff;color:#475569;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;}
    .aq-pipe-nav button:hover{border-color:#7C3AED;color:#5B21B6;background:#F5F3FF;}
    .aq-pipe-nav .aq-pipe-nav-today{width:auto;padding:0 14px;font-size:12px;letter-spacing:.04em;}
    /* Tabela / Gantt desktop */
    .aq-pipe-tbl-wrap{overflow-x:auto;border:1px solid #E2E8F0;border-radius:12px;background:#fff;}
    .aq-pipe-tbl{min-width:680px;}
    .aq-pipe-tbl-head{display:flex;border-bottom:2px solid #E2E8F0;background:#F8FAFC;position:sticky;top:0;z-index:2;}
    .aq-pipe-tbl-cell-name{flex:0 0 200px;padding:11px 14px;font:800 10.5px var(--arqp-font-body, sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#475569;border-right:1px solid #E2E8F0;display:flex;flex-direction:column;justify-content:center;gap:5px;}
    .aq-pipe-tbl-months{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;}
    .aq-pipe-tbl-month{padding:11px 8px;font:700 11px var(--arqp-font-body, sans-serif);text-align:center;color:#64748B;letter-spacing:.06em;border-right:1px solid #F1F5F9;}
    .aq-pipe-tbl-month:last-child{border-right:none;}
    .aq-pipe-tbl-row{display:flex;border-bottom:1px solid #F1F5F9;cursor:pointer;transition:background .12s;min-height:62px;}
    .aq-pipe-tbl-row:hover{background:#FAF5FF;}
    .aq-pipe-tbl-row .aq-pipe-tbl-cell-name{font:600 13px var(--arqp-font-body, sans-serif);color:#0F172A;text-transform:none;letter-spacing:0;}
    .aq-pipe-row-tit{line-height:1.35;}
    .aq-pipe-tbl-bars{position:relative;flex:1;min-height:62px;background:linear-gradient(90deg,transparent 0,transparent 100%);}
    .aq-pipe-tbl-grid{position:absolute;top:0;bottom:0;width:1px;background:#F1F5F9;}
    .aq-pipe-tbl-today{position:absolute;top:0;bottom:0;width:2px;background:#DC2626;z-index:1;box-shadow:0 0 4px rgba(220,38,38,.4);}
    .aq-pipe-tbl-today::before{content:'';position:absolute;top:-3px;left:-4px;width:10px;height:6px;background:#DC2626;border-radius:2px;}
    .aq-pipe-bar{position:absolute;top:50%;transform:translateY(-50%);height:26px;border-radius:6px;display:flex;align-items:center;padding:0 10px;color:#fff;font:700 11px var(--arqp-font-body, sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 6px rgba(15,23,42,.12);transition:transform .15s, box-shadow .15s;}
    .aq-pipe-bar:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 4px 14px rgba(15,23,42,.22);}
    .aq-pipe-bar-tstart{border-top-left-radius:0;border-bottom-left-radius:0;}
    .aq-pipe-bar-tstart::before{content:'‹';position:absolute;left:2px;top:50%;transform:translateY(-50%);font-weight:900;}
    .aq-pipe-bar-tend{border-top-right-radius:0;border-bottom-right-radius:0;}
    .aq-pipe-bar-tend::after{content:'›';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-weight:900;}
    .aq-pipe-bar-lab{overflow:hidden;text-overflow:ellipsis;}
    .aq-pipe-bar-nodate{position:absolute;top:50%;left:14px;transform:translateY(-50%);font:600 11px var(--arqp-font-body, sans-serif);color:#94A3B8;font-style:italic;}
    .aq-pipe-bar-flag{position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:14px;line-height:1;filter:drop-shadow(0 1px 2px rgba(15,23,42,.22));pointer-events:auto;cursor:help;background:transparent;}
    .aq-pipe-bar-flag-late{animation:aq-pipe-flag-shake 1.4s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(220,38,38,.55));}
    .aq-pipe-bar-flag-done{filter:drop-shadow(0 0 3px rgba(16,185,129,.55));}
    .aq-pipe-mob-bar-flag{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:13px;line-height:1;filter:drop-shadow(0 1px 2px rgba(15,23,42,.22));pointer-events:auto;}
    .aq-pipe-mob-bar-flag.aq-pipe-bar-flag-late{animation:aq-pipe-mob-flag-shake 1.4s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(220,38,38,.55));}
    @keyframes aq-pipe-flag-shake{0%,100%{transform:translateY(-50%) rotate(0);}25%{transform:translateY(-50%) rotate(-10deg);}75%{transform:translateY(-50%) rotate(10deg);}}
    @keyframes aq-pipe-mob-flag-shake{0%,100%{transform:translate(-50%,-50%) rotate(0);}25%{transform:translate(-50%,-50%) rotate(-10deg);}75%{transform:translate(-50%,-50%) rotate(10deg);}}
    /* Status badges (compartilhados desktop e mobile) */
    .aq-pipe-st{display:inline-block;padding:2px 8px;border-radius:99px;font:700 10px var(--arqp-font-body, sans-serif);letter-spacing:.04em;}
    .aq-pipe-st-done{background:#D1FAE5;color:#065F46;}
    .aq-pipe-st-prog{background:#DBEAFE;color:#1E3A8A;}
    .aq-pipe-st-rev{background:#FEF3C7;color:#92400E;}
    .aq-pipe-st-late{background:#FEE2E2;color:#B91C1C;}
    .aq-pipe-st-soon{background:linear-gradient(135deg,#FEF3C7,#FCD34D);color:#92400E;}
    .aq-pipe-st-future{background:#EDE9FE;color:#5B21B6;}
    .aq-pipe-st-none{background:#F1F5F9;color:#64748B;}
    /* Legenda compacta */
    .aq-pipe-legenda{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;padding:10px 14px;background:#F8FAFC;border-radius:8px;font:600 11px var(--arqp-font-body, sans-serif);color:#64748B;}
    .aq-pipe-legenda span{display:inline-flex;align-items:center;gap:5px;}
    .aq-pipe-leg-dot{width:10px;height:10px;border-radius:3px;display:inline-block;}
    .aq-pipe-leg-today{width:10px;height:10px;border-radius:3px;background:#DC2626;display:inline-block;position:relative;}
    .aq-pipe-leg-today::before{content:'';position:absolute;top:-2px;left:0;width:10px;height:2px;background:#DC2626;border-radius:1px;}
    /* Mobile — vira lista de cards */
    .aq-pipe-mob{display:flex;flex-direction:column;gap:10px;}
    .aq-pipe-mob-card{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:14px;cursor:pointer;transition:all .15s;}
    .aq-pipe-mob-card:hover{border-color:#7C3AED;box-shadow:0 6px 18px rgba(124,58,237,.12);}
    .aq-pipe-mob-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;}
    .aq-pipe-mob-tit{font:700 14px var(--arqp-font-body, sans-serif);color:#0F172A;line-height:1.35;flex:1;min-width:0;}
    .aq-pipe-mob-date{font:600 11.5px var(--arqp-font-body, sans-serif);color:#64748B;letter-spacing:.02em;margin-bottom:8px;}
    .aq-pipe-mob-bar{position:relative;height:14px;border-radius:7px;background:#F1F5F9;overflow:visible;}
    .aq-pipe-mob-bar-track{position:absolute;inset:0;border-radius:7px;background:#F1F5F9;}
    .aq-pipe-mob-bar-fill{position:absolute;top:0;bottom:0;border-radius:7px;}
    .aq-pipe-mob-bar-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:#DC2626;border-radius:1px;}
    @media(max-width:720px){
        .aq-pipe-head{padding:10px 12px;}
        .aq-pipe-head-tit{font-size:14px;}
    }

    /* ── Empty State ── */
    .arqp-empty {
        text-align: center;
        padding: 48px 20px;
        color: var(--arqp-text-muted);
    }
    .arqp-empty-icon { font-size: 48px; margin-bottom: 12px; opacity: 0.5; }
    .arqp-empty-text { font-size: 14px; }

    /* ── Projeto Card (lista) ── */
    .arqp-projeto-card {
        display: flex;
        gap: 16px;
        padding: 16px 20px;
        border-bottom: 1px solid var(--arqp-border);
        cursor: pointer;
        transition: var(--arqp-transition);
        align-items: center;
    }
    .arqp-projeto-card:hover { background: #FAFAF8; }
    .arqp-projeto-card:last-child { border-bottom: none; }
    /* [PROJ-CHEVRON] Recolher/expandir card: compacto mostra só o header (nome+status+valor+meta). Estado salvo por usuário. */
    .arqp-proj-chevron { flex-shrink:0; width:26px; height:26px; border-radius:7px; border:1px solid #E2E8F0; background:#fff; color:#94A3B8; cursor:pointer; font-size:13px; line-height:1; display:inline-flex; align-items:center; justify-content:center; transition:all .15s; }
    .arqp-proj-chevron:hover { border-color:#1B2A4A; color:#1B2A4A; }
    .arqp-projeto-card.is-compact .arqp-projeto-info > :not(.arqp-card-sec-header) { display:none; }
    .arqp-projeto-avatar {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), var(--arqp-navy-light));
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--arqp-gold);
        font-family: var(--arqp-font-display);
        font-weight: 700;
        font-size: 18px;
        flex-shrink: 0;
    }
    /* [V20·DIARIO+] Wrapper do avatar do card — segura foto da obra + badge da foto do cliente */
    .arqp-card-avatar-wrap {
        position: relative;
        flex-shrink: 0;
        display: inline-block;
    }
    .arqp-card-avatar-empty {
        position: relative;
        cursor: pointer;
        transition: all .18s;
    }
    .arqp-card-avatar-empty:hover { transform: scale(1.05); box-shadow: 0 4px 10px rgba(15,23,42,.18); }
    .arqp-card-add-foto {
        position: absolute;
        bottom: -3px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 9px;
        font-weight: 800;
        background: var(--arqp-gold);
        color: var(--arqp-navy);
        padding: 1px 6px;
        border-radius: 6px;
        white-space: nowrap;
        box-shadow: 0 2px 6px rgba(0,0,0,.18);
        opacity: 0;
        transition: opacity .18s;
        pointer-events: none;
    }
    .arqp-card-avatar-empty:hover .arqp-card-add-foto { opacity: 1; }
    .arqp-card-foto-edit {
        position: absolute;
        top: -4px;
        right: -4px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: rgba(255,255,255,.95);
        border: 1.5px solid #fff;
        color: #0F172A;
        font-size: 11px;
        cursor: pointer;
        opacity: 0;
        transition: all .18s;
        box-shadow: 0 2px 8px rgba(0,0,0,.25);
        display: flex; align-items: center; justify-content: center;
        padding: 0;
        z-index: 2;
    }
    .arqp-card-avatar-wrap:hover .arqp-card-foto-edit { opacity: 1; }
    .arqp-card-foto-edit:hover { background: #fff; transform: scale(1.1); }
    /* Badge da foto do cliente — sempre visível no canto inferior-direito do avatar */
    .arqp-card-cli-badge {
        position: absolute;
        bottom: -6px;
        right: -6px;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background-size: cover;
        background-position: center;
        background-color: #F1F5F9;
        border: 2.5px solid #fff;
        cursor: pointer;
        font-size: 16px;
        color: #475569;
        display: flex; align-items: center; justify-content: center;
        box-shadow: 0 3px 8px rgba(15,23,42,.25);
        transition: all .18s;
        padding: 0;
        z-index: 2;
    }
    .arqp-card-cli-badge:hover { transform: scale(1.12); border-color: var(--arqp-gold); }
    .arqp-card-cli-badge-empty {
        background: linear-gradient(135deg, #E2E8F0, #CBD5E1);
        font-size: 14px;
        opacity: .7;
    }
    .arqp-card-avatar-wrap:hover .arqp-card-cli-badge-empty { opacity: 1; }
    /* [V20·DIARIO+] Foto de capa do projeto — quadrada GRANDE, ocupa área esquerda do card.
       background-cover, leve overlay no hover pra feedback visual. */
    .arqp-projeto-cover {
        width: 110px !important;
        height: 110px !important;
        border-radius: 12px !important;
        background-size: cover !important;
        background-position: center !important;
        background-color: #F1F5F9 !important;
        background-image: var(--cover-img);
        color: transparent !important;
        box-shadow: 0 2px 6px rgba(15,23,42,.12), inset 0 0 0 1px rgba(15,23,42,.06);
        transition: transform .2s ease, box-shadow .2s ease;
        cursor: pointer;
    }
    .arqp-projeto-card:hover .arqp-projeto-cover {
        box-shadow: 0 6px 16px rgba(15,23,42,.20);
    }
    @media (min-width: 769px) {
        .arqp-projeto-cover { width: 150px !important; height: 150px !important; border-radius: 14px !important; }
        .arqp-card-cli-badge { width: 42px !important; height: 42px !important; font-size: 19px !important; border-width: 3px !important; }
    }
    /* [V20·DIARIO+] Mobile: foto vira HEADER full-width acima das infos — visual "chique" estilo Airbnb */
    @media (max-width: 760px) {
        .arqp-projeto-card:has(.arqp-projeto-cover) {
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 0 !important;
            padding: 0 !important;
            overflow: hidden;
        }
        .arqp-projeto-card:has(.arqp-projeto-cover) .arqp-card-avatar-wrap {
            width: 100% !important;
            margin: 0 !important;
        }
        .arqp-projeto-card:has(.arqp-projeto-cover) .arqp-projeto-cover {
            width: 100% !important;
            height: 200px !important;
            border-radius: 0 !important;
            box-shadow: none;
        }
        .arqp-projeto-card:has(.arqp-projeto-cover) .arqp-card-cli-badge {
            width: 72px !important;
            height: 72px !important;
            bottom: 14px !important;
            right: 16px !important;
            border-width: 3.5px !important;
            font-size: 26px !important;
            box-shadow: 0 6px 18px rgba(0,0,0,.40);
            z-index: 3;
        }
        .arqp-projeto-card:has(.arqp-projeto-cover) .arqp-card-foto-edit {
            top: 12px !important;
            right: 14px !important;
            width: 34px !important;
            height: 34px !important;
            font-size: 15px !important;
            opacity: 1 !important;
            background: rgba(255,255,255,.92);
        }
        .arqp-projeto-card:has(.arqp-projeto-cover) .arqp-projeto-info {
            width: 100% !important;
            padding: 14px 16px 16px !important;
        }
    }
    .arqp-projeto-info { flex: 1; min-width: 0; }
    .arqp-projeto-nome {
        font-weight: 600;
        font-size: 14px;
        color: var(--arqp-navy);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .arqp-projeto-tipo {
        font-size: 12px;
        color: var(--arqp-text-muted);
        margin-top: 2px;
    }
    .arqp-projeto-meta {
        display: flex;
        gap: 16px;
        align-items: center;
        flex-shrink: 0;
    }
    .arqp-projeto-progress-mini {
        width: 80px;
        height: 6px;
        background: #E5E7EB;
        border-radius: 3px;
        overflow: hidden;
    }
    .arqp-projeto-progress-mini-bar {
        height: 100%;
        background: var(--arqp-gold);
        border-radius: 3px;
    }

    /* ── Card V2: layout horizontal full-width (avatar + info), header com nome | valor | status ── */
    .arqp-projeto-card.arqp-card-v2 {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 16px 20px;
        margin-bottom: 10px;
        border-radius: 14px;
        box-shadow: 0 1px 0 rgba(15,23,42,.04);
        overflow: visible; /* tooltips precisam escapar do card */
        position: relative;
    }
    .arqp-projeto-card.arqp-card-v2:last-child { margin-bottom: 0; }
    /* [STATUS-INLINE] Status badge agora aparece junto do nome com escala menor */
    .arqp-card-status-inline {
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
    }
    /* [CARD-TEMPO-INLINE] Mini-chips ⏱/📦 ao lado do status no header do card */
    .arqp-card-tempo-mini{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:#475569;background:#FCFAF6;border:1px solid #EEE7DA;padding:2px 8px;border-radius:999px;line-height:1.4;letter-spacing:.01em;cursor:help;white-space:nowrap;flex-shrink:0;max-width:100%;}
    .arqp-card-tempo-mini + .arqp-card-tempo-mini{margin-left:0;}
    @media (max-width:760px){
        .arqp-card-tempo-mini{font-size:10px;padding:2px 7px;}
    }
    /* [TABLET-FIX] Em larguras médias (sidebar visível + viewport apertado), as pílulas
       de tempo + status do header são as que mais comprimem. Garante que cada uma fique
       em uma linha só de texto e que o conjunto possa quebrar como um bloco. */
    @media (min-width:641px) and (max-width:1024px){
        .arqp-card-tempo-mini{font-size:10.5px;padding:2px 7px;}
        .arqp-card-status-inline > *{font-size:10px !important;padding:2px 6px !important;}
    }
    .arqp-card-status-inline > * {
        font-size: 10.5px !important;
        padding: 2px 8px !important;
        font-weight: 700 !important;
    }
    .arqp-card-header-name .arqp-projeto-nome {
        white-space: normal;
    }
    .arqp-projeto-card.arqp-card-v2 .arqp-projeto-avatar { margin-top: 2px; }
    /* [MOBILE-CLEAN] Esconde info detalhada de tempo no celular pra card ficar mais limpo */
    @media (max-width: 640px) {
        .arqp-card-meta-detalhe,
        .arqp-card-tempo-row {
            display: none !important;
        }
        /* Cluster de Render+Criar e Docs ficam mais compactos */
        .arqp-card-cluster button {
            padding: 5px 9px !important;
            font-size: 10.5px !important;
        }
        /* Badges de orçamento + tarefas + atribuir sócio em modo compacto */
        .arqp-card-meta-row span,
        .arqp-card-meta-row > span {
            font-size: 10.5px !important;
            padding: 3px 7px !important;
        }
    }
    /* [TOOLTIP-V2] Tooltip estilo "balão" — aparece ABAIXO por padrão pra não ser cortado pelo
       header dos cards. Usa position:absolute mas com z-index alto e hovers garantem visibilidade. */
    .arqp-tt {
        position: relative;
    }
    .arqp-tt::after {
        content: attr(data-tt);
        position: absolute;
        top: calc(100% + 6px);
        left: 50%;
        transform: translateX(-50%) translateY(-4px);
        background: linear-gradient(135deg, #0F172A 0%, #1E3A5F 100%);
        color: #fff;
        font-size: 11px;
        line-height: 1.5;
        padding: 8px 12px;
        border-radius: 10px;
        max-width: 280px;
        width: max-content;
        text-align: left;
        opacity: 0;
        pointer-events: none;
        box-shadow: 0 12px 32px rgba(15,23,42,0.30), 0 0 0 1px rgba(255,255,255,0.07);
        transition: opacity .18s ease, transform .18s ease;
        z-index: 1000;
        /* [V24·CONTRATO-TIPO·FIX] pre-line preserva quebras de linha (\n) literal no data-tt,
           pra tooltips multilinhas (ex: explicações longas de tipo de contrato). */
        white-space: pre-line;
        font-weight: 500;
    }
    .arqp-tt:hover::after,
    .arqp-tt:focus-visible::after {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    /* Variante: tooltip ACIMA (caso queira posicionar manualmente) */
    .arqp-tt-up::after {
        top: auto;
        bottom: calc(100% + 6px);
        transform: translateX(-50%) translateY(4px);
    }
    .arqp-tt-up:hover::after { transform: translateX(-50%) translateY(0); }
    /* Em mobile o tooltip fica desativado pra não atrapalhar o tap */
    @media (hover: none), (max-width: 640px) {
        .arqp-tt::after { display: none !important; }
    }
    .arqp-projeto-card.arqp-card-v2 .arqp-projeto-info {
        flex: 1;
        min-width: 0;
        width: 100%;
    }
    .arqp-card-header-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: nowrap;
    }
    .arqp-card-header-name {
        flex: 1 1 auto;
        min-width: 0;
    }
    .arqp-card-header-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .arqp-card-valor {
        font-weight: 700;
        font-size: 14px;
        color: var(--arqp-navy);
        white-space: nowrap;
        background: #F8FAFC;
        border: 1px solid var(--arqp-border);
        padding: 3px 10px;
        border-radius: 999px;
        letter-spacing: .01em;
    }
    .arqp-projeto-card.arqp-card-v2 .arqp-projeto-progress-mini {
        width: 100% !important;
    }
    @media (max-width: 640px) {
        .arqp-projeto-card.arqp-card-v2 {
            padding: 14px 14px;
            gap: 10px;
        }
        .arqp-card-header-row {
            flex-direction: column;
            gap: 6px;
        }
        .arqp-card-header-meta {
            justify-content: flex-start;
            width: 100%;
        }
        .arqp-projeto-card.arqp-card-v2 .arqp-projeto-nome {
            white-space: normal;
            line-height: 1.25;
        }
    }
    /* ═══════════════════════════════════════════════════════════════════════
       [CARD-V3] Layout em seções compactas e responsivas.
       - Mobile (<640px): seções empilham verticalmente, gap menor
       - Tablet/Desktop (≥640px): files+team na mesma linha, ações inline
       - Wide (≥1024px): tudo respira mais, sem perder densidade
       ═══════════════════════════════════════════════════════════════════════ */
    .arqp-projeto-card.arqp-card-v3 .arqp-projeto-info{
        display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;
    }
    .arqp-card-sec{
        display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;
    }
    /* Header: nome+status à esquerda, valor à direita */
    .arqp-card-sec-header{flex-direction:column;align-items:stretch;gap:3px;}
    .arqp-card-title-row{
        display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%;
    }
    .arqp-card-title-left{flex:1 1 auto;min-width:0;display:flex;align-items:center;}
    .arqp-projeto-card.arqp-card-v3 .arqp-projeto-nome{
        display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;
        font-size:15px;font-weight:700;color:var(--arqp-navy);line-height:1.3;
    }
    .arqp-projeto-nome-text{
        min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
    }
    .arqp-projeto-card.arqp-card-v3 .arqp-projeto-tipo{
        display:flex;align-items:center;gap:6px;flex-wrap:wrap;
        font-size:12px;color:#64748B;line-height:1.4;
    }
    .arqp-projeto-tipo-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
    /* [TIPO-DESTAQUE] Tipo do projeto em destaque — pílula sólida com cor da marca,
       deixa claro qual obra/projeto sem competir com o nome do cliente. */
    .arqp-tipo-pill{
        display:inline-flex;align-items:center;gap:4px;
        font-size:11px;font-weight:700;color:var(--arqp-navy);
        background:#FEF6E0;border:1px solid #E8C84A;
        padding:3px 9px;border-radius:6px;letter-spacing:.01em;
        line-height:1.3;flex-shrink:0;max-width:100%;
        overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .arqp-tipo-pill .arqp-tipo-pill-ic{font-size:11px;line-height:1;}

    /* [VALOR-TT] Tooltip rico que aparece ao passar mouse no R$ valor do contrato.
       Padrão estrutural igual ao .arqp-tt-tip da timeline mark — popover absoluto
       com gradiente escuro, rows hierárquicas e fade-in suave. */
    .arqp-valor-wrap{position:relative;cursor:help;}
    .arqp-valor-tip{
        position:absolute;top:calc(100% + 10px);right:0;left:auto;
        transform:translateY(4px);
        background:linear-gradient(135deg,#0F172A 0%,#1E3A5F 100%);
        color:#fff;border-radius:12px;
        min-width:240px;max-width:320px;
        opacity:0;pointer-events:none;
        box-shadow:0 12px 32px rgba(15,23,42,0.30),0 0 0 1px rgba(255,255,255,0.07);
        transition:opacity .18s ease,transform .18s ease;
        z-index:100;overflow:hidden;
        display:flex;flex-direction:column;
        font-weight:500;letter-spacing:.01em;
    }
    .arqp-valor-wrap:hover .arqp-valor-tip,
    .arqp-valor-wrap:focus-visible .arqp-valor-tip{
        opacity:1;transform:translateY(0);
    }
    .arqp-valor-tip-row{
        display:flex;align-items:center;justify-content:space-between;gap:8px;
        font-size:12px;line-height:1.4;padding:9px 13px;
        border-bottom:1px solid rgba(255,255,255,0.08);
    }
    .arqp-valor-tip-row:last-child{border-bottom:none;}
    .arqp-valor-tip-row small{
        font-size:10.5px;opacity:.6;font-weight:400;letter-spacing:.04em;text-transform:uppercase;
    }
    .arqp-valor-tip-total{
        background:rgba(255,255,255,0.04);font-weight:700;font-size:13px;
    }
    .arqp-valor-tip-pago{color:#86EFAC;}
    .arqp-valor-tip-pct{
        background:rgba(134,239,172,.18);color:#86EFAC;
        padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;
    }
    .arqp-valor-tip-falta{color:#FCD34D;}
    .arqp-valor-tip-prox{color:#93C5FD;}
    /* Mobile: tooltip pode estourar viewport — força largura máxima e centra */
    @media (max-width:640px){
        .arqp-valor-tip{min-width:200px;max-width:min(280px, calc(100vw - 40px));font-size:11.5px;}
        .arqp-valor-tip-row{padding:8px 11px;}
    }
    /* Em hover do desktop, tooltips de tap-and-hold também ajudam mobile */
    @media (hover:none){
        .arqp-valor-tip{display:none;}
    }
    /* Pílulas padrão — todas com mesma altura/forma, nunca se deformam */
    .arqp-card-pill{
        display:inline-flex;align-items:center;gap:5px;
        font-size:11px;padding:4px 9px;border-radius:999px;line-height:1.4;
        white-space:nowrap;flex-shrink:0;
    }
    /* Cluster (Novo|Galeria) — mantém os dois botões sempre lado a lado */
    .arqp-card-cluster{
        display:inline-flex;align-items:stretch;border-radius:999px;overflow:hidden;
        border:1.5px solid #C4B5FD;background:#F5F3FF;flex-shrink:0;
    }
    /* Wrapper que agrupa files + team — responsivo: vira flex-row em telas largas */
    .arqp-card-sec-group{
        display:flex;flex-direction:column;gap:6px;
        padding-top:6px;border-top:1px dashed #EEF1F5;min-width:0;
    }
    .arqp-card-sec-group .arqp-card-sec-files,
    .arqp-card-sec-group .arqp-card-sec-team{
        padding-top:0;border-top:none;
    }
    .arqp-card-sec-actions{
        padding-top:6px;border-top:1px dashed #EEF1F5;gap:8px;
    }
    .arqp-card-sec-timeline{padding-top:6px;}

    /* ─── TABLET/DESKTOP (≥720px): files + team na MESMA linha.
       row-reverse coloca TEAM (sócio/orçamento/tarefa) à ESQUERDA
       e FILES (render/docs/contrato) à DIREITA — invertendo a ordem do DOM. */
    @media (min-width: 720px){
        .arqp-card-sec-group{
            flex-direction:row-reverse;flex-wrap:wrap;align-items:center;
            justify-content:space-between;gap:8px 14px;
        }
        .arqp-card-sec-group .arqp-card-sec-files,
        .arqp-card-sec-group .arqp-card-sec-team{
            flex:0 1 auto;
        }
    }
    /* Timeline ocupa 100% do horizonte sempre — independente do conteúdo */
    .arqp-card-sec-timeline{display:block;}
    .arqp-card-sec-timeline .arqp-projeto-timeline-wrap{
        width:100%;box-sizing:border-box;margin-top:0;
    }

    /* ─── MOBILE (<640px): tudo empilhado e mais compacto ─── */
    @media (max-width: 639px){
        .arqp-projeto-card.arqp-card-v3 .arqp-projeto-info{gap:7px;}
        .arqp-card-title-row{flex-wrap:wrap;gap:6px;}
        .arqp-card-valor{align-self:flex-start;}
        .arqp-projeto-card.arqp-card-v3 .arqp-projeto-nome{font-size:14px;}
        .arqp-card-pill{font-size:10.5px;padding:3px 8px;}
        .arqp-card-sec-group,
        .arqp-card-sec-actions{padding-top:5px;}
    }

    /* ── Slide Panel (ficha do projeto) ── */
    .arqp-slide-panel {
        position: fixed;
        right: -100%;
        top: 0;
        width: 85%;
        max-width: 900px;
        height: 100vh;
        background: var(--arqp-bg);
        z-index: 10000;
        box-shadow: -8px 0 40px rgba(27,42,74,0.15);
        transition: right 0.4s cubic-bezier(0.4,0,0.2,1);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
    }
    .arqp-slide-panel.open { right: 0; }
    .arqp-slide-overlay {
        position: fixed;
        inset: 0;
        background: rgba(27,42,74,0.4);
        backdrop-filter: blur(2px);
        z-index: 9999;
        display: none;
    }
    .arqp-slide-overlay.show { display: block; }

    /* [V14·SLIDE-PERF] Otimização completa quando modal de projeto está aberto.
       Objetivo: reduzir CPU/GPU sem mexer em estética/funcionalidade do modal.
       Estratégia em 4 camadas — toggle via body.arqp-slide-open class.

       1. PAUSA ANIMAÇÕES INFINITE NO FUNDO — pulses, sparkles, shines, shakes
          continuam definidas (re-ativam ao fechar) mas não consomem GPU enquanto
          escondidas por trás do overlay. Modal mantém suas próprias animações.

       2. CONTAIN no fundo — diz ao browser que mudanças no #arqpMain não afetam
          layout/paint do resto da página. Reduz custo de re-render quando algo
          muda atrás do overlay (ex: polling do atendimento, render assíncrono).

       3. POINTER-EVENTS NONE no fundo — overlay já intercepta clicks, mas isso
          desliga eventos hover/scroll que disparam repaints desnecessários.

       4. WILL-CHANGE: AUTO no fundo — libera composite layers que estavam em GPU.
    */
    body.arqp-slide-open #arqpMain *,
    body.arqp-slide-open .arqp-shell-side *,
    body.arqp-slide-open .arqp-page-header *,
    body.arqp-slide-open .arqp-fab,
    body.arqp-slide-open .arqp-fab * {
        animation-play-state: paused !important;
    }
    /* Modal + overlay mantêm animações ativas (loaders, transitions, hover effects) */
    body.arqp-slide-open .arqp-slide-panel *,
    body.arqp-slide-open .arqp-slide-overlay * {
        animation-play-state: running !important;
    }
    body.arqp-slide-open #arqpMain {
        contain: layout style paint;
        pointer-events: none;
    }
    /* Re-libera pointer-events em FABs flutuantes que ficam fora do #arqpMain */
    body.arqp-slide-open .arqp-fab,
    body.arqp-slide-open .arqp-slide-panel,
    body.arqp-slide-open .arqp-slide-overlay {
        pointer-events: auto;
    }
    /* will-change: auto descarrega layers GPU que ficaram em promoted state */
    body.arqp-slide-open #arqpMain { will-change: auto; }

    .arqp-slide-header {
        padding: 20px 24px;
        background: var(--arqp-navy);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
    }
    .arqp-slide-header h2 {
        font-family: var(--arqp-font-display);
        font-size: 20px;
        color: var(--arqp-gold);
    }
    .arqp-slide-close {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 1px solid rgba(255,255,255,0.2);
        background: rgba(255,255,255,0.05);
        color: #fff;
        cursor: pointer;
        font-size: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .arqp-slide-body {
        flex: 1;
        padding: 24px;
        overflow-y: auto;
    }

    /* ── Animações ── */
    @keyframes arqpSlideUp {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @keyframes arqpFadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    @keyframes arqpPulse {
        0%, 100% { opacity: 1; }
        50% { opacity: 0.5; }
    }

    /* [CONTRATO-REVISAR] Pulsar sutil pra contratos ainda não revisados.
       Borda âmbar respira de leve até o usuário trocar o arquivo ou marcar
       como revisado. Sem distrair quem está só olhando o resto do card. */
    @keyframes arqpContratoRevPulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.45); }
        50%      { box-shadow: 0 0 0 6px rgba(245, 158, 11, 0); }
    }
    .arqp-contrato-pulse { animation: arqpContratoRevPulse 2.4s ease-in-out infinite; }
    .arqp-contrato-revisar-aviso { animation: arqpContratoRevPulse 2.4s ease-in-out infinite; }

    /* Pill de alerta no topo do card quando o contrato precisa de revisão.
       Discreto mas visível: âmbar com borda + leve pulsar. */
    @keyframes arqpRevisarPillPulse {
        0%, 100% { background:#FEF3C7; border-color:#F59E0B; }
        50%      { background:#FDE68A; border-color:#D97706; }
    }
    .arqp-card-rev-contrato {
        display:inline-flex; align-items:center; gap:6px;
        padding:5px 11px; border-radius:999px;
        background:#FEF3C7; border:1.5px solid #F59E0B;
        color:#78350F; font-size:11px; font-weight:800;
        letter-spacing:.04em; cursor:pointer;
        animation: arqpRevisarPillPulse 2.4s ease-in-out infinite;
    }
    .arqp-card-rev-contrato:hover { background:#FDE68A; }

    /* [FP-ORC-BTN] Botão "Orçamentos" piscante quando há pendentes — chama atenção sem ser intrusivo */
    @keyframes fpOrcBtnPulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.6), 0 1px 2px rgba(0,0,0,.05); transform: scale(1); }
        50%      { box-shadow: 0 0 0 8px rgba(245, 158, 11, 0), 0 1px 2px rgba(0,0,0,.05); transform: scale(1.03); }
    }
    .fp-orc-btn-active {
        animation: fpOrcBtnPulse 1.6s ease-in-out infinite;
        cursor: pointer;
    }
    .fp-orc-btn-active:hover {
        animation-play-state: paused;
        filter: brightness(1.06);
    }

    /* ── Toast / Notificação ── */
    .arqp-toast {
        position: fixed;
        top: 20px;
        right: 20px;
        padding: 14px 20px;
        border-radius: 10px;
        font-size: 13px;
        font-weight: 500;
        color: #fff;
        z-index: 99999;
        animation: arqpSlideUp 0.3s ease;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        max-width: 400px;
    }
    .arqp-toast-success { background: var(--arqp-success); }
    .arqp-toast-error { background: var(--arqp-danger); }
    .arqp-toast-warning { background: var(--arqp-warning); }
    /* [FIX-A] CSS faltando — sem isso, arqpToast(_, 'info') ficava invisível (background transparente).
       Causava bug "botão Salvar não dá feedback" — toast "Salvando…" sumia. */
    .arqp-toast-info { background: var(--arqp-info, #2563EB); }

    .arqp-notif-list {
        display: grid;
        gap: 12px;
    }
    .arqp-notif-card {
        background: #fff;
        border: 1px solid var(--arqp-border);
        border-radius: 16px;
        box-shadow: var(--arqp-shadow);
        overflow: hidden;
        transition: var(--arqp-transition);
    }
    .arqp-notif-card.is-unread {
        border-color: rgba(212,175,55,0.75);
        box-shadow: 0 10px 28px rgba(212,175,55,0.12);
    }
    .arqp-notif-card:hover {
        box-shadow: var(--arqp-shadow-lg);
    }
    .arqp-notif-card-body {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        padding: 16px 18px;
    }
    .arqp-notif-icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        flex-shrink: 0;
    }
    .arqp-notif-icon.orcamento {
        background: rgba(59,130,246,0.12);
        color: #1D4ED8;
    }
    .arqp-notif-icon.sync {
        background: rgba(16,185,129,0.12);
        color: #047857;
    }
    .arqp-notif-content {
        flex: 1;
        min-width: 0;
    }
    .arqp-notif-title {
        font-size: 14px;
        font-weight: 700;
        color: var(--arqp-navy);
        line-height: 1.35;
        margin-bottom: 4px;
    }
    .arqp-notif-desc {
        font-size: 13px;
        color: #4B5563;
        line-height: 1.55;
    }
    .arqp-notif-meta {
        display: flex;
        gap: 10px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 8px;
        font-size: 11px;
        color: #8B95A7;
    }
    .arqp-notif-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 10px;
        border-radius: 999px;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background: #F3F4F6;
        color: #374151;
    }
    .arqp-notif-actions {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        padding: 0 18px 18px 76px;
    }
    .arqp-notif-highlight {
        margin-bottom: 18px;
        background: linear-gradient(135deg, rgba(27,42,74,0.98) 0%, rgba(44,62,107,0.96) 100%);
        color: #fff;
        border-radius: 18px;
        padding: 18px 20px;
        box-shadow: 0 18px 34px rgba(27,42,74,0.16);
    }
    .arqp-notif-highlight-title {
        font-family: var(--arqp-font-display);
        font-size: 20px;
        margin-bottom: 6px;
        color: #fff;
    }
    .arqp-notif-highlight-sub {
        font-size: 13px;
        line-height: 1.55;
        color: rgba(255,255,255,0.72);
    }
    .arqp-notif-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 16px;
    }
    .arqp-notif-summary-card {
        background: rgba(255,255,255,0.08);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 14px;
        padding: 14px 14px 12px;
    }
    .arqp-notif-summary-value {
        font-family: var(--arqp-font-display);
        font-size: 24px;
        line-height: 1;
        color: var(--arqp-gold);
    }
    .arqp-notif-summary-label {
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.8px;
        color: rgba(255,255,255,0.58);
        margin-top: 6px;
    }

    /* ── Mobile ── */
    @media (max-width: 768px) {
        .arqp-sidebar {
            position: fixed;
            left: -280px;
            width: 260px;
            transition: left 0.3s ease;
            z-index: 10001;
        }
        .arqp-sidebar.open { left: 0; }
        .arqp-admin-layout {
            display: block;
        }
        .arqp-mobile-header {
            display: block;
            z-index: 1;
        }
        .arqp-main {
            padding: 16px;
            padding-top: 14px;
        }
        .arqp-page-title { font-size: 20px; }
        .arqp-form-row { grid-template-columns: 1fr; }
        .arqp-kpi-grid { grid-template-columns: repeat(2, 1fr); }
        /* [MOBILE-SAFE-AREA] Empurra o painel da ficha do projeto pra baixo da status bar do celular */
        .arqp-slide-panel { width: 100%; max-width: 100%; padding-top: max(env(safe-area-inset-top), 14px); padding-top: max(constant(safe-area-inset-top), 14px); }
        .arqp-slide-panel .arqp-slide-header { padding-top: 14px; padding-bottom: 14px; }
        .arqp-login-card { padding: 28px 24px; }
        .arqp-pin-digit { width: 48px; height: 56px; font-size: 24px; }
        .arqp-projeto-meta { display: none; }
        .arqp-notif-actions {
            padding: 0 16px 16px 16px;
        }
        .arqp-notif-summary {
            grid-template-columns: 1fr;
        }
        .arqp-mobile-toggle {
            display: none !important;
        }
    }

    .arqp-mobile-toggle {
        display: none;
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--arqp-navy);
        color: var(--arqp-gold);
        font-size: 22px;
        border: none;
        cursor: pointer;
        z-index: 10000;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 16px rgba(27,42,74,0.3);
        transition: background .2s;
    }

    /* ── Scroll fino ── */
    .arqp-sidebar::-webkit-scrollbar,
    .arqp-slide-panel::-webkit-scrollbar { width: 4px; }
    .arqp-sidebar::-webkit-scrollbar-thumb,
    .arqp-slide-panel::-webkit-scrollbar-thumb {
        background: rgba(212,175,55,0.3);
        border-radius: 2px;
    }

    /* ── Loader ── */
    .arqp-loader {
        display: inline-block;
        width: 20px;
        height: 20px;
        border: 2px solid rgba(27,42,74,0.1);
        border-left-color: var(--arqp-gold);
        border-radius: 50%;
        animation: arqpSpin 0.6s linear infinite;
    }
    @keyframes arqpSpin { to { transform: rotate(360deg); } }

    /* ── [PERF-200] Skeleton loading (placeholders enquanto carrega) ── */
    .arqp-skel {
        background: linear-gradient(90deg, #EEF2F7 0%, #F6F8FB 50%, #EEF2F7 100%);
        background-size: 200% 100%;
        animation: arqpSkel 1.1s ease-in-out infinite;
        border-radius: 8px;
        display: block;
    }
    .arqp-skel-line { height: 12px; margin-bottom: 8px; }
    .arqp-skel-title { height: 22px; width: 60%; margin-bottom: 14px; }
    .arqp-skel-chip { height: 22px; width: 110px; border-radius: 999px; display:inline-block; margin-right: 6px; }
    .arqp-skel-avatar { width: 56px; height: 56px; border-radius: 50%; }
    .arqp-skel-card {
        background: #fff;
        border: 1px solid #EEF1F4;
        border-radius: 14px;
        padding: 18px;
        margin-bottom: 12px;
        box-shadow: 0 1px 2px rgba(15,23,42,.03);
    }
    .arqp-skel-kpi {
        background: #fff;
        border: 1px solid #EEF1F4;
        border-radius: 14px;
        padding: 18px;
    }
    .arqp-skel-grid { display: grid; gap: 14px; }
    .arqp-skel-grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .arqp-skel-grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .arqp-skel-grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    @media (max-width: 980px) {
        .arqp-skel-grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
        .arqp-skel-grid.cols-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
    @media (max-width: 640px) {
        .arqp-skel-grid.cols-4, .arqp-skel-grid.cols-3, .arqp-skel-grid.cols-2 { grid-template-columns: 1fr; }
    }
    @keyframes arqpSkel {
        0%   { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    @media (prefers-reduced-motion: reduce) {
        .arqp-skel, .arqp-loader { animation: none !important; }
    }

    /* ── Ficha — Grid de detalhes ── */
    .arqp-detail-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    .arqp-detail-item {}
    .arqp-detail-label {
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        color: var(--arqp-text-muted);
        margin-bottom: 2px;
    }
    .arqp-detail-value {
        font-size: 14px;
        font-weight: 500;
        color: var(--arqp-text);
    }

    @media (max-width: 768px) {
        .arqp-detail-grid { grid-template-columns: 1fr; }
    }
    /* ═══════════════════════════════════════════════════════ */
    /* [ID-115] PORTAL MOBILE — App Cliente                   */
    /* ═══════════════════════════════════════════════════════ */
    .arqp-app {
    font-family: var(--arqp-font-body);
    background: #F8F7F4;
    min-height: 100vh;
    max-width: 100vw;
    overflow-x: hidden;
    padding-bottom: 80px;
    color: var(--arqp-text);
    touch-action: manipulation;
    overscroll-behavior-x: none;
    -webkit-text-size-adjust: 100%;
}

.arqp-app,
.arqp-app * {
    -webkit-tap-highlight-color: transparent;
}

.orc-htab,.proj-htab,.fin-htab,.ss-htab,.tk-htab,.diario-htab,.rel-htab,.mn-htab,.aia-htab,.cfg-help-tab {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
}

.arqp-app input,
.arqp-app textarea,
.arqp-app select,
.arqp-app button {
    font-size: 16px;
}
    .arqp-app-header {
        background: linear-gradient(135deg, var(--arqp-navy) 0%, #0D1B2A 100%);
        padding: 20px 20px 24px;
        position: relative;
        overflow: hidden;
    }
    .arqp-app-header::after {
        content: '';
        position: absolute;
        bottom: -20px;
        left: 0;
        right: 0;
        height: 40px;
        background: #F8F7F4;
        border-radius: 20px 20px 0 0;
    }
    .arqp-app-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}

.arqp-app-logo-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
}

.arqp-app-logo-img {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
}

.arqp-app-logo-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(212,175,55,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex: 0 0 auto;
}

.arqp-app-empresa {
    font-family: var(--arqp-font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--arqp-gold);
    letter-spacing: 0.8px;
    min-width: 0;
    flex: 1 1 auto;
}

.arqp-app-header-action {
    margin-left: auto;
    flex: 0 0 auto;
    align-self: center;
    background: none;
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.6);
    font-size: 11px;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--arqp-font-body);
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
}
    .arqp-app-logo-placeholder {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        background: rgba(212,175,55,0.15);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
    }
    
    .arqp-app-greeting {
        display: flex;
        align-items: center;
        gap: 14px;
    }
    .arqp-app-avatar {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-gold), #B8941F);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--arqp-font-display);
        font-size: 22px;
        font-weight: 700;
        color: var(--arqp-navy);
        flex-shrink: 0;
        border: 3px solid rgba(255,255,255,0.15);
    }
    .arqp-app-avatar img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
    }
    .arqp-app-hello {
        font-size: 13px;
        color: rgba(255,255,255,0.5);
    }
    .arqp-app-name {
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        line-height: 1.2;
    }

    /* ── Menu rápido (ícones) ── */
    .arqp-app-menu {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        padding: 0 20px;
        margin-top: -4px;
        position: relative;
        z-index: 2;
    }
    .arqp-app-menu-item {
        background: #fff;
        border-radius: 16px;
        padding: 16px 8px;
        text-align: center;
        box-shadow: 0 2px 12px rgba(27,42,74,0.06);
        border: 1px solid var(--arqp-border);
        cursor: pointer;
        transition: all 0.25s ease;
        text-decoration: none;
        color: var(--arqp-text);
    }
    .arqp-app-menu-item:active {
        transform: scale(0.95);
        box-shadow: 0 1px 4px rgba(27,42,74,0.1);
    }
    .arqp-app-menu-icon {
        font-size: 28px;
        margin-bottom: 6px;
        display: block;
    }
    .arqp-app-menu-label {
        font-size: 11px;
        font-weight: 600;
        color: var(--arqp-navy);
        letter-spacing: 0.2px;
        line-height: 1.3;
    }

    /* ── Conteúdo / Seções ── */
    .arqp-app-content {
        padding: 20px;
    }
    .arqp-app-section-title {
        font-family: var(--arqp-font-display);
        font-size: 16px;
        font-weight: 600;
        color: var(--arqp-navy);
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    /* ── Card Progresso ── */
    .arqp-app-progress-card {
        background: #fff;
        border-radius: 16px;
        padding: 20px;
        box-shadow: 0 2px 12px rgba(27,42,74,0.06);
        border: 1px solid var(--arqp-border);
        margin-bottom: 16px;
    }
    .arqp-app-progress-ring {
        width: 80px;
        height: 80px;
        position: relative;
        flex-shrink: 0;
    }
    .arqp-app-progress-ring svg {
        transform: rotate(-90deg);
    }
    .arqp-app-progress-ring-text {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--arqp-font-display);
        font-size: 20px;
        font-weight: 700;
        color: var(--arqp-navy);
    }

    /* ── Mini KPIs App ── */
    .arqp-app-kpis {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-bottom: 16px;
    }
    .arqp-app-kpi-item {
        background: #fff;
        border-radius: 12px;
        padding: 14px;
        border: 1px solid var(--arqp-border);
        box-shadow: 0 1px 6px rgba(27,42,74,0.04);
    }
    .arqp-app-kpi-val {
        font-family: var(--arqp-font-display);
        font-size: 18px;
        font-weight: 700;
        color: var(--arqp-navy);
    }
    .arqp-app-kpi-lbl {
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--arqp-text-muted);
        margin-top: 2px;
    }

    /* ── Timeline App ── */
    .arqp-app-etapa {
        background: #fff;
        border-radius: 12px;
        padding: 14px 16px;
        margin-bottom: 10px;
        border: 1px solid var(--arqp-border);
        display: flex;
        align-items: center;
        gap: 12px;
        box-shadow: 0 1px 6px rgba(27,42,74,0.04);
    }
    .arqp-app-etapa-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
    }
    .arqp-app-etapa-info { flex: 1; min-width: 0; }
    .arqp-app-etapa-title {
        font-size: 14px;
        font-weight: 600;
        color: var(--arqp-navy);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .arqp-app-etapa-meta {
        font-size: 11px;
        color: var(--arqp-text-muted);
    }

    /* ── Tab Bar (bottom nav) ── */
    .arqp-app-tabbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid var(--arqp-border);
    display: flex;
    justify-content: flex-start;
    gap: 4px;
    padding: 6px 8px env(safe-area-inset-bottom, 8px);
    z-index: 9000;
    box-shadow: 0 -2px 16px rgba(27,42,74,0.06);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

.arqp-app-tabbar::-webkit-scrollbar {
    display: none;
}

.arqp-app-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 6px 10px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    border-radius: 8px;
    min-width: 68px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.arqp-app-tab-icon {
    font-size: 22px;
    line-height: 1;
    opacity: 0.5;
    transition: all 0.2s;
}

.arqp-app-tab-label {
    font-size: 10px;
    font-weight: 600;
    color: var(--arqp-text-muted);
    transition: all 0.2s;
    white-space: nowrap;
}

.arqp-app-tab.active .arqp-app-tab-icon { opacity: 1; }
.arqp-app-tab.active .arqp-app-tab-label { color: var(--arqp-navy); font-weight: 700; }
.arqp-app-tab.active {
    background: rgba(212,175,55,0.08);
}
.arqp-app-tab:active { transform: scale(0.92); }

    /* ── Parcela Card App ── */
    .arqp-app-parcela {
        background: #fff;
        border-radius: 12px;
        padding: 14px 16px;
        margin-bottom: 8px;
        border: 1px solid var(--arqp-border);
        display: flex;
        align-items: center;
        justify-content: space-between;
        box-shadow: 0 1px 6px rgba(27,42,74,0.04);
    }

    /* ── Page views ── */
    .arqp-app-page { display: none; }
    .arqp-app-page.active { display: block; }

    /* ═══════════════════════════════════════════════════════ */
    /* [V21·HIER] Hierarquia da Empresa — árvore + cards + modal */
    /* ═══════════════════════════════════════════════════════ */
    .hier-toolbar {
        display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
        padding: 10px 14px; background: #FAFBFC; border: 1px dashed #CBD5E1;
        border-radius: 12px; margin-bottom: 16px;
    }
    .hier-shell { display: flex; flex-direction: column; gap: 12px; }
    .hier-node {
        background: #fff; border: 1px solid #E5E7EB; border-radius: 14px;
        overflow: hidden; box-shadow: 0 1px 2px rgba(15,23,42,.04);
    }
    .hier-node-summary {
        padding: 14px 18px; display: flex; align-items: center; gap: 12px;
        cursor: pointer; user-select: none; list-style: none;
        font-family: var(--arqp-font-display); font-weight: 700; font-size: 15px;
        color: var(--arqp-navy); transition: background .15s;
    }
    .hier-node-summary::-webkit-details-marker { display: none; }
    .hier-node-summary::marker { content: ''; }
    .hier-node-summary::before {
        content: '▶'; font-size: 10px; color: #94A3B8; transition: transform .2s; flex-shrink: 0; width: 12px;
    }
    .hier-node[open] > .hier-node-summary::before { transform: rotate(90deg); }
    .hier-node-summary:hover { background: #FAFBFC; }
    .hier-node-ico { font-size: 22px; line-height: 1; }
    .hier-node-title { flex: 1; }
    .hier-node-count {
        font-size: 11px; font-weight: 800; padding: 3px 10px;
        background: #F1F5F9; color: #475569; border-radius: 99px;
    }
    .hier-node-root .hier-node-count { background: linear-gradient(135deg,#FEF3C7,#FCD34D); color: #78350F; }
    .hier-node-body {
        padding: 4px 18px 18px; border-top: 1px solid #F1F5F9;
    }
    .hier-add-inline {
        background: var(--arqp-gold); color: var(--arqp-navy); border: none;
        width: 26px; height: 26px; border-radius: 50%; cursor: pointer;
        font-weight: 800; font-size: 16px; line-height: 1;
        display: inline-flex; align-items: center; justify-content: center;
        box-shadow: 0 2px 6px rgba(0,0,0,.15); transition: transform .15s;
    }
    .hier-add-inline:hover { transform: scale(1.12); }
    .hier-empty {
        padding: 16px; text-align: center; font-size: 12.5px;
        color: #94A3B8; font-style: italic;
    }
    .hier-empty a { color: var(--arqp-navy); text-decoration: underline; }
    .hier-nivel-group { margin-top: 14px; }
    .hier-nivel-label {
        font-size: 10.5px; font-weight: 800; color: #475569;
        text-transform: uppercase; letter-spacing: .8px;
        padding: 6px 0 8px; border-bottom: 1.5px solid #F1F5F9; margin-bottom: 10px;
    }
    .hier-nivel-label small { font-weight: 600; opacity: .7; }
    .hier-person-grid {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 10px;
    }
    .hier-person-card {
        background: #fff; border: 1px solid #E5E7EB; border-radius: 12px;
        padding: 12px 14px; display: flex; gap: 12px; align-items: flex-start;
        transition: all .15s; position: relative;
    }
    .hier-person-card:hover {
        border-color: #CBD5E1; box-shadow: 0 4px 10px rgba(15,23,42,.08);
        transform: translateY(-1px);
    }
    .hier-person-card.is-inativo { opacity: .55; background: #F8FAFC; }
    .hier-card-externo { background: linear-gradient(180deg,#FFFFFF,#FAFBFC); border-style: dashed; }
    .hier-avatar {
        width: 42px; height: 42px; border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        color: var(--arqp-gold); display: flex; align-items: center; justify-content: center;
        font-family: var(--arqp-font-display); font-weight: 700; font-size: 15px;
        flex-shrink: 0; box-shadow: 0 2px 6px rgba(15,23,42,.10);
    }
    .hier-avatar-ext { background: linear-gradient(135deg, #475569, #64748B); }
    .hier-person-body { flex: 1; min-width: 0; }
    .hier-person-name {
        font-weight: 700; font-size: 13.5px; color: #0F172A;
        display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    }
    .hier-person-cargo { font-size: 11.5px; color: #64748B; margin-top: 2px; }
    .hier-person-meta { font-size: 11px; color: #94A3B8; margin-top: 3px; line-height: 1.4; }
    .hier-owner-pill {
        font-size: 9.5px; font-weight: 800; padding: 2px 7px; border-radius: 99px;
        background: linear-gradient(135deg, #FCD34D, #F59E0B); color: #78350F;
        text-transform: uppercase; letter-spacing: .4px;
    }
    .hier-nivel-pill {
        display: inline-block; font-size: 9.5px; font-weight: 800;
        padding: 2px 9px; border-radius: 99px;
        text-transform: uppercase; letter-spacing: .4px;
    }
    .nivel-socio_associado { background: #EFF6FF; color: #1E40AF; }
    .nivel-gerente { background: #FEF3C7; color: #78350F; }
    .nivel-coordenador { background: #ECFDF5; color: #065F46; }
    .nivel-ajudante { background: #F1F5F9; color: #475569; }
    .nivel-estagiario { background: #F5F3FF; color: #6D28D9; }
    .nivel-externo_contratado { background: #F0FDFA; color: #115E59; }
    /* [V22·OBRA] Pills pra níveis específicos de obra */
    .nivel-responsavel_obra { background: linear-gradient(135deg,#FEE2E2,#FCA5A5); color: #7F1D1D; }
    .nivel-mestre_obra { background: linear-gradient(135deg,#FED7AA,#FDBA74); color: #7C2D12; }
    .hier-actions {
        display: flex; flex-direction: column; gap: 4px; flex-shrink: 0;
        opacity: 0; transition: opacity .15s;
    }
    .hier-person-card:hover .hier-actions { opacity: 1; }
    .hier-action-btn {
        background: #F1F5F9; border: 1px solid #E5E7EB; cursor: pointer;
        width: 28px; height: 28px; border-radius: 7px; font-size: 12px;
        display: inline-flex; align-items: center; justify-content: center;
        padding: 0; transition: all .15s; color: #475569;
    }
    .hier-action-btn:hover { background: #E2E8F0; border-color: #CBD5E1; }
    .hier-danger:hover { background: #FEF2F2; border-color: #FECACA; color: #DC2626; }
    .hier-success:hover { background: #ECFDF5; border-color: #6EE7B7; color: #059669; }
    .hier-action-full:hover { background: #FEF6E4; border-color: #FCD34D; color: #78350F; }
    /* Hint box dentro do modal explicando "edição rápida" vs "completa" */
    .hier-modal-hint {
        background: linear-gradient(135deg, #FEF6E4, #FEF3C7);
        border: 1px solid #FDE68A; border-radius: 10px;
        padding: 10px 12px; margin-bottom: 14px;
        font-size: 12px; color: #78350F; line-height: 1.5;
    }
    .hier-modal-hint em { font-style: normal; font-weight: 700; }
    .hier-hint-link {
        display: inline-flex; align-items: center; gap: 4px;
        background: var(--arqp-navy); color: #fff; border: none;
        padding: 4px 10px; border-radius: 6px; cursor: pointer;
        font-size: 11.5px; font-weight: 700; font-family: inherit;
        margin-left: 4px; transition: all .15s;
    }
    .hier-hint-link:hover { background: #0F172A; transform: translateY(-1px); }

    /* ═══════════════════════════════════════════════════════════════
       [V22·OBRA] Cadastros pendentes + Equipes + Link público + Collapsibles
       ═══════════════════════════════════════════════════════════════ */
    /* Badge "N pendentes" no botão da toolbar */
    .obra-pend-badge {
        display: inline-block;
        background: #DC2626; color: #fff;
        font-size: 10px; font-weight: 800;
        padding: 2px 7px; border-radius: 99px;
        margin-right: 4px;
        animation: obraPendPulse 2s infinite;
    }
    @keyframes obraPendPulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.45); }
        50%      { box-shadow: 0 0 0 6px rgba(220,38,38,0); }
    }

    /* Cards de cadastro pendente */
    .obra-pend-card {
        display: flex; gap: 14px; align-items: flex-start;
        background: #fff; border: 1px solid #E5E7EB; border-radius: 12px;
        padding: 14px 16px; margin-bottom: 10px;
        transition: all .15s;
    }
    .obra-pend-card:hover { border-color: #CBD5E1; box-shadow: 0 4px 12px rgba(15,23,42,.08); }
    .obra-pend-avatar {
        width: 56px; height: 56px; border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        background-size: cover; background-position: center;
        color: var(--arqp-gold); font-weight: 800; font-size: 18px;
        display: flex; align-items: center; justify-content: center; flex-shrink: 0;
        box-shadow: 0 2px 6px rgba(0,0,0,.15);
    }
    .obra-pend-info { flex: 1; min-width: 0; }
    .obra-pend-name {
        font-weight: 800; font-size: 15px; color: #0F172A;
        display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    }
    .obra-pend-funcao { font-size: 12.5px; color: var(--arqp-navy); margin-top: 2px; font-weight: 600; }
    .obra-pend-meta {
        display: flex; flex-wrap: wrap; gap: 12px;
        font-size: 11.5px; color: #64748B; margin-top: 6px;
    }
    .obra-pend-emerg, .obra-pend-pag {
        font-size: 11.5px; color: #475569; margin-top: 6px;
        padding: 6px 10px; background: #FEF6E4; border-radius: 6px;
        border-left: 3px solid #FCD34D;
    }
    .obra-pend-pag { background: #ECFDF5; border-left-color: #6EE7B7; }
    .obra-pend-rejeicao {
        font-size: 11.5px; color: #991B1B; margin-top: 6px;
        padding: 6px 10px; background: #FEF2F2; border-radius: 6px; border-left: 3px solid #FECACA;
    }
    .obra-pend-actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
    .obra-pend-status-pill {
        font-size: 9.5px; font-weight: 800; padding: 2px 9px; border-radius: 99px;
        text-transform: uppercase; letter-spacing: .4px;
    }
    .pill-pend { background: #FEF3C7; color: #78350F; }
    .pill-rej  { background: #FEE2E2; color: #991B1B; }

    /* [V23·INTERNO] Pill de origem do cadastro (no card de pendentes) */
    .obra-pend-origem-pill {
        display: inline-flex; align-items: center; gap: 4px;
        font-size: 9.5px; font-weight: 800; padding: 2px 9px; border-radius: 99px;
        text-transform: uppercase; letter-spacing: .4px;
        margin-left: 6px;
    }
    .pend-origem-obra    { background: #FFEDD5; color: #9A3412; border: 1px solid #FED7AA; } /* laranja — canteiro */
    .pend-origem-interno { background: #DBEAFE; color: #1E40AF; border: 1px solid #BFDBFE; } /* azul — escritório */
    .pend-origem-admin   { background: #F1F5F9; color: #475569; border: 1px solid #E2E8F0; } /* cinza — manual */

    /* [V23·INTERNO] Filtro chips no topo do modal de pendentes */
    .pend-filtro-chip {
        font-size: 11.5px; padding: 4px 10px;
    }
    .pend-filtro-chip.is-on {
        background: #1E40AF; color: #fff; border-color: #1E40AF;
    }

    /* [V23·INTERNO] Feedback de lookup BrasilAPI no form público */
    .cadequipe-lookup-loading {
        font-size: 11px; color: #1E40AF; font-weight: 600;
        background: #EFF6FF; padding: 2px 8px; border-radius: 6px;
        display: inline-flex; align-items: center; gap: 4px;
    }
    .cadequipe-lookup-success {
        font-size: 11px; color: #047857; font-weight: 600;
        background: #ECFDF5; padding: 2px 8px; border-radius: 6px;
        display: inline-flex; align-items: center; gap: 4px;
    }
    .cadequipe-lookup-error {
        font-size: 11px; color: #DC2626; font-weight: 600;
        background: #FEF2F2; padding: 2px 8px; border-radius: 6px;
        display: inline-flex; align-items: center; gap: 4px;
    }

    /* Grid de equipes */
    .obra-equipe-grid {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 12px;
    }
    .obra-equipe-card {
        background: #fff; border: 1px solid #E5E7EB; border-radius: 12px;
        border-left: 4px solid #94A3B8;
        padding: 14px 16px; cursor: pointer;
        transition: all .15s;
    }
    .obra-equipe-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(15,23,42,.10);
    }
    .obra-equipe-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
    .obra-equipe-name { font-weight: 800; font-size: 14.5px; color: #0F172A; }
    .obra-equipe-espec {
        font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
        padding: 2px 8px; border-radius: 99px;
        background: #F1F5F9; color: #475569;
    }
    .obra-equipe-lider { font-size: 11.5px; color: #475569; margin-bottom: 4px; }
    .obra-equipe-stats { font-size: 11.5px; color: #64748B; margin-bottom: 8px; }
    .obra-equipe-members { display: flex; gap: -4px; flex-wrap: wrap; }
    .obra-equipe-avatar {
        width: 30px; height: 30px; border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        background-size: cover; background-position: center;
        color: var(--arqp-gold); font-size: 11px; font-weight: 700;
        display: inline-flex; align-items: center; justify-content: center;
        border: 2px solid #fff; margin-left: -6px;
        box-shadow: 0 1px 4px rgba(0,0,0,.15);
    }
    .obra-equipe-avatar:first-child { margin-left: 0; }
    .obra-equipe-more { background: #94A3B8; color: #fff; }

    /* Grid de cores pra picker */
    .obra-eq-cor-grid { display: flex; gap: 6px; flex-wrap: wrap; }
    .obra-eq-cor-chip {
        width: 28px; height: 28px; border-radius: 50%; cursor: pointer;
        border: 2.5px solid transparent;
        transition: all .15s;
    }
    .obra-eq-cor-chip:hover { transform: scale(1.15); }
    .obra-eq-cor-chip.is-on { border-color: #0F172A; box-shadow: 0 0 0 2px rgba(255,255,255,1); }

    /* Collapsibles dentro do modal V21 */
    .hier-modal-collapse {
        background: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 10px;
        margin-bottom: 12px; overflow: hidden;
    }
    .hier-modal-collapse summary {
        cursor: pointer; padding: 10px 14px;
        font-size: 12.5px; font-weight: 700; color: var(--arqp-navy);
        list-style: none; display: flex; align-items: center; gap: 8px;
        user-select: none;
    }
    .hier-modal-collapse summary::-webkit-details-marker { display: none; }
    .hier-modal-collapse summary::marker { content: ''; }
    .hier-modal-collapse summary::before {
        content: '▶'; font-size: 9px; color: #94A3B8; transition: transform .2s;
    }
    .hier-modal-collapse[open] summary::before { transform: rotate(90deg); }
    .hier-modal-collapse summary:hover { background: #F1F5F9; }
    .hier-modal-collapse-body {
        padding: 14px 16px; background: #fff;
        border-top: 1px solid #E5E7EB;
    }

    /* Equipe chip no modal de edição de pessoa */
    .hier-chip-equipe.is-on {
        background: linear-gradient(135deg, var(--arqp-gold), #E8C84A);
        color: var(--arqp-navy); border-color: var(--arqp-gold);
    }
    /* [V22·OBRA] WhatsApp link e chip mini de equipe no card de pessoa */
    .hier-wa-link {
        display: inline-flex; align-items: center; gap: 2px;
        font-size: 10.5px; font-weight: 700; padding: 1px 7px;
        background: #DCFCE7; color: #166534;
        border: 1px solid #86EFAC; border-radius: 99px;
        text-decoration: none; margin-left: 4px;
        transition: all .12s;
    }
    .hier-wa-link:hover { background: #BBF7D0; transform: translateY(-1px); }
    .hier-person-emerg { color: #B45309; }
    .hier-equipe-chip-mini {
        display: inline-flex; align-items: center;
        font-size: 9.5px; font-weight: 700;
        padding: 2px 8px; border-radius: 99px;
        border: 1.5px solid;
    }
    /* [V22·OBRA] Mini cards de equipe na seção Obras da Hierarquia */
    .hier-equipes-mini-grid {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 8px;
    }
    .hier-equipe-mini-card {
        background: #fff; border: 1px solid #E5E7EB; border-left: 4px solid #94A3B8;
        border-radius: 10px; padding: 10px 12px; cursor: pointer;
        transition: all .15s;
    }
    .hier-equipe-mini-card:hover {
        transform: translateY(-1px); box-shadow: 0 4px 10px rgba(15,23,42,.08);
        border-color: #CBD5E1;
    }
    .hier-equipe-mini-name { font-weight: 700; font-size: 12.5px; color: #0F172A; }
    .hier-equipe-mini-espec {
        font-size: 9.5px; font-weight: 700; color: #64748B;
        text-transform: uppercase; letter-spacing: .4px; margin-top: 2px;
    }
    .hier-equipe-mini-stats { font-size: 11px; color: #64748B; margin-top: 4px; }
    /* [V22·OBRA] Avatar clicável pra upload de foto direto no card */
    .hier-avatar-wrap-click {
        position: relative; cursor: pointer; flex-shrink: 0;
    }
    .hier-avatar-edit-badge {
        position: absolute; bottom: -2px; right: -2px;
        background: var(--arqp-gold); color: var(--arqp-navy);
        width: 18px; height: 18px; border-radius: 50%;
        font-size: 10px; display: flex; align-items: center; justify-content: center;
        border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.20);
        opacity: 0; transition: opacity .15s;
    }
    .hier-avatar-wrap-click:hover .hier-avatar-edit-badge { opacity: 1; }
    .hier-avatar-wrap-click:hover .hier-avatar { transform: scale(1.05); transition: transform .15s; }
    /* Foto row no modal de editar pessoa (V22) */
    .hier-modal-foto-row {
        display: flex; align-items: center; gap: 14px;
        padding: 12px 14px; background: #FAFBFC;
        border: 1px solid #E5E7EB; border-radius: 10px;
        margin-bottom: 14px;
    }
    .hier-modal-foto-prev {
        width: 64px; height: 64px; border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        color: var(--arqp-gold); font-weight: 700; font-size: 18px;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0; background-size: cover; background-position: center;
        box-shadow: 0 2px 6px rgba(0,0,0,.12);
    }
    .hier-modal-foto-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }

    @media (max-width: 760px) {
        .obra-equipe-grid { grid-template-columns: 1fr; }
        .obra-pend-card { flex-direction: column; }
        .obra-pend-actions { flex-direction: row; width: 100%; }
        .obra-pend-actions button { flex: 1; }
    }

    /* Modal de edição */
    .hier-modal-overlay {
        position: fixed; inset: 0; background: rgba(15,23,42,.65);
        z-index: 100000; display: flex; align-items: center; justify-content: center;
        padding: 20px; backdrop-filter: blur(8px);
    }
    .hier-modal {
        background: #fff; border-radius: 18px; max-width: 560px; width: 100%;
        max-height: 92vh; display: flex; flex-direction: column; overflow: hidden;
        box-shadow: 0 30px 80px rgba(0,0,0,.4);
    }
    .hier-modal-head {
        padding: 16px 22px; background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        color: #fff; display: flex; justify-content: space-between; align-items: center;
    }
    .hier-modal-title { font-family: var(--arqp-font-display); font-weight: 800; font-size: 16px; }
    .hier-modal-close {
        background: rgba(255,255,255,.2); border: none; color: #fff;
        width: 30px; height: 30px; border-radius: 8px; cursor: pointer; font-size: 14px;
    }
    .hier-modal-body { padding: 18px 22px; overflow-y: auto; flex: 1; }
    .hier-modal-foot {
        padding: 14px 22px; border-top: 1px solid #E5E7EB; background: #F8FAFC;
        display: flex; justify-content: flex-end; gap: 10px;
    }
    .hier-modal-row { margin-bottom: 14px; }
    .hier-modal-grid2 {
        display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px;
    }
    .hier-modal-label {
        display: block; font-size: 11.5px; font-weight: 700; color: #0F172A;
        margin-bottom: 6px;
    }
    .hier-chip-grid { display: flex; flex-wrap: wrap; gap: 5px; }
    .hier-chip {
        display: inline-flex; align-items: center; gap: 4px;
        padding: 6px 11px; border: 1.5px solid #CBD5E1; background: #fff;
        color: #475569; border-radius: 99px; font-size: 12px; font-weight: 600;
        cursor: pointer; transition: all .15s; font-family: inherit;
    }
    .hier-chip:hover { border-color: #1B2A4A; color: #1B2A4A; }
    .hier-chip.is-on { background: var(--arqp-navy); color: #fff; border-color: var(--arqp-navy); }

    @media (max-width: 760px) {
        .hier-person-grid { grid-template-columns: 1fr; }
        .hier-actions { opacity: 1; flex-direction: row; }
        .hier-modal { max-height: 96vh; border-radius: 14px; }
        .hier-modal-grid2 { grid-template-columns: 1fr; }
        .hier-toolbar #hierBusca { width: 100%; margin-left: 0; max-width: none; }
    }

    /* ═══════════════════════════════════════════════════════ */
    /* [V20·DIARIO] HUB DE PROJETOS — Grid de cards profissional */
    /* ═══════════════════════════════════════════════════════ */
    .diario-hub-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 16px;
        margin-top: 8px;
    }
    @media (max-width: 760px) {
        .diario-hub-grid { grid-template-columns: 1fr; gap: 12px; }
    }
    .diario-hub-filters {
        padding: 8px 12px;
        background: #FAFBFC;
        border: 1px dashed #CBD5E1;
        border-radius: 10px;
    }
    .diario-hub-filter-pill {
        padding: 5px 11px;
        font-size: 11px;
        font-weight: 700;
        cursor: pointer;
        border: 1.5px solid #CBD5E1;
        background: #fff;
        color: #475569;
        border-radius: 99px;
        transition: all .15s;
    }
    .diario-hub-filter-pill:hover { border-color: #1B2A4A; color: #1B2A4A; }
    .diario-hub-filter-pill.is-active { background: #1B2A4A; color: #fff; border-color: #1B2A4A; }
    /* [FILTER-TOGGLE] Botão de alternância + dropdown do filtro de status do Diário (preferência global arqp_filter_mode). */
    .diario-hub-modebtn { flex-shrink:0; width:28px; height:28px; border-radius:8px; border:1.5px solid #CBD5E1; background:#fff; cursor:pointer; font-size:13px; line-height:1; color:#64748B; transition:all .15s; }
    .diario-hub-modebtn:hover { border-color:#1B2A4A; color:#1B2A4A; }
    .diario-hub-select { padding:5px 11px; border-radius:18px; border:1.5px solid #CBD5E1; background:#fff; font-size:12px; font-weight:700; color:#334155; cursor:pointer; max-width:100%; }
    .diario-hub-card {
        background: #fff;
        border-radius: 14px;
        overflow: hidden;
        border: 1px solid #E5E7EB;
        box-shadow: 0 1px 2px rgba(15,23,42,.04);
        cursor: pointer;
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        display: flex;
        flex-direction: column;
    }
    .diario-hub-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(15,23,42,.12);
        border-color: #CBD5E1;
    }
    .diario-hub-card-cover {
        position: relative;
        height: 120px;
        background-size: cover;
        background-position: center;
        background-color: #F1F5F9;
    }
    .diario-hub-cover-empty {
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .diario-hub-cover-initials {
        font-family: var(--arqp-font-display);
        font-size: 36px;
        font-weight: 700;
        color: var(--arqp-gold);
        letter-spacing: 2px;
    }
    .diario-hub-card-status {
        position: absolute;
        top: 8px;
        right: 8px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        padding: 3px 9px;
        border-radius: 99px;
        text-transform: uppercase;
        backdrop-filter: blur(4px);
    }
    /* [V20·DIARIO+] Avatar do cliente sobreposto na cover (canto inferior-direito) */
    .diario-hub-cli-avatar {
        position: absolute;
        bottom: -18px;
        right: 14px;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background-size: cover;
        background-position: center;
        background-color: #F1F5F9;
        border: 3px solid #fff;
        box-shadow: 0 4px 12px rgba(0,0,0,.25);
        z-index: 2;
    }
    .diario-hub-card-body { padding: 22px 16px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
    .diario-hub-card-title {
        font-family: var(--arqp-font-display);
        font-size: 16px;
        font-weight: 700;
        color: var(--arqp-navy);
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .diario-hub-card-sub {
        font-size: 11.5px;
        color: #64748B;
        line-height: 1.4;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .diario-hub-card-kpis {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-top: 2px;
    }
    .diario-hub-kpi {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 11.5px;
        color: #475569;
    }
    .diario-hub-kpi span { font-size: 13px; }
    .diario-hub-kpi strong { font-weight: 700; color: #0F172A; }
    .diario-hub-timeline {
        display: flex;
        align-items: flex-end;
        gap: 2px;
        height: 22px;
        margin-top: 4px;
        padding: 2px 0;
    }
    .diario-hub-tl-bar {
        flex: 1;
        height: 6px;
        background: #E5E7EB;
        border-radius: 1px;
        transition: all .15s;
    }
    .diario-hub-tl-bar.has-post {
        height: 16px;
        background: linear-gradient(180deg, #10B981, #059669);
    }
    .diario-hub-tl-bar.is-today {
        outline: 1.5px solid var(--arqp-navy);
        outline-offset: 1px;
        border-radius: 2px;
    }
    .diario-hub-card-cta {
        margin-top: 6px;
        padding-top: 8px;
        border-top: 1px dashed #E5E7EB;
        font-size: 11.5px;
        font-weight: 700;
        color: var(--arqp-navy);
        text-align: right;
    }
    /* [V22·OBRA] Responsáveis + equipes nos cards do Hub */
    .diario-hub-resps {
        display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px;
    }
    .diario-hub-resp-pill {
        display: inline-flex; align-items: center; gap: 5px;
        background: #FAFBFC; border: 1px solid #E5E7EB;
        border-radius: 99px; padding: 2px 9px 2px 2px;
        font-size: 10.5px; font-weight: 700; color: #475569;
        max-width: 140px;
    }
    .diario-hub-resp-pill span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .diario-hub-resp-avatar {
        width: 22px; height: 22px; border-radius: 50%;
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        color: var(--arqp-gold); font-weight: 700; font-size: 9.5px;
        display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .diario-hub-equipes-chips {
        display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px;
    }
    .diario-hub-equipe-chip {
        font-size: 9.5px; font-weight: 700;
        padding: 2px 8px; border-radius: 99px; border: 1.5px solid;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* [V20·DIARIO] PROJECT DIARY (tabs Feed/Timeline/Galeria/Config) */
    /* ═══════════════════════════════════════════════════════ */
    .diario-proj-hero {
        position: relative;
        height: 180px;
        border-radius: 16px;
        margin-bottom: 18px;
        background-size: cover;
        background-position: center;
        overflow: hidden;
        box-shadow: 0 6px 20px rgba(15,23,42,.18);
    }
    .diario-proj-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.75) 100%);
    }
    .diario-proj-hero-empty {
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
    }
    .diario-proj-hero-content {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 16px 20px;
        color: #fff;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }
    .diario-proj-hero-title { font-family: var(--arqp-font-display); font-size: 24px; font-weight: 700; line-height: 1.2; }
    /* [V22·OBRA] Logo da empresa sobreposto no canto superior-direito do hero */
    .diario-proj-empresa-logo {
        position: absolute; top: 14px; right: 14px;
        width: 64px; height: 64px; border-radius: 12px;
        background-size: contain; background-position: center; background-repeat: no-repeat;
        background-color: rgba(255,255,255,.95);
        padding: 6px; box-shadow: 0 4px 14px rgba(0,0,0,.20);
        backdrop-filter: blur(4px);
        z-index: 1;
    }
    @media (max-width: 760px) {
        .diario-proj-empresa-logo { width: 48px; height: 48px; top: 10px; right: 10px; }
    }
    /* [V22·OBRA] Tab Equipes — cards de equipe com árvore de membros */
    .diario-eq-card-resp {
        background: linear-gradient(135deg,#FEF6E4,#FCD34D20);
        border: 1.5px solid #FCD34D; border-radius: 12px;
        padding: 14px 16px; margin-bottom: 16px;
    }
    .diario-eq-card-resp-label {
        font-size: 10.5px; font-weight: 800; color: #78350F;
        text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px;
    }
    .diario-eq-card-resp-body { display: flex; align-items: center; gap: 12px; }
    .diario-eq-grid {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: 14px;
    }
    .diario-eq-card {
        background: #fff; border: 1px solid #E5E7EB; border-radius: 12px;
        border-left: 5px solid #94A3B8;
        padding: 14px 16px;
    }
    .diario-eq-head {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
        padding-bottom: 10px; border-bottom: 1px solid #F1F5F9; margin-bottom: 10px;
    }
    .diario-eq-name { font-weight: 800; font-size: 15px; color: #0F172A; }
    .diario-eq-espec {
        font-size: 10.5px; font-weight: 700; color: #64748B;
        text-transform: uppercase; letter-spacing: .4px; margin-top: 2px;
    }
    .diario-eq-lider-row {
        display: flex; align-items: center; gap: 10px;
        background: #FEF6E4; border-radius: 8px; padding: 8px 10px;
        margin-bottom: 8px;
    }
    .diario-eq-lider-label { font-size: 9.5px; font-weight: 800; color: #78350F; letter-spacing: .5px; }
    .diario-eq-lider-nome { font-weight: 700; font-size: 13px; color: #0F172A; }
    .diario-eq-members-tree {
        margin-left: 18px; padding-left: 12px;
        border-left: 2px dashed #CBD5E1;
    }
    .diario-eq-member-row {
        display: flex; align-items: center; gap: 8px;
        padding: 6px 0; position: relative;
    }
    .diario-eq-tree-line {
        position: absolute; left: -14px; top: 50%;
        width: 12px; height: 1.5px; background: #CBD5E1;
    }
    .diario-eq-member-info { flex: 1; min-width: 0; }
    .diario-eq-member-name { font-weight: 700; font-size: 12.5px; color: #0F172A; }
    .diario-eq-member-cargo { font-size: 10.5px; color: #94A3B8; }
    .diario-eq-foot {
        display: flex; align-items: center; justify-content: space-between;
        padding-top: 10px; margin-top: 10px; border-top: 1px solid #F1F5F9;
    }
    .diario-eq-actions-row {
        display: flex; gap: 6px; margin-top: 10px;
    }
    .diario-eq-actions-row .arqp-btn { flex: 1; }
    @media (max-width: 760px) {
        .diario-eq-grid { grid-template-columns: 1fr; }
    }
    .diario-proj-hero-sub { font-size: 12.5px; opacity: .9; margin-top: 2px; }
    .diario-proj-kpis {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 10px;
        margin-bottom: 18px;
    }
    .diario-proj-kpi {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 10px;
        padding: 12px 14px;
    }
    .diario-proj-kpi-value { font-family: var(--arqp-font-display); font-size: 22px; font-weight: 700; color: var(--arqp-navy); line-height: 1; }
    .diario-proj-kpi-label { font-size: 10.5px; color: #64748B; text-transform: uppercase; letter-spacing: .5px; margin-top: 4px; font-weight: 700; }
    .diario-proj-tabs {
        display: flex;
        gap: 4px;
        margin-bottom: 16px;
        border-bottom: 1px solid #E5E7EB;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .diario-proj-tab {
        padding: 10px 16px;
        font-size: 12.5px;
        font-weight: 700;
        color: #64748B;
        background: transparent;
        border: none;
        border-bottom: 3px solid transparent;
        cursor: pointer;
        transition: all .15s;
        white-space: nowrap;
        font-family: inherit;
    }
    .diario-proj-tab:hover { color: var(--arqp-navy); }
    .diario-proj-tab.is-active { color: var(--arqp-navy); border-bottom-color: var(--arqp-navy); }

    /* ═══════════════════════════════════════════════════════ */
    /* [V20·DIARIO] GALERIA TAB (grid de fotos com lightbox) */
    /* ═══════════════════════════════════════════════════════ */
    .diario-galeria-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 8px;
    }
    .diario-galeria-item {
        position: relative;
        aspect-ratio: 1;
        background-size: cover;
        background-position: center;
        background-color: #F1F5F9;
        border-radius: 8px;
        cursor: pointer;
        overflow: hidden;
        transition: transform .15s;
    }
    .diario-galeria-item:hover { transform: scale(1.03); box-shadow: 0 4px 14px rgba(15,23,42,.18); }
    .diario-galeria-item-date {
        position: absolute;
        bottom: 4px;
        left: 4px;
        font-size: 10px;
        background: rgba(15,23,42,.7);
        color: #fff;
        padding: 2px 6px;
        border-radius: 4px;
        font-weight: 700;
    }
    .diario-lightbox {
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,.92);
        z-index: 100002;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        cursor: zoom-out;
    }
    .diario-lightbox img { max-width: 90vw; max-height: 90vh; border-radius: 8px; box-shadow: 0 12px 60px rgba(0,0,0,.5); }
    .diario-lightbox-close {
        position: absolute;
        top: 14px;
        right: 18px;
        font-size: 28px;
        color: #fff;
        background: none;
        border: none;
        cursor: pointer;
        opacity: .8;
    }
    .diario-lightbox-close:hover { opacity: 1; }

    /* ═══════════════════════════════════════════════════════ */
    /* [V20·DIARIO] CALENDÁRIO MENSAL (Timeline tab) */
    /* ═══════════════════════════════════════════════════════ */
    .diario-cal-wrap { background: #fff; border: 1px solid #E5E7EB; border-radius: 12px; padding: 16px; }
    .diario-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
    .diario-cal-month { font-family: var(--arqp-font-display); font-size: 17px; font-weight: 700; color: var(--arqp-navy); text-transform: capitalize; }
    .diario-cal-nav-btn { background: #F1F5F9; border: 1px solid #CBD5E1; color: #475569; border-radius: 8px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer; }
    .diario-cal-nav-btn:hover { background: #E2E8F0; }
    .diario-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
    .diario-cal-dow {
        text-align: center;
        font-size: 10px;
        font-weight: 800;
        color: #64748B;
        text-transform: uppercase;
        letter-spacing: .5px;
        padding: 6px 0;
    }
    .diario-cal-day {
        aspect-ratio: 1;
        border-radius: 8px;
        background: #F8FAFC;
        border: 1px solid #E5E7EB;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        color: #64748B;
        cursor: default;
        transition: all .15s;
        position: relative;
    }
    .diario-cal-day.is-out-of-month { opacity: .35; }
    .diario-cal-day.has-post { background: linear-gradient(135deg, #ECFDF5, #D1FAE5); border-color: #6EE7B7; color: #065F46; cursor: pointer; font-weight: 700; }
    .diario-cal-day.has-post:hover { background: linear-gradient(135deg, #D1FAE5, #A7F3D0); transform: scale(1.05); }
    .diario-cal-day.is-today { outline: 2px solid var(--arqp-navy); outline-offset: -2px; font-weight: 800; color: var(--arqp-navy); }
    .diario-cal-day-num { font-size: 13px; line-height: 1; }
    .diario-cal-day-count { font-size: 9px; opacity: .8; margin-top: 2px; }

    /* ═══════════════════════════════════════════════════════ */
    /* [V20·DIARIO] WIZARD RDO (7 passos) */
    /* ═══════════════════════════════════════════════════════ */
    .diario-wiz-overlay {
        position: fixed; inset: 0; background: rgba(15,23,42,.65);
        z-index: 100000; display: flex; align-items: center; justify-content: center;
        padding: 20px; backdrop-filter: blur(8px);
    }
    .diario-wiz-modal {
        background: #fff; border-radius: 20px; max-width: 1100px; width: 100%;
        max-height: 94vh; display: flex; flex-direction: column; overflow: hidden;
        box-shadow: 0 30px 80px rgba(0,0,0,.45);
    }
    .diario-wiz-head {
        background: linear-gradient(135deg, var(--arqp-navy), #2C3E6B);
        color: #fff; padding: 14px 22px;
        display: flex; justify-content: space-between; align-items: center; flex-shrink: 0;
    }
    .diario-wiz-head-title { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; opacity: .85; text-transform: uppercase; }
    .diario-wiz-head-sub { font-size: 17px; font-weight: 800; margin-top: 2px; }
    .diario-wiz-close { background: rgba(255,255,255,.2); border: none; color: #fff; width: 32px; height: 32px; border-radius: 8px; cursor: pointer; font-size: 16px; }
    .diario-wiz-2col { display: flex; flex: 1; min-height: 0; overflow: hidden; }
    .diario-wiz-stepper-col {
        width: 230px; flex-shrink: 0; border-right: 1px solid #E5E7EB;
        background: #FAFBFC; padding: 14px 12px; overflow-y: auto;
    }
    .diario-wiz-right { flex: 1; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
    .diario-wiz-body { padding: 22px 26px; overflow-y: auto; flex: 1; }
    .diario-wiz-foot { padding: 14px 22px; border-top: 1px solid #E5E7EB; background: #F8FAFC; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
    .diario-wiz-step {
        display: flex; align-items: flex-start; gap: 10px;
        padding: 11px 14px; border-radius: 10px; transition: all .25s;
        cursor: default;
    }
    .diario-wiz-step.is-done { background: #ECFDF5; }
    .diario-wiz-step.is-current { background: #FFF7ED; }
    .diario-wiz-step.is-pending { background: transparent; }
    .diario-wiz-step-ico { font-size: 16px; line-height: 1.2; flex-shrink: 0; width: 22px; text-align: center; }
    .diario-wiz-step-body { flex: 1; min-width: 0; }
    .diario-wiz-step-label { font-size: 11px; font-weight: 800; letter-spacing: .3px; }
    .diario-wiz-step-desc { font-size: 10.5px; margin-top: 1px; line-height: 1.3; }
    .diario-wiz-step.is-done .diario-wiz-step-label { color: #065F46; }
    .diario-wiz-step.is-done .diario-wiz-step-desc { color: #10B981; }
    .diario-wiz-step.is-current .diario-wiz-step-label { color: #7C2D12; }
    .diario-wiz-step.is-current .diario-wiz-step-desc { color: #C2410C; }
    .diario-wiz-step.is-pending .diario-wiz-step-label { color: #94A3B8; }
    .diario-wiz-step.is-pending .diario-wiz-step-desc { color: #CBD5E1; }
    @media (max-width: 860px) {
        .diario-wiz-2col { flex-direction: column; }
        .diario-wiz-stepper-col { width: 100%; border-right: none; border-bottom: 1px solid #E5E7EB; padding: 8px 12px; }
        .diario-wiz-stepper-col > div { display: flex; flex-direction: row; overflow-x: auto; gap: 6px; }
        .diario-wiz-step { min-width: 140px; flex-shrink: 0; }
    }
    .diario-wiz-clima-grid {
        display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px;
    }
    .diario-wiz-clima-card {
        padding: 14px 10px; border: 2px solid #E5E7EB; background: #fff;
        border-radius: 12px; cursor: pointer; text-align: center; transition: all .2s;
    }
    .diario-wiz-clima-card:hover { border-color: #CBD5E1; transform: translateY(-1px); }
    .diario-wiz-clima-card.is-on { border-color: #10B981; background: linear-gradient(135deg, #ECFDF5, #F0FDF4); }
    .diario-wiz-clima-emoji { font-size: 28px; line-height: 1; margin-bottom: 4px; }
    .diario-wiz-clima-label { font-size: 11.5px; font-weight: 700; color: #0F172A; }
    .diario-wiz-chip {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 6px 12px; border: 1.5px solid #CBD5E1;
        background: #fff; color: #475569; border-radius: 99px;
        font-size: 12px; font-weight: 600; cursor: pointer; transition: all .15s;
    }
    .diario-wiz-chip:hover { border-color: #1B2A4A; color: #1B2A4A; }
    .diario-wiz-chip.is-on { background: var(--arqp-navy); color: #fff; border-color: var(--arqp-navy); }

    /* ═══════════════════════════════════════════════════════ */
    /* [ID-116] DIÁRIO SOCIAL — Visual Moderno 2026           */
    /* [V24·DIARIO-FEED-GRID-v2] Masonry com FLEX columns + JS round-robin (preserva ordem temporal) */
    /* CSS columns "puro" quebrava ordem temporal (preenche coluna 1 inteira → 2 → 3).             */
    /* Agora: flex com N colunas + JS distribui cards round-robin → ordem visual = ordem temporal.  */
    /* ═══════════════════════════════════════════════════════ */
    .arqp-social-grid {
        display: flex;
        gap: 18px;
        align-items: flex-start;
    }
    .arqp-social-col {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 18px;
    }
    @media (max-width: 1280px) {
        .arqp-social-grid { gap: 14px; }
        .arqp-social-col { gap: 14px; }
    }
    @media (max-width: 720px) {
        .arqp-social-grid { gap: 0; flex-direction: column; }
    }
    .arqp-social-card {
        background: #fff;
        border-radius: 18px;
        overflow: hidden;
        border: 1px solid rgba(27,42,74,0.10);
        box-shadow: 0 1px 2px rgba(27,42,74,0.03), 0 4px 16px rgba(27,42,74,0.05);
        margin: 0;
        transition: box-shadow 0.3s ease, transform 0.2s ease;
        position: relative;
        /* [V24·DIARIO-FEED-GRID-v2] Card normal — gap entre cards é do parent .arqp-social-col */
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .arqp-social-card::after {
        content: '';
        display: block;
        height: 0;
        clear: both;
    }
    .arqp-social-card:hover {
        box-shadow: 0 2px 4px rgba(27,42,74,0.05), 0 12px 32px rgba(27,42,74,0.10);
        transform: translateY(-2px);
    }
    .arqp-social-header {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px 18px 12px;
    }
    .arqp-social-avatar {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        background: linear-gradient(145deg, var(--arqp-navy) 0%, #2C3E6B 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--arqp-font-display);
        font-weight: 700;
        font-size: 16px;
        color: var(--arqp-gold);
        flex-shrink: 0;
    }
    .arqp-social-name {
        font-weight: 700;
        font-size: 15px;
        color: var(--arqp-navy);
        letter-spacing: -0.2px;
    }
    .arqp-social-meta {
        font-size: 12px;
        color: var(--arqp-text-muted);
        margin-top: 1px;
    }

    /* ── Galeria moderna ── */
    .arqp-social-gallery {
        display: grid;
        gap: 3px;
        background: #F8F7F4;
    }
    .arqp-social-gallery.g1 { grid-template-columns: 1fr; max-height: 360px; }
    .arqp-social-gallery.g2 { grid-template-columns: 1fr 1fr; max-height: 280px; }
    .arqp-social-gallery.g3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; max-height: 320px; }
    .arqp-social-gallery.g3 > :first-child { grid-row: span 2; }
    .arqp-social-gallery.g4 { grid-template-columns: 1fr 1fr; max-height: 320px; }
    .arqp-social-gallery { overflow: hidden; }
    .arqp-social-gallery-item {
        position: relative;
        overflow: hidden;
        min-height: 120px;
        max-height: 320px;
        background: #F0EDE8;
    }
    .arqp-social-gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        cursor: pointer;
        transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .arqp-social-gallery img:hover { transform: scale(1.03); }
    .arqp-social-gallery-item .legenda-overlay {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(transparent 0%, rgba(0,0,0,0.55) 100%);
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        padding: 28px 12px 8px;
        pointer-events: none;
        letter-spacing: 0.1px;
    }

    /* ── Corpo ── */
    .arqp-social-body {
        padding: 16px 18px 12px;
    }
    .arqp-social-text {
        font-size: 15px;
        color: #1F2937;
        line-height: 1.7;
        margin-bottom: 10px;
        letter-spacing: -0.1px;
    }
    .arqp-social-section {
        font-size: 14px;
        line-height: 1.65;
        padding: 12px 14px;
        border-radius: 12px;
        margin-bottom: 8px;
        backdrop-filter: blur(4px);
    }
    .arqp-social-section.warn {
        background: #FDF8F0;
        color: #78570A;
        border-left: 3px solid #E5B94E;
    }
    .arqp-social-section.ok {
        background: #F4FAF6;
        color: #1A5D3A;
        border-left: 3px solid #5CB88A;
    }
    .arqp-social-section.info {
        background: #F0F4FA;
        color: #2A4A7F;
        border-left: 3px solid #7BA3D4;
    }
    /* [V24·DIARIO-FEED-GRID] Header das seções com ícone + label */
    .arqp-social-section-label {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 10.5px;
        font-weight: 800;
        letter-spacing: 0.6px;
        text-transform: uppercase;
        opacity: 0.85;
        margin-bottom: 6px;
    }
    .arqp-social-section-text {
        font-size: 13.5px;
        line-height: 1.55;
        color: #1F2937;
        letter-spacing: -0.1px;
        word-break: break-word;
    }
    .arqp-social-section.warn  .arqp-social-section-text { color: #78570A; }
    .arqp-social-section.ok    .arqp-social-section-text { color: #1A5D3A; }
    .arqp-social-section.info  .arqp-social-section-text { color: #2A4A7F; }
    .arqp-social-section.team {
        background: #F5F3FF;
        border-left: 3px solid #A78BFA;
    }
    .arqp-social-section.team  .arqp-social-section-text { color: #4C1D95; }
    .arqp-social-section.client {
        background: #FEF3C7;
        border-left: 3px solid #F59E0B;
    }
    .arqp-social-section.client .arqp-social-section-text { color: #78350F; }

    /* [V24·DIARIO-FEED-GRID] Badges padrão app cliente */
    .arqp-chip {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 10.5px;
        font-weight: 700;
        padding: 3px 9px;
        border-radius: 99px;
        letter-spacing: 0.2px;
        line-height: 1.4;
        white-space: nowrap;
    }
    .arqp-chip.sev-baixa  { background: #DCFCE7; color: #166534; }
    .arqp-chip.sev-media  { background: #FEF3C7; color: #92400E; }
    .arqp-chip.sev-alta   { background: #FEE2E2; color: #991B1B; }
    .arqp-chip.tipo-ocor  { background: #F1F5F9; color: #334155; border: 1px solid #E2E8F0; }
    .arqp-chip.motivo-pos { background: #DCFCE7; color: #166534; }
    .arqp-chip.motivo-neg { background: #FEE2E2; color: #991B1B; }
    .arqp-chip.clima      { background: #DBEAFE; color: #1E40AF; }
    .arqp-chip-row {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin-bottom: 8px;
    }

    /* ── Barra de ações ── */
    .arqp-social-actions {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 6px 18px 8px;
        border-top: 1px solid #F3F4F6;
    }
    .arqp-social-btn {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 14px;
        border: 1px solid #E5E7EB;
        border-radius: 20px;
        background: transparent;
        cursor: pointer;
        font-size: 12px;
        font-weight: 500;
        font-family: var(--arqp-font-body);
        color: #6B7280;
        transition: all 0.15s ease;
    }
    .arqp-social-btn:hover {
        background: #F9FAFB;
        border-color: #D1D5DB;
        color: #374151;
    }
    .arqp-social-btn:active { transform: scale(0.95); }
    .arqp-social-btn.liked {
        background: #FEF2F2;
        border-color: #FECACA;
        color: #DC2626;
    }

    /* ── Comentários ── */
    .arqp-social-comments {
        padding: 4px 18px 8px;
    }
    .arqp-social-comment {
        padding: 12px 14px;
        border-radius: 16px;
        margin-bottom: 6px;
        position: relative;
        transition: background 0.2s;
    }
    .arqp-social-comment.from-admin {
        background: linear-gradient(135deg, #F0F6FF 0%, #E8F0FE 100%);
        border: none;
        margin-right: 24px;
    }
    .arqp-social-comment.from-client {
        background: linear-gradient(135deg, #F0FDF8 0%, #E6F9F0 100%);
        border: none;
        margin-left: 24px;
    }
    .arqp-social-comment-name {
        font-size: 12px;
        font-weight: 700;
        margin-bottom: 3px;
        letter-spacing: -0.1px;
    }
    .arqp-social-comment-text {
        font-size: 14px;
        color: #1F2937;
        line-height: 1.55;
        letter-spacing: -0.1px;
    }
    .arqp-social-comment-time {
        font-size: 11px;
        color: #9CA3AF;
        margin-top: 4px;
    }
    .arqp-social-comment-del {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        border: none;
        background: rgba(239,68,68,0.08);
        color: #DC2626;
        font-size: 11px;
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        transition: all 0.15s;
    }
    .arqp-social-comment:hover .arqp-social-comment-del { display: flex; }
    .arqp-social-comment-del:hover { background: rgba(239,68,68,0.15); }
    /* Mobile: sempre visível */
    @media (max-width: 768px) {
        .arqp-social-comment-del { display: flex; opacity: 0.5; }
        .arqp-social-comment-del:active { opacity: 1; background: rgba(239,68,68,0.2); }
    }
    /* Botão deletar foto no mobile */
    .arqp-foto-del {
        position: absolute;
        top: 6px;
        right: 6px;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: none;
        background: rgba(0,0,0,0.5);
        backdrop-filter: blur(4px);
        color: #fff;
        font-size: 12px;
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 2;
        transition: all 0.15s;
    }
    .arqp-social-gallery-item:hover .arqp-foto-del { display: flex; }
    @media (max-width: 768px) {
        .arqp-foto-del { display: flex; opacity: 0.6; }
        .arqp-foto-del:active { opacity: 1; background: rgba(239,68,68,0.8); }
    }

    /* ── Input de comentário ── */
    .arqp-social-input-row {
        display: flex;
        gap: 10px;
        padding: 6px 18px 16px;
        align-items: flex-end;
    }
    .arqp-social-input {
        flex: 1;
        padding: 11px 18px;
        border: 2px solid #E5E7EB;
        border-radius: 28px;
        font-family: var(--arqp-font-body);
        font-size: 14px;
        outline: none;
        resize: none;
        min-height: 22px;
        max-height: 80px;
        transition: border-color 0.25s, box-shadow 0.25s;
        background: #FAFAF9;
        color: var(--arqp-text);
    }
    .arqp-social-input:focus {
        border-color: var(--arqp-gold);
        box-shadow: 0 0 0 4px rgba(212,175,55,0.08);
        background: #fff;
    }
    .arqp-social-input::placeholder { color: #C0BDB6; }
    .arqp-social-send {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: linear-gradient(145deg, var(--arqp-navy) 0%, #2C3E6B 100%);
        color: var(--arqp-gold);
        border: none;
        cursor: pointer;
        font-size: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: all 0.2s cubic-bezier(0.25,0.46,0.45,0.94);
        box-shadow: 0 2px 8px rgba(27,42,74,0.15);
    }
    .arqp-social-send:hover {
        transform: scale(1.08);
        box-shadow: 0 4px 12px rgba(27,42,74,0.2);
    }
    .arqp-social-send:active { transform: scale(0.92); }

    /* ═══════════════════════════════════════════════════════════════ */
    /* [ID-280] ORÇAMENTOS — Cards Grid + Temperatura + Stats         */
    /* ═══════════════════════════════════════════════════════════════ */
    .orc-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-top: 14px;
    }
    @media (max-width: 1100px) { .orc-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 680px)  { .orc-grid { grid-template-columns: 1fr; } }

    .orc-card {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 14px;
        padding: 14px 16px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.07);
        transition: box-shadow 0.2s, transform 0.15s;
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 0;
    }
    .orc-card:hover {
        box-shadow: 0 8px 24px rgba(0,0,0,0.13);
        transform: translateY(-2px);
    }
    .orc-card-headlink {
        cursor: pointer;
        border-radius: 10px;
        padding: 2px;
        margin: -2px;
    }
    .orc-card-headlink:hover {
        background: rgba(15, 23, 42, 0.025);
    }
    .orc-card-top {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 6px;
    }
    .orc-card-nome {
        font-family: var(--arqp-font-display);
        font-size: 15px;
        font-weight: 700;
        color: var(--arqp-navy);
        line-height: 1.2;
        word-break: break-word;
    }
    .orc-card-contato {
        font-size: 11px;
        color: #6B7280;
        line-height: 1.4;
        word-break: break-all;
    }
    .orc-card-dias {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 11px;
        gap: 4px;
        flex-wrap: wrap;
    }
    .orc-card-dias-left  { font-weight: 600; }
    .orc-card-dias-right { color: #3B82F6; font-weight: 600; text-align: right; }

    .orc-progress {
        height: 5px;
        background: #F3F4F6;
        border-radius: 3px;
        overflow: hidden;
    }
    .orc-progress-fill {
        height: 100%;
        border-radius: 3px;
        transition: width 0.8s ease;
    }
    .orc-tags { display: flex; flex-wrap: wrap; gap: 4px; }
    .orc-tag  {
        padding: 2px 8px;
        border-radius: 20px;
        font-size: 10px;
        font-weight: 600;
        background: #F3F4F6;
        color: #374151;
        white-space: nowrap;
    }
    .orc-card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        margin-top: auto;
        padding-top: 8px;
        border-top: 1px solid #F3F4F6;
    }
    .orc-select {
        padding: 4px 6px;
        border: 1px solid #D1D5DB;
        border-radius: 6px;
        font-size: 11px;
        color: #374151;
        background: #fff;
        cursor: pointer;
        max-width: 130px;
        flex-shrink: 0;
    }
    .orc-action-btns { display: flex; gap: 4px; flex-shrink: 0; }
    .orc-action-btn {
        width: 30px;
        height: 30px;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        font-size: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.15s;
        flex-shrink: 0;
        position: relative;
    }
    .orc-action-btn[data-tip]::after {
        content: attr(data-tip);
        position: absolute;
        left: 50%;
        bottom: calc(100% + 10px);
        transform: translateX(-50%) translateY(4px);
        width: max-content;
        max-width: 230px;
        padding: 9px 12px;
        border-radius: 10px;
        background: #1B2A4A;
        color: #fff;
        font-size: 11.5px;
        font-weight: 500;
        line-height: 1.45;
        text-align: left;
        box-shadow: 0 12px 28px rgba(15,23,42,.22);
        opacity: 0;
        pointer-events: none;
        transition: opacity .15s ease, transform .15s ease;
        z-index: 50;
        white-space: normal;
    }
    .orc-action-btn[data-tip]::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: calc(100% + 4px);
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: #1B2A4A;
        opacity: 0;
        pointer-events: none;
        transition: opacity .15s ease;
        z-index: 51;
    }
    .orc-action-btn[data-tip]:hover::after,
    .orc-action-btn[data-tip]:focus::after {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    .orc-action-btn[data-tip]:hover::before,
    .orc-action-btn[data-tip]:focus::before {
        opacity: 1;
    }
    /* Em telas estreitas, alinha tooltip à direita do botão pra não cortar */
    @media (max-width: 480px) {
        .orc-action-btn[data-tip]::after { right: 0; left: auto; transform: translateY(4px); }
        .orc-action-btn[data-tip]:hover::after,
        .orc-action-btn[data-tip]:focus::after { transform: translateY(0); }
        .orc-action-btn[data-tip]::before { left: auto; right: 8px; transform: none; }
    }
    .orc-btn-tel  { background: #EFF6FF; color: #1D4ED8; }
    .orc-btn-tel:hover  { background: #DBEAFE; }
    .orc-btn-wpp  { background: #DCFCE7; color: #16A34A; }
    .orc-btn-wpp:hover  { background: #BBF7D0; }
    .orc-btn-ver  { background: #F3F4F6; color: #374151; }
    .orc-btn-ver:hover  { background: #E5E7EB; }
    .orc-btn-del  { background: #FEE2E2; color: #DC2626; }
    .orc-btn-del:hover  { background: #FECACA; }

    /* ── Seções de Temperatura ── */
    .orc-temp-section { margin-bottom: 22px; }
    .orc-temp-header {
        border-radius: 12px 12px 0 0;
        padding: 12px 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 6px;
    }
    .orc-temp-header-left { display: flex; align-items: center; gap: 10px; }
    .orc-temp-title  { font-size: 15px; font-weight: 800; letter-spacing: 0.3px; }
    .orc-temp-badge-count {
        background: rgba(255,255,255,0.25);
        padding: 3px 12px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 700;
    }
    .orc-temp-msg { font-size: 11px; opacity: 0.85; font-style: italic; }
    .orc-grid-wrap {
        background: #F9FAFB;
        border: 1px solid #E5E7EB;
        border-top: none;
        border-radius: 0 0 12px 12px;
        padding: 14px;
    }

    /* ── Filtros ── */
    .orc-status-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
    .orc-status-tab {
        padding: 5px 14px;
        border-radius: 20px;
        border: 1.5px solid #D1D5DB;
        background: #fff;
        cursor: pointer;
        font-size: 12px;
        font-weight: 600;
        color: #374151;
        transition: all 0.15s;
        white-space: nowrap;
        user-select: none;
        touch-action: manipulation;
    }
    .orc-status-tab.active { background: var(--arqp-navy); color: #fff; border-color: var(--arqp-navy); }
    .orc-status-tab { display: inline-flex; align-items: center; gap: 4px; }
    /* [FILTER-TOGGLE] Alternância chips↔dropdown do filtro de status (preferência por usuário, localStorage). */
    .orc-filter-row { display: flex; align-items: flex-start; flex-wrap: nowrap; gap: 8px; margin-bottom: 14px; }
    /* min-width:0 + flex deixam o strip de chips encolher → preserva o scroll horizontal mobile (overflow-x do .orc-status-tabs). */
    .orc-filter-row .orc-status-tabs { margin-bottom: 0 !important; min-width: 0; flex: 1 1 auto; }
    .orc-filter-modebtn { flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px; border: 1.5px solid #D1D5DB; background: #fff; cursor: pointer; font-size: 14px; line-height: 1; color: #6B7280; transition: all 0.15s; user-select: none; touch-action: manipulation; }
    .orc-filter-modebtn:hover { border-color: var(--arqp-navy); color: var(--arqp-navy); }
    .orc-status-select { padding: 7px 12px; border-radius: 10px; border: 1.5px solid #D1D5DB; background: #fff; font-size: 13px; font-weight: 600; color: #374151; cursor: pointer; max-width: 100%; }
    /* [AG-V3] Modal "Nova Atividade na Agenda" — banner premium, hints de campo, info dinâmica de Local */
    .ag-fld-hint {
        font-size: 11px;
        color: #6B7280;
        line-height: 1.4;
        margin-top: 4px;
        font-style: italic;
    }
    .ag-premium-banner {
        display: flex; align-items: flex-start; gap: 12px;
        background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
        border: 1px solid #F5D78E;
        border-radius: 12px;
        padding: 12px 14px;
        font-size: 12px;
        color: #78350F;
        line-height: 1.5;
        position: relative; overflow: hidden;
    }
    .ag-premium-banner strong { color: #1B2A4A; font-size: 13px; }
    .ag-premium-banner .ag-premium-sub { font-size: 11.5px; margin-top: 2px; color: #92400E; }
    .ag-premium-banner .ag-premium-spark {
        font-size: 22px; flex-shrink: 0; line-height: 1;
        animation: agPremiumSparkle 4s ease-in-out infinite;
        animation-delay: 1.5s; transform-origin: center;
    }
    @keyframes agPremiumSparkle {
        0%, 78%, 100% { opacity: .65; transform: scale(.9) rotate(0deg); }
        82%           { opacity: 1;   transform: scale(1.3) rotate(20deg); filter: drop-shadow(0 0 6px rgba(245,158,11,.7)); }
        88%           { opacity: 1;   transform: scale(1.05) rotate(-10deg); }
        94%           { opacity: .9;  transform: scale(1) rotate(0deg); }
    }
    .ag-premium-banner::before {
        content: ''; position: absolute; inset: 0;
        background: linear-gradient(120deg, transparent 30%, rgba(212,175,55,.15) 50%, transparent 70%);
        transform: translateX(-100%);
        animation: orcPremiumShine 9s ease-in-out infinite;
        animation-delay: 4s;
        pointer-events: none;
    }
    /* Info dinâmica embaixo do bloco "Local" */
    .ag-local-info {
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.5;
        border-radius: 10px;
        padding: 0;
        background: transparent;
        max-height: 0;
        overflow: hidden;
        transition: max-height .3s ease, padding .25s ease, margin-top .25s ease;
    }
    .ag-local-info.show {
        max-height: 240px;
        padding: 10px 14px;
        margin-top: 10px;
    }
    .ag-local-info.online {
        background: #EEF2FF;
        border: 1px solid #C7D2FE;
        color: #3730A3;
    }
    .ag-local-info.escritorio {
        background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
        border: 1px solid #F5D78E;
        color: #78350F;
    }
    .ag-local-info.outro {
        background: #FAF5FF;
        border: 1px solid #E9D5FF;
        color: #6D28D9;
    }
    .ag-local-info-title {
        font-weight: 700; font-size: 12.5px; margin-bottom: 4px;
        display: flex; align-items: center; gap: 6px;
    }
    .ag-local-info-links {
        display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap;
    }
    .ag-local-link-mock {
        font-size: 11px; padding: 4px 10px; border-radius: 999px;
        background: rgba(255,255,255,0.7); border: 1px solid rgba(0,0,0,.08);
        color: inherit; font-weight: 600;
    }
    /* Card "Enviar convite" — sparkle sutil dentro */
    .ag-convite-card { transition: border-color .2s, box-shadow .2s; }
    .ag-convite-card:hover { border-color: #93C5FD; box-shadow: 0 4px 14px rgba(59,130,246,.18); }
    .ag-convite-spark {
        font-size: 13px;
        animation: agPremiumSparkle 6s ease-in-out infinite;
        animation-delay: 3s;
        display: inline-block; transform-origin: center;
    }
    /* [ORC-V2-PREMIUM] Botão de agendamento com micro-animação "feature premium integrada" (Google Calendar).
       Sutilidade: borda dourada que pulsa devagar + sparkle ✨ que cintila a cada N segundos sem cansar. */
    .orc-premium-btn {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, #FFFBEB, #FEF9C3) !important;
        border-color: #F5D78E !important;
        color: #78350F !important;
        font-weight: 600;
        transition: all .2s ease;
    }
    .orc-premium-btn:hover {
        background: linear-gradient(135deg, #FEF3C7, #FDE68A) !important;
        border-color: #D4AF37 !important;
        box-shadow: 0 4px 14px rgba(212,175,55,.25);
        transform: translateY(-1px);
    }
    /* Brilho sutil deslizando pela borda inferior — efeito "premium" sem distrair */
    .orc-premium-btn::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg, transparent 30%, rgba(212,175,55,.18) 50%, transparent 70%);
        transform: translateX(-100%);
        animation: orcPremiumShine 8s ease-in-out infinite;
        animation-delay: 3s;
        pointer-events: none;
    }
    @keyframes orcPremiumShine {
        0%, 88%, 100% { transform: translateX(-100%); }
        92%           { transform: translateX(0); }
        96%           { transform: translateX(100%); }
    }
    /* Sparkle ✨ que cintila ocasionalmente */
    .orc-premium-spark {
        display: inline-block;
        margin-left: 4px;
        font-size: 0.85em;
        animation: orcPremiumSparkle 5s ease-in-out infinite;
        animation-delay: 1.5s;
        transform-origin: center;
    }
    @keyframes orcPremiumSparkle {
        0%, 70%, 100% { opacity: .55; transform: scale(.9) rotate(0deg); }
        80%           { opacity: 1;   transform: scale(1.25) rotate(15deg); filter: drop-shadow(0 0 4px rgba(245,158,11,.7)); }
        85%           { opacity: 1;   transform: scale(1.1) rotate(-8deg); }
        92%           { opacity: .85; transform: scale(1) rotate(0deg); }
    }
    .orc-premium-btn:hover .orc-premium-spark {
        animation-duration: 1.5s;
    }
    /* Mobile: animações um pouco mais sutis */
    @media (max-width: 640px) {
        .orc-premium-btn::before { animation-duration: 12s; }
        .orc-premium-spark { animation-duration: 7s; }
    }

    /* [ORC-MEET-BADGE] Floating badge de Reunião do Dia — canto superior direito, abaixo do header */
    .orc-meet-badge {
        position: fixed;
        top: 84px;
        right: 18px;
        z-index: 9985;
        font-family: inherit;
        animation: orcMeetBadgeIn .35s cubic-bezier(.34,1.5,.64,1);
    }
    @keyframes orcMeetBadgeIn {
        from { opacity: 0; transform: translateX(20px) scale(.9); }
        to   { opacity: 1; transform: translateX(0) scale(1); }
    }
    .orc-meet-badge-card {
        width: 280px;
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 12px 36px rgba(15,23,42,.18), 0 0 0 1px rgba(15,23,42,.06);
        overflow: hidden;
        transition: opacity .2s, transform .2s;
    }
    .orc-meet-badge-mini {
        display: none;
        align-items: center;
        gap: 8px;
        background: #1B2A4A;
        color: #fff;
        border-radius: 999px;
        padding: 8px 14px 8px 12px;
        cursor: pointer;
        box-shadow: 0 8px 22px rgba(27,42,74,.35);
        font-size: 12px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        animation: orcMeetMiniPulse 1.8s ease-in-out infinite;
    }
    @keyframes orcMeetMiniPulse {
        0%, 100% { box-shadow: 0 8px 22px rgba(27,42,74,.35), 0 0 0 0 rgba(212,175,55,.5); }
        50%      { box-shadow: 0 8px 22px rgba(27,42,74,.35), 0 0 0 8px rgba(212,175,55,0); }
    }
    .orc-meet-badge-mini-ico { font-size: 16px; line-height: 1; }
    .orc-meet-badge.is-min .orc-meet-badge-mini { display: inline-flex; }
    .orc-meet-badge.is-min .orc-meet-badge-card { display: none; }
    .orc-meet-badge-head {
        display: flex; align-items: center; gap: 8px;
        padding: 9px 12px; color: #fff;
        font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    }
    .orc-meet-badge-head-ico { font-size: 16px; }
    .orc-meet-badge-head-lbl { flex: 1; }
    .orc-meet-badge-min-btn,
    .orc-meet-badge-close-btn {
        background: rgba(255,255,255,.18); color: #fff; border: none;
        width: 22px; height: 22px; border-radius: 50%; cursor: pointer;
        font-size: 13px; font-weight: 700; line-height: 1;
        display: inline-flex; align-items: center; justify-content: center;
        transition: background .15s;
    }
    .orc-meet-badge-min-btn:hover,
    .orc-meet-badge-close-btn:hover { background: rgba(255,255,255,.32); }
    .orc-meet-badge-body {
        padding: 12px 14px; cursor: pointer; transition: background .15s;
    }
    .orc-meet-badge-body:hover { background: #FAFBFC; }
    .orc-meet-badge-cd {
        font-size: 18px; font-weight: 800; color: #0F172A;
        font-variant-numeric: tabular-nums; line-height: 1.1;
    }
    .orc-meet-badge-lead {
        font-size: 13px; color: #1B2A4A; font-weight: 600; margin-top: 6px;
    }
    .orc-meet-badge-meta {
        font-size: 11px; color: #6B7280; margin-top: 3px; line-height: 1.4;
    }
    /* Estados (pulse pra urgência) */
    .orc-meet-badge.state-imminent .orc-meet-badge-card {
        box-shadow: 0 12px 36px rgba(220,38,38,.30), 0 0 0 2px #DC2626;
        animation: orcMeetUrgent 1s ease-in-out infinite;
    }
    .orc-meet-badge.state-imminent .orc-meet-badge-cd { color: #B91C1C; }
    @keyframes orcMeetUrgent {
        0%, 100% { transform: scale(1); }
        50%      { transform: scale(1.025); }
    }
    .orc-meet-badge.state-now .orc-meet-badge-card {
        box-shadow: 0 12px 36px rgba(22,163,74,.35), 0 0 0 2px #16A34A;
    }
    .orc-meet-badge.state-now .orc-meet-badge-cd { color: #15803D; }
    .orc-meet-badge.state-past .orc-meet-badge-card { opacity: .8; }
    @media (max-width: 640px) {
        .orc-meet-badge { top: 74px; right: 12px; }
        .orc-meet-badge-card { width: 240px; }
    }

    /* [ORC-COUNTDOWN] Card de reunião do dia: borda pulsante + ícone girando devagar + countdown vivo */
    @keyframes orcCountdownPulse {
        0%, 100% { box-shadow: 0 2px 6px rgba(15,23,42,.10); }
        50%      { box-shadow: 0 4px 14px rgba(15,23,42,.18); }
    }
    @keyframes orcCountdownIcoSpin {
        0%, 100% { transform: rotate(-3deg); }
        50%      { transform: rotate(3deg); }
    }
    .orc-card-countdown.is-imminent {
        background: linear-gradient(135deg, #FEE2E2, #FECACA) !important;
        border-color: #DC2626 !important;
        animation: orcCountdownUrgentPulse 1.2s ease-in-out infinite !important;
    }
    @keyframes orcCountdownUrgentPulse {
        0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.45); }
        50%      { box-shadow: 0 0 0 8px rgba(220,38,38,0); }
    }
    .orc-card-countdown.is-now {
        background: linear-gradient(135deg, #DCFCE7, #BBF7D0) !important;
        border-color: #16A34A !important;
    }
    .orc-card-countdown.is-past {
        background: #F3F4F6 !important;
        border-color: #9CA3AF !important;
        opacity: .75;
        animation: none !important;
    }

    /* [ORC-V2-FUBAR] Grid 2-col enfileirado pros botões de follow-up dentro do card */
    .orc-card-fubar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    .orc-card-fubar .orc-iptip { display: block; width: 100%; }
    .orc-card-fubar .orc-iptip > button {
        width: 100%;
        white-space: normal;
        line-height: 1.2;
        min-height: 30px;
        padding: 5px 8px !important;
        text-align: center;
    }
    @media (max-width: 380px) {
        .orc-card-fubar { grid-template-columns: 1fr; }
    }

    /* [ORC-V2-TIP] Tooltip INSTANTÂNEO inline (zero delay) — usado nos botões de follow-up do card.
       Aparece no :hover do span wrapper. Não usa title= (evita tooltip nativo do browser que é lento + feio). */
    .orc-iptip { position: relative; display: inline-block; }
    .orc-iptip::after {
        content: attr(data-tip);
        position: absolute;
        bottom: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%) translateY(4px);
        width: max-content;
        max-width: 240px;
        padding: 8px 11px;
        background: #1B2A4A;
        color: #fff;
        font-size: 11.5px;
        font-weight: 500;
        line-height: 1.45;
        text-align: left;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(15,23,42,.20);
        opacity: 0;
        pointer-events: none;
        transition: opacity .12s ease, transform .12s ease;
        z-index: 100;
        white-space: normal;
    }
    .orc-iptip::before {
        content: '';
        position: absolute;
        bottom: calc(100% + 2px);
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: #1B2A4A;
        opacity: 0;
        pointer-events: none;
        transition: opacity .12s ease;
        z-index: 101;
    }
    .orc-iptip:hover::after,
    .orc-iptip:focus-within::after {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        transition-delay: 0s; /* zero delay: aparece imediatamente */
    }
    .orc-iptip:hover::before,
    .orc-iptip:focus-within::before {
        opacity: 1;
    }
    /* Mobile: tooltip ancora à direita pra não cortar */
    @media (max-width: 480px) {
        .orc-iptip::after { left: auto; right: 0; transform: translateY(4px); }
        .orc-iptip:hover::after, .orc-iptip:focus-within::after { transform: translateY(0); }
        .orc-iptip::before { left: auto; right: 12px; transform: none; }
    }
    /* [ORC-V2] Modal de mensagens WhatsApp — visualmente organizado em blocos */
    .orc-msg-modal { display: flex; flex-direction: column; gap: 14px; }
    .orc-msg-section-title {
        font-size: 11px; font-weight: 700; color: #374151; text-transform: uppercase; letter-spacing: .04em;
        margin-bottom: 8px;
    }
    .orc-msg-templates {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px;
        max-height: 280px; overflow-y: auto; padding: 2px;
    }
    .orc-msg-card {
        padding: 10px 12px; border: 1.5px solid #E5E7EB; border-left: 4px solid;
        border-radius: 10px; cursor: pointer; transition: transform .12s, box-shadow .12s, border-color .12s;
        background: #fff;
    }
    .orc-msg-card:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(15,23,42,.08); }
    .orc-msg-card.active { border-color: currentColor; box-shadow: 0 4px 12px rgba(15,23,42,.10); }
    .orc-msg-card-head { margin-bottom: 4px; }
    .orc-msg-card-cat {
        display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px;
        text-transform: none; letter-spacing: 0;
    }
    .orc-msg-card-title { font-size: 13px; font-weight: 700; color: #111827; line-height: 1.3; margin-bottom: 4px; }
    .orc-msg-card-snippet { font-size: 11.5px; color: #6B7280; line-height: 1.4; }
    .orc-msg-preview-wrap textarea {
        width: 100%; padding: 12px 14px; border: 1.5px solid #D1D5DB; border-radius: 10px;
        background: #F0FDF4; font-size: 13.5px; line-height: 1.55; color: #111;
        resize: vertical; font-family: inherit; outline: none; box-sizing: border-box; min-height: 120px;
    }
    .orc-msg-preview-wrap textarea:focus { border-color: #10B981; }
    /* Toggle "Personalizar este modelo" */
    .orc-msg-edit-toggle {
        display: flex; align-items: center; gap: 8px; width: 100%;
        background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 10px;
        padding: 10px 14px; font-size: 12.5px; font-weight: 600; color: #374151;
        cursor: pointer; transition: background .12s;
    }
    .orc-msg-edit-toggle:hover { background: #F3F4F6; }
    .orc-msg-edit-toggle-ic { font-size: 15px; }
    .orc-msg-edit-toggle-chev { margin-left: auto; font-size: 13px; color: #6B7280; }
    .orc-msg-editor {
        padding: 14px; background: #FAFBFC; border: 1px solid #E5E7EB; border-radius: 0 0 10px 10px;
        border-top: none; margin-top: -1px;
    }
    .orc-msg-editor-grid { display: grid; grid-template-columns: 1fr 1fr 100px; gap: 10px; }
    .orc-msg-fld-lbl {
        display: block; font-size: 10.5px; color: #6B7280; font-weight: 700;
        text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px;
    }
    .orc-msg-tokens { display: flex; flex-wrap: wrap; gap: 6px; }
    .orc-msg-editor textarea {
        width: 100%; padding: 10px 12px; border: 1.5px solid #D1D5DB; border-radius: 8px;
        font-size: 13px; line-height: 1.5; color: #111; resize: vertical; font-family: inherit;
        outline: none; box-sizing: border-box;
    }
    .orc-msg-editor-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
    @media (max-width: 640px) {
        .orc-msg-templates { grid-template-columns: 1fr; max-height: 220px; }
        .orc-msg-editor-grid { grid-template-columns: 1fr; }
        .orc-msg-send { width: 100%; margin-left: 0 !important; margin-top: 8px; }
    }
    /* [ORC-V2] Intro didática nas seções (Follow-up / Ações Práticas) e hints por botão */
    .orc-section-intro {
        font-size: 11.5px;
        color: #6B7280;
        line-height: 1.5;
        margin-bottom: 12px;
        padding: 8px 12px;
        background: #FAFBFC;
        border-left: 3px solid #E5E7EB;
        border-radius: 4px;
    }
    .orc-section-intro strong { color: var(--arqp-navy); }
    /* [ORC-V2] Grid alinhado: todos os botões no mesmo tamanho/largura no desktop */
    .orc-btn-row {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 10px;
        margin-bottom: 12px;
        align-items: stretch;
    }
    .orc-btn-with-hint {
        display: flex;
        flex-direction: column;
        position: relative;
        min-width: 0;
    }
    .orc-btn-with-hint > button {
        width: 100%;
        white-space: normal;
        line-height: 1.25;
        min-height: 36px;
        text-align: center;
    }
    /* Desktop: hint inline some — vira tooltip estilizado via :hover */
    .orc-btn-hint { display: none; }
    /* [ORC-V2-FIX] Tooltip aplicado ao WRAPPER (não ao button) — assim funciona mesmo quando o botão tem overflow:hidden (ex: .orc-premium-btn) */
    .orc-btn-with-hint:hover::after {
        content: attr(data-hint);
        position: absolute;
        bottom: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%);
        background: #1B2A4A;
        color: #fff;
        font-size: 11.5px;
        font-weight: 500;
        line-height: 1.45;
        padding: 9px 13px;
        border-radius: 10px;
        width: max-content;
        max-width: 240px;
        white-space: normal;
        text-align: left;
        box-shadow: 0 12px 28px rgba(15,23,42,.22);
        z-index: 100;
        pointer-events: none;
        animation: orcTipFade .15s ease;
    }
    .orc-btn-with-hint:hover::before {
        content: '';
        position: absolute;
        bottom: calc(100% + 4px);
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: #1B2A4A;
        z-index: 101;
        pointer-events: none;
    }
    /* Quando não tem data-hint no wrapper, não exibe tooltip */
    .orc-btn-with-hint:not([data-hint])::after,
    .orc-btn-with-hint:not([data-hint])::before { content: none !important; display: none !important; }
    @keyframes orcTipFade {
        from { opacity: 0; transform: translateX(-50%) translateY(4px); }
        to   { opacity: 1; transform: translateX(-50%) translateY(0); }
    }
    .orc-status-tab .orc-pill-ic { font-size: 13px; line-height: 1; }
    .orc-status-tab .orc-pill-cnt { opacity: 0.65; font-size: 11px; }
    .orc-search-wrap  { display: flex; gap: 10px; margin-bottom: 14px; align-items: center; }
    .orc-search-input {
        flex: 1;
        padding: 8px 14px;
        border: 1.5px solid #D1D5DB;
        border-radius: 8px;
        font-size: 13px;
        color: #111;
        outline: none;
        transition: border 0.2s;
        min-width: 0;
    }
    .orc-search-input:focus { border-color: var(--arqp-navy); }
    /* [ORC-V2] Sub-tabs row: scroll horizontal no mobile, sem quebrar linha */
    .orc-sub-tabs-row { display: flex; gap: 0; flex-wrap: wrap; }
    .orc-sub-tab-btn {
        padding: 10px 22px;
        border: none;
        background: none;
        cursor: pointer;
        font-size: 13px;
        color: #6B7280;
        font-weight: 600;
        border-bottom: 3px solid transparent;
        margin-bottom: -2px;
        transition: all 0.2s;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }
    .orc-sub-tab-btn:hover { color: var(--arqp-navy); }
    .orc-sub-tab-btn.active { color: var(--arqp-navy); font-weight: 700; border-bottom-color: var(--arqp-navy); }
    .orc-sub-tab-btn .orc-tab-ic { font-size: 14px; line-height: 1; }

    /* ── Stats KPIs ── */
    .orc-kpi-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin-bottom: 18px;
    }
    @media (max-width: 900px) { .orc-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
    .orc-kpi-box {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 12px;
        padding: 16px;
        text-align: center;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }
    .orc-kpi-num   { font-size: 32px; font-weight: 800; font-family: var(--arqp-font-display); line-height: 1; }
    .orc-kpi-label { font-size: 11px; color: #6B7280; margin-top: 4px; }
    .orc-kpi-trend { font-size: 10px; margin-top: 3px; font-weight: 600; }

    /* ── Stats Sections ── */
    .orc-section-card {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 12px;
        padding: 18px 20px;
        margin-bottom: 14px;
        box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    }
    .orc-section-title {
        font-size: 13px;
        font-weight: 700;
        color: var(--arqp-navy);
        margin: 0 0 16px;
        display: flex;
        align-items: center;
        gap: 6px;
        border-bottom: 1px solid #F3F4F6;
        padding-bottom: 10px;
    }
    .orc-bar-row {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        margin-bottom: 8px;
    }
    .orc-bar-label {
        width: 160px;
        color: #374151;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 0;
        font-size: 11px;
    }
    .orc-bar-track {
        flex: 1;
        background: #F3F4F6;
        border-radius: 6px;
        height: 22px;
        overflow: hidden;
    }
    .orc-bar-fill {
        height: 100%;
        border-radius: 6px;
        transition: width 0.8s ease;
        display: flex;
        align-items: center;
        padding: 0 8px;
        font-size: 10px;
        font-weight: 700;
        color: #fff;
        white-space: nowrap;
        min-width: 22px;
    }
    .orc-bar-val {
        min-width: 44px;
        text-align: right;
        color: var(--arqp-navy);
        font-weight: 700;
        font-size: 12px;
        flex-shrink: 0;
    }

    /* ── Funil ── */
    .orc-funil { display: flex; flex-direction: column; gap: 6px; }
    .orc-funil-step { display: flex; align-items: center; gap: 10px; }
    .orc-funil-label {
        font-size: 11px;
        font-weight: 700;
        width: 130px;
        color: #374151;
        flex-shrink: 0;
    }
    .orc-funil-bar-wrap { flex: 1; }
    .orc-funil-bar {
        height: 26px;
        border-radius: 6px;
        transition: width 0.8s;
        display: flex;
        align-items: center;
        padding: 0 10px;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        white-space: nowrap;
        min-width: 26px;
    }
    .orc-funil-count { font-size: 12px; font-weight: 700; color: var(--arqp-navy); min-width: 28px; text-align: right; flex-shrink: 0; }
    .orc-funil-pct   { font-size: 11px; color: #9CA3AF; min-width: 38px; text-align: right; flex-shrink: 0; }

    .orc-sla-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: 10px;
        font-weight: 700;
        margin-top: 8px;
        border: 1px solid transparent;
    }
    .orc-sla-chip.warning {
        background: #FEF3C7;
        color: #92400E;
        border-color: #FCD34D;
    }
    .orc-sla-chip.danger {
        background: #FEE2E2;
        color: #B91C1C;
        border-color: #FCA5A5;
    }
    .orc-mini-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 10px;
        border-radius: 999px;
        background: #F8FAFC;
        border: 1px solid #E5E7EB;
        font-size: 11px;
        font-weight: 700;
        color: #334155;
    }
    .orc-detail-grid {
   
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .orc-detail-box {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 14px;
        padding: 14px;
    }
    .orc-history-list {
        display: grid;
        gap: 10px;
        margin-top: 12px;
    }
    .orc-history-item {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding: 10px 12px;
        border-radius: 12px;
        background: #F8FAFC;
        border: 1px solid #E5E7EB;
    }
    .orc-history-icon {
        width: 32px;
        height: 32px;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border: 1px solid #E2E8F0;
        flex-shrink: 0;
    }
    .orc-history-title {
        font-size: 12px;
        font-weight: 800;
        color: var(--arqp-navy);
        margin-bottom: 3px;
    }
    .orc-history-meta {
        font-size: 11px;
        color: #64748B;
    }
    .orc-quick-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    .orc-kanban-board {
        display: grid;
        grid-template-columns: repeat(7, minmax(240px, 1fr));
        gap: 14px;
        overflow-x: auto;
        padding-bottom: 8px;
    }
    .orc-kanban-col {
        background: #F8FAFC;
        border: 1px solid #E5E7EB;
        border-radius: 16px;
        min-height: 320px;
        display: flex;
        flex-direction: column;
    }
    .orc-kanban-head {
        padding: 14px 14px 10px;
        border-bottom: 1px solid #E5E7EB;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
    .orc-kanban-title {
        font-size: 12px;
        font-weight: 800;
        color: var(--arqp-navy);
    }
    .orc-kanban-count {
        min-width: 22px;
        height: 22px;
        border-radius: 999px;
        background: #E2E8F0;
        color: #334155;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 800;
        padding: 0 8px;
    }
    .orc-kanban-body {
        display: grid;
        gap: 10px;
        padding: 12px;
    }
    .orc-kanban-card {
        background: #fff;
        border: 1px solid #E5E7EB;
        border-radius: 14px;
        padding: 12px;
        cursor: pointer;
        box-shadow: 0 1px 4px rgba(15,23,42,0.05);
        transition: transform .15s ease, box-shadow .15s ease;
    }
    .orc-kanban-card:hover {
        transform: translateY(-1px);
        box-shadow: 0 8px 20px rgba(15,23,42,0.08);
    }
    .orc-kanban-name {
        font-size: 13px;
        font-weight: 800;
        color: var(--arqp-navy);
        margin-bottom: 4px;
    }
    .orc-kanban-meta {
        font-size: 11px;
        color: #64748B;
        line-height: 1.45;
    }
    .orc-kanban-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 10px;
    }
    .orc-dashboard-alerts {
        margin-top: 18px;
        display: grid;
        gap: 10px;
    }
    .orc-dashboard-alert {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 14px;
        border-radius: 12px;
        border: 1px solid #E5E7EB;
        background: #fff;
    }

    @media (max-width: 900px) {
        .orc-detail-grid {
            grid-template-columns: 1fr;
        }
        .orc-kanban-board {
            grid-template-columns: repeat(7, 260px);
        }
    }

    .aia-grid-modo-variacao{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

@media (max-width: 420px){
    .aia-grid-modo-variacao{
        grid-template-columns:1fr;
    }
}

@media (min-width: 980px){
    .aia-grid-modo-variacao{
        grid-template-columns:1fr 1fr 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════ */
/* [ID-TT] TIME TRACKER — CSS                                     */
/* ═══════════════════════════════════════════════════════════════ */
.arqp-tt-float{position:fixed;bottom:20px;right:20px;z-index:9990;min-width:280px;max-width:380px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(27,42,74,0.18),0 2px 8px rgba(0,0,0,0.08);border:1px solid var(--arqp-border);overflow:hidden;transition:all .3s ease;font-family:var(--arqp-font-body);}
.arqp-tt-float.minimized{min-width:auto;max-width:56px;width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.arqp-tt-float.minimized .arqp-tt-float-body{display:none;}
.arqp-tt-float.minimized .arqp-tt-float-min{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:22px;}
.arqp-tt-float.hidden{display:none !important;}
.arqp-tt-float-min{display:none;}
.arqp-tt-float-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--arqp-navy);color:#fff;gap:8px;}
.arqp-tt-float-header-title{font-size:12px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;display:flex;align-items:center;gap:6px;}
.arqp-tt-float-header-actions{display:flex;gap:4px;}
.arqp-tt-float-header-actions button{background:rgba(255,255,255,0.12);border:none;color:#fff;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.arqp-tt-float-header-actions button:hover{background:rgba(255,255,255,0.25);}
.arqp-tt-float-body{padding:12px 14px 14px;}
.arqp-tt-display{text-align:center;padding:8px 0 12px;}
.arqp-tt-clock{font-size:36px;font-weight:800;font-family:'SF Mono','Fira Code',monospace;color:var(--arqp-navy);letter-spacing:2px;line-height:1;}
.arqp-tt-clock.running{color:#059669;}
.arqp-tt-clock.paused{color:#F59E0B;}
.arqp-tt-status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-top:4px;color:var(--arqp-text-muted);}
.arqp-tt-status-label.running{color:#059669;}
.arqp-tt-status-label.paused{color:#F59E0B;}
.arqp-tt-context{font-size:11px;color:var(--arqp-text-muted);margin-bottom:10px;text-align:center;line-height:1.3;}
.arqp-tt-context strong{color:var(--arqp-navy);font-weight:600;}
.arqp-tt-controls{display:flex;gap:6px;justify-content:center;}
.arqp-tt-btn{border:none;border-radius:10px;padding:8px 16px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;flex:1;justify-content:center;}
.arqp-tt-btn-play{background:#059669;color:#fff;}
.arqp-tt-btn-play:hover{background:#047857;}
.arqp-tt-btn-pause{background:#F59E0B;color:#fff;}
.arqp-tt-btn-pause:hover{background:#D97706;}
.arqp-tt-btn-stop{background:#EF4444;color:#fff;}
.arqp-tt-btn-stop:hover{background:#DC2626;}
.arqp-tt-btn-resume{background:#3B82F6;color:#fff;}
.arqp-tt-btn-resume:hover{background:#2563EB;}
.arqp-tt-idle{text-align:center;padding:6px 0;}
.arqp-tt-idle-msg{font-size:12px;color:var(--arqp-text-muted);margin-bottom:10px;}
.arqp-tt-start-form{display:flex;flex-direction:column;gap:8px;}
.arqp-tt-start-form select,.arqp-tt-start-form input{font-size:12px;padding:7px 10px;border:1px solid var(--arqp-border);border-radius:8px;background:#FAFAF8;font-family:var(--arqp-font-body);}
.arqp-tt-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#059669;animation:ttPulse 1.2s infinite;}
@keyframes ttPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(0.8);}}
/* Timer na etapa card */
.arqp-tt-etapa-timer{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#059669;font-weight:600;background:#ECFDF5;padding:2px 8px;border-radius:6px;}
.arqp-tt-etapa-timer.paused{color:#F59E0B;background:#FFFBEB;}
.arqp-tt-etapa-btn{border:none;background:none;cursor:pointer;font-size:14px;padding:2px;border-radius:4px;transition:background .2s;}
.arqp-tt-etapa-btn:hover{background:rgba(0,0,0,0.06);}
/* Página Time Tracker */
.arqp-tt-page-header{display:flex; fjustify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;}
.arqp-tt-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.arqp-tt-filters select,.arqp-tt-filters input{font-size:12px;padding:7px 10px;border:1px solid var(--arqp-border);border-radius:8px;background:#fff;}
.arqp-tt-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;}
.arqp-tt-kpi{background:#fff;border:1px solid var(--arqp-border);border-radius:12px;padding:16px;text-align:center;}
.arqp-tt-kpi-value{font-size:24px;font-weight:800;color:var(--arqp-navy);font-family:'SF Mono','Fira Code',monospace;}
.arqp-tt-kpi-label{font-size:11px;color:var(--arqp-text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}
.arqp-tt-table{width:100%;border-collapse:collapse;font-size:12px;}
.arqp-tt-table th{text-align:left;padding:10px 12px;background:#F9FAFB;border-bottom:2px solid var(--arqp-border);font-weight:700;color:var(--arqp-navy);font-size:11px;text-transform:uppercase;letter-spacing:0.3px;}
.arqp-tt-table td{padding:10px 12px;border-bottom:1px solid #F3F4F6;color:var(--arqp-text);}
.arqp-tt-table tr:hover td{background:#FAFAF8;}
.arqp-tt-bar{height:6px;border-radius:3px;background:#E5E7EB;overflow:hidden;min-width:60px;}
.arqp-tt-bar-fill{height:100%;border-radius:3px;background:var(--arqp-navy);transition:width .3s;}
.arqp-tt-section{background:#fff;border:1px solid var(--arqp-border);border-radius:14px;padding:20px;margin-bottom:16px;}
.arqp-tt-section-title{font-size:14px;font-weight:700;color:var(--arqp-navy);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
@media(max-width:768px){
    .arqp-tt-float{bottom:70px;right:10px;left:10px;min-width:auto;max-width:none;}
    .arqp-tt-float.minimized{left:auto;width:50px;height:50px;}
    .arqp-tt-kpi-row{grid-template-columns:1fr 1fr;}
    .arqp-tt-filters{flex-direction:column;width:100%;}
    .arqp-tt-filters select,.arqp-tt-filters input{width:100%;}
}

/* ═══ TIME TRACKER — DOCK FLUTUANTE ═══ */
.arqp-tt-dock {
    position:fixed;
    bottom:18px;
    left:50%;
    transform:translateX(-50%);
    z-index:9990;
    background:linear-gradient(135deg,#1B2A4A 0%,#2C3E6B 100%);
    border-radius:20px;
    padding:0;
    box-shadow:0 12px 40px rgba(27,42,74,0.35);
    border:1px solid rgba(212,175,55,0.15);
    display:none;
    min-width:320px;
    max-width:calc(100vw - 32px);
    overflow:hidden;
    transition:all .3s ease;
}
.arqp-tt-dock.active { display:block; }
.arqp-tt-dock-main {
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
}
.arqp-tt-dock-timer {
    font-size:22px;
    font-weight:800;
    color:#fff;
    font-family:'DM Sans',monospace;
    letter-spacing:1px;
    min-width:90px;
    text-align:center;
}
.arqp-tt-dock-info {
    flex:1;
    min-width:0;
}
.arqp-tt-dock-projeto {
    font-size:11px;
    color:rgba(255,255,255,0.5);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.arqp-tt-dock-desc {
    font-size:12px;
    color:rgba(255,255,255,0.85);
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:180px;
}
.arqp-tt-dock-btns {
    display:flex;
    gap:6px;
    align-items:center;
}
.arqp-tt-dock-btn {
    width:34px;
    height:34px;
    border-radius:50%;
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    transition:all .2s;
    flex-shrink:0;
}
.arqp-tt-dock-btn.play { background:#059669;color:#fff; }
.arqp-tt-dock-btn.play:hover { background:#047857; }
.arqp-tt-dock-btn.pause { background:#F59E0B;color:#fff; }
.arqp-tt-dock-btn.pause:hover { background:#D97706; }
.arqp-tt-dock-btn.stop { background:#DC2626;color:#fff; }
.arqp-tt-dock-btn.stop:hover { background:#B91C1C; }
.arqp-tt-dock-status {
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    padding:2px 8px;
    border-radius:8px;
    flex-shrink:0;
}
.arqp-tt-dock-status.running { background:rgba(5,150,105,0.2);color:#34D399; }
.arqp-tt-dock-status.paused { background:rgba(245,158,11,0.2);color:#FBBF24; }

/* ═══ TIME TRACKER — BOTÃO INICIAR RÁPIDO ═══ */
.arqp-tt-fab {
    position:fixed;
    bottom:18px;
    right:22px;
    z-index:9989;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg,#059669,#047857);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgba(5,150,105,0.35);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-tt-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(5,150,105,0.45); }
.arqp-tt-fab.hidden { display:none; }

/* ═══ [FEEDBACK-V1] FAB universal de Feedback (bugs/melhorias/insights) ═══ */
.arqp-feedback-fab {
    position:fixed;
    bottom:324px;
    right:22px;
    z-index:9989;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg,#8B5CF6,#6366F1);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgba(124,58,237,0.40);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-feedback-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(124,58,237,0.55); }
.arqp-feedback-fab.hidden { display:none; }
.arqp-feedback-fab .arqp-fab-svg { color:#fff; }

/* ════ [V16·FABS] Toggle "…" + transições dos secundários ═══════════════ */
.arqp-fab-toggle {
    /* [V18·FABS-FINAL] Master ⋯ no fundo (bottom:18). Rec primário fica acima (bottom:69).
       JS sobrescreve via _layoutFabsStack. CSS default evita flash de posição errada. */
    position:fixed !important; right:22px !important; bottom:18px;
    /* z-index 9995 fica acima da sidebar admin (z-index típico 100-1000) mas abaixo de modais (99990+) */
    z-index:9995;
    width:42px; height:42px; border-radius:50%;
    background:linear-gradient(135deg,#1F2937,#0F172A);
    color:#fff; border:3px solid rgba(255,255,255,0.15);
    cursor:pointer;
    display:flex !important; align-items:center; justify-content:center;
    box-shadow:0 8px 28px rgba(15,23,42,0.45);
    transition: bottom .25s ease, transform .15s ease, box-shadow .2s ease;
    padding:0;
}
.arqp-fab-toggle:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(15,23,42,0.55); }
.arqp-fab-toggle .dots {
    font-size:24px; line-height:1; font-weight:900; letter-spacing:1px;
    transform-origin:center; transition: transform .25s ease;
    display:inline-block;
}
body.arqp-fabs-expanded .arqp-fab-toggle .dots { transform:rotate(90deg) scale(1.05); }
body.arqp-fabs-expanded .arqp-fab-toggle {
    background:linear-gradient(135deg,#EF4444,#DC2626);
}
.arqp-fab-toggle .badge {
    position:absolute; top:-4px; right:-4px;
    background:#EF4444; color:#fff;
    border-radius:99px; padding:1px 6px;
    font-size:10px; font-weight:800; line-height:14px;
    border:2px solid #fff;
    display:none; min-width:18px; text-align:center;
}

/* Secundários: animação de aparecer/sumir conforme body.arqp-fabs-expanded */
[data-fab-key].arqp-fab-secondary {
    transition: bottom .25s ease, opacity .22s ease, transform .22s ease;
}
body:not(.arqp-fabs-expanded) [data-fab-key].arqp-fab-secondary {
    opacity:0; pointer-events:none; transform:translateX(28px) scale(.9);
}
body.arqp-fabs-expanded [data-fab-key].arqp-fab-secondary {
    opacity:1; pointer-events:auto; transform:translateX(0) scale(1);
}

/* Mobile: mesmo comportamento, só ajusta o offset lateral */
@media (max-width: 640px) {
    .arqp-fab-toggle { right:14px; width:44px; height:44px; }
}

/* ════ [V16·FABS] Painel Personalizar → FABs (drag-and-drop rows) ═════ */
.arqp-fabprefs-rows { display:flex; flex-direction:column; gap:6px; }
.arqp-fabprefs-row {
    display:flex; align-items:center; gap:10px;
    padding:8px 10px;
    background:#fff; border:1px solid #E2E8F0; border-radius:8px;
    font-size:13px; color:#1E293B;
    cursor:grab;
    transition: background .15s, border-color .15s, transform .15s, box-shadow .15s;
}
.arqp-fabprefs-row:hover { background:#F8FAFC; border-color:#CBD5E1; }
.arqp-fabprefs-row.dragging { opacity:.55; transform:scale(.98); box-shadow:0 4px 14px rgba(15,23,42,.15); cursor:grabbing; }
.arqp-fabprefs-row .grip { color:#94A3B8; font-weight:900; letter-spacing:-2px; user-select:none; }
.arqp-fabprefs-row .ico { font-size:16px; width:22px; text-align:center; }
.arqp-fabprefs-row .lbl { flex:1; font-weight:600; }
.arqp-fabprefs-row .star, .arqp-fabprefs-row .x, .arqp-fabprefs-row .restore {
    background:transparent; border:1px solid transparent; border-radius:6px;
    padding:4px 8px; font-size:14px; cursor:pointer; line-height:1;
}
.arqp-fabprefs-row .star:hover  { background:#FEF3C7; }
.arqp-fabprefs-row .star.is-on  { color:#D97706; background:#FFFBEB; border-color:#FCD34D; font-weight:800; }
.arqp-fabprefs-row .x:hover     { background:#FEE2E2; color:#B91C1C; }
.arqp-fabprefs-row .restore:hover { background:#DCFCE7; color:#15803D; }
.arqp-fabprefs-row.is-hidden { background:#F1F5F9; cursor:default; }

.arqp-fabprefs-hidden-block { margin-top:12px; padding-top:10px; border-top:1px dashed #CBD5E1; }
.arqp-fabprefs-hidden-title { font-size:11px; color:#64748B; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; }
.arqp-fabprefs-warn {
    margin-top:10px; padding:8px 10px;
    background:#FFFBEB; border:1px solid #FCD34D; border-radius:8px;
    font-size:12px; color:#92400E;
}

/* Botão pequeno do header pra admin abrir lista de feedbacks */
.arqp-feedback-admin-btn {
    position:relative;
    background:rgba(99,102,241,0.10);
    border:1px solid rgba(99,102,241,0.25);
    color:#4338CA;
    border-radius:8px;
    padding:6px 10px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    display:none;
    align-items:center;
    gap:6px;
    transition:all .15s;
}
.arqp-feedback-admin-btn:hover { background:rgba(99,102,241,0.18); border-color:rgba(99,102,241,0.45); }
.arqp-feedback-admin-btn.is-visible { display:inline-flex; }
.arqp-feedback-admin-btn .arqp-fb-badge {
    background:#EF4444; color:#fff; font-size:10px; font-weight:800;
    border-radius:9px; padding:0 6px; min-width:16px; text-align:center;
    display:inline-block;
}
.arqp-feedback-admin-btn .arqp-fb-badge:empty { display:none; }

/* ═══ [FEEDBACK-V1] Wizard modal estilizado ═══ */
.arqp-fb-modal-bg {
    position:fixed; inset:0; background:rgba(15,23,42,.55);
    z-index:99990; display:none; align-items:flex-start; justify-content:center;
    padding:5vh 16px; overflow-y:auto;
}
.arqp-fb-modal-bg.is-open { display:flex; }
.arqp-fb-modal {
    background:#fff; border-radius:14px; width:100%; max-width:560px;
    box-shadow:0 25px 60px rgba(0,0,0,.25); overflow:hidden;
    animation: arqpFbSlide .25s ease;
}
@keyframes arqpFbSlide { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.arqp-fb-modal-head {
    background:linear-gradient(135deg,#6366F1,#8B5CF6);
    color:#fff; padding:18px 22px; display:flex; align-items:center; justify-content:space-between;
}
.arqp-fb-modal-head h3 { margin:0; font-size:17px; font-weight:700; }
.arqp-fb-modal-head .arqp-fb-step { font-size:12px; opacity:.85; }
.arqp-fb-modal-close {
    background:none; border:none; color:#fff; font-size:22px; cursor:pointer; padding:0; line-height:1;
}
.arqp-fb-modal-body { padding:22px; }
.arqp-fb-modal-foot {
    padding:14px 22px; border-top:1px solid #F1F5F9;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.arqp-fb-btn {
    border:none; border-radius:8px; padding:10px 18px; font-size:14px; font-weight:700;
    cursor:pointer; transition:all .15s;
}
.arqp-fb-btn-primary { background:#6366F1; color:#fff; }
.arqp-fb-btn-primary:hover { background:#4F46E5; }
.arqp-fb-btn-primary:disabled { background:#CBD5E1; cursor:not-allowed; }
.arqp-fb-btn-ghost { background:#F1F5F9; color:#475569; }
.arqp-fb-btn-ghost:hover { background:#E2E8F0; }

.arqp-fb-tipo-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:18px; }
.arqp-fb-tipo-card {
    background:#F9FAFB; border:2px solid transparent; border-radius:10px;
    padding:14px 10px; text-align:center; cursor:pointer; transition:all .15s;
}
.arqp-fb-tipo-card:hover { background:#EEF2FF; }
.arqp-fb-tipo-card.is-selected { background:#EEF2FF; border-color:#6366F1; }
.arqp-fb-tipo-card .arqp-fb-tipo-emoji { font-size:24px; display:block; margin-bottom:6px; }
.arqp-fb-tipo-card .arqp-fb-tipo-label { font-size:13px; font-weight:600; color:#1F2937; }

.arqp-fb-field { margin-bottom:14px; }
.arqp-fb-field label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.arqp-fb-field input[type=text],
.arqp-fb-field select,
.arqp-fb-field textarea {
    width:100%; padding:10px 12px; border:1px solid #D1D5DB; border-radius:8px;
    font-size:14px; font-family:inherit; box-sizing:border-box;
}
.arqp-fb-field textarea { min-height:120px; resize:vertical; }
.arqp-fb-field input:focus, .arqp-fb-field select:focus, .arqp-fb-field textarea:focus {
    outline:none; border-color:#6366F1; box-shadow:0 0 0 3px rgba(99,102,241,.15);
}

.arqp-fb-anexo-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.arqp-fb-anexo-btn {
    flex:1; min-width:120px;
    background:#F9FAFB; border:1.5px dashed #CBD5E1; border-radius:10px;
    padding:14px 12px; cursor:pointer; text-align:center; transition:all .15s;
    font-size:13px; font-weight:600; color:#475569;
}
.arqp-fb-anexo-btn:hover { background:#EEF2FF; border-color:#6366F1; color:#4338CA; }
.arqp-fb-anexo-btn .arqp-fb-anexo-emoji { font-size:22px; display:block; margin-bottom:4px; }
.arqp-fb-anexo-btn input[type=file] { display:none; }
.arqp-fb-anexo-btn.is-recording { background:#FEF2F2; border-color:#EF4444; color:#B91C1C; }

.arqp-fb-anexo-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.arqp-fb-anexo-chip {
    display:inline-flex; align-items:center; gap:6px;
    background:#EEF2FF; color:#4338CA; padding:6px 10px; border-radius:20px;
    font-size:12px; font-weight:600;
}
.arqp-fb-anexo-chip button {
    background:none; border:none; color:#4338CA; font-size:14px; cursor:pointer; padding:0;
    margin-left:2px;
}
.arqp-fb-anexo-chip.is-uploading { background:#FEF3C7; color:#92400E; }

/* Painel admin (modal full-width) */
.arqp-fb-admin-modal {
    background:#fff; border-radius:14px; width:100%; max-width:1000px;
    max-height:90vh; display:flex; flex-direction:column; overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
}
.arqp-fb-admin-filters {
    padding:14px 22px; border-bottom:1px solid #F1F5F9;
    display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.arqp-fb-admin-filters select, .arqp-fb-admin-filters input {
    padding:8px 12px; border:1px solid #D1D5DB; border-radius:8px; font-size:13px;
}
.arqp-fb-admin-list { padding:14px 22px; overflow-y:auto; flex:1; }
.arqp-fb-card {
    background:#fff; border:1px solid #E5E7EB; border-radius:10px; padding:14px 16px;
    margin-bottom:10px; transition:all .15s;
}
.arqp-fb-card:hover { border-color:#A5B4FC; box-shadow:0 4px 12px rgba(99,102,241,.08); }
.arqp-fb-card.is-realizado { background:#F0FDF4; border-color:#86EFAC; }
.arqp-fb-card.is-rejeitado { background:#FEF2F2; border-color:#FECACA; opacity:.75; }
.arqp-fb-card-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.arqp-fb-card-tipo { background:#EEF2FF; color:#4338CA; padding:3px 9px; border-radius:6px; font-size:11px; font-weight:700; }
.arqp-fb-card-tipo[data-tipo="bug"] { background:#FEE2E2; color:#B91C1C; }
.arqp-fb-card-tipo[data-tipo="melhoria"] { background:#DBEAFE; color:#1E40AF; }
.arqp-fb-card-tipo[data-tipo="insight"] { background:#FEF3C7; color:#92400E; }
.arqp-fb-card-tipo[data-tipo="feature"] { background:#D1FAE5; color:#065F46; }
.arqp-fb-card-tipo[data-tipo="duvida"] { background:#E0E7FF; color:#3730A3; }
.arqp-fb-card-titulo { font-size:14px; font-weight:700; color:#1F2937; flex:1; min-width:200px; }
.arqp-fb-card-meta { font-size:11px; color:#9CA3AF; }
.arqp-fb-card-body { margin-top:10px; padding-top:10px; border-top:1px dashed #E5E7EB; display:none; }
.arqp-fb-card.is-open .arqp-fb-card-body { display:block; }
.arqp-fb-card-desc { font-size:13px; color:#374151; white-space:pre-wrap; margin-bottom:10px; }
.arqp-fb-card-anexos { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.arqp-fb-card-anexos a, .arqp-fb-card-anexos img, .arqp-fb-card-anexos video, .arqp-fb-card-anexos audio {
    max-width:200px; max-height:160px; border-radius:6px; display:block;
}
.arqp-fb-card-status-row { display:flex; gap:10px; align-items:center; margin-top:10px; flex-wrap:wrap; }
.arqp-fb-card-status-row select { padding:6px 10px; border:1px solid #D1D5DB; border-radius:6px; font-size:12px; }
.arqp-fb-card-resp { width:100%; min-height:60px; border:1px solid #E5E7EB; border-radius:6px; padding:8px; font-size:12px; font-family:inherit; margin-top:8px; }

/* ═══ [FAB-ICO] Ícones SVG hard-coded dos FABs — override do img.emoji do WP que limita a 1em ═══ */
.arqp-fab-ico {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    vertical-align: middle !important;
    pointer-events: none;
}
@media (max-width: 768px) {
    .arqp-fab-ico { width: 24px !important; height: 24px !important; }
}
@media (max-width: 380px) {
    .arqp-fab-ico { width: 22px !important; height: 22px !important; }
}
/* [FAB-V2] SVG inline nos FABs — herda cor de var(--arqp-navy) por padrão.
   Timer (fundo verde) e quaisquer FAB com fundo escuro recebem a variante white. */
.arqp-fab-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--arqp-navy);
    line-height: 0;
    pointer-events: none;
}
.arqp-fab-svg .arqp-nav-svg,
.arqp-fab-svg svg {
    color: inherit;
    stroke: currentColor;
    width: 22px;
    height: 22px;
}
.arqp-fab-svg-white { color: #fff; }
@media (max-width: 768px) {
    .arqp-fab-svg .arqp-nav-svg,
    .arqp-fab-svg svg { width: 24px; height: 24px; }
}

/* [FAB-ATTN] Microanimações eventuais nos FABs — disparam por poucos segundos a cada N segundos.
   Cada FAB tem duração e delay diferentes pra elas nunca acontecerem ao mesmo tempo
   (sem sincronia → sensação orgânica, não "tudo piscando junto"). */
.arqp-fab-attn {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    line-height: 1;
    font-weight: 800;
    z-index: 2;
}

/* Task FAB — "+1" sobe e desaparece (período total: 17s, visível ~1.4s) */
.arqp-fab-attn-task {
    top: 4px;
    right: 0;
    font-size: 12px;
    color: #047857;
    text-shadow: 0 1px 2px rgba(255,255,255,.85);
    animation: fabAttnTask 17s ease-out infinite;
    animation-delay: 3s;
}
@keyframes fabAttnTask {
    0%, 90%, 100% { opacity: 0; transform: translateY(0) scale(.8); }
    91%           { opacity: 1; transform: translateY(0) scale(1); }
    99%           { opacity: 0; transform: translateY(-22px) scale(.9); }
}

/* Agenda FAB — sol giratório com brilho (período 23s, visível ~1.8s) */
.arqp-fab-attn-sun {
    top: -3px;
    right: -3px;
    color: #F59E0B;
    filter: drop-shadow(0 0 4px rgba(245,158,11,.5));
    animation: fabAttnSun 23s ease-in-out infinite;
    animation-delay: 8s;
}
.arqp-fab-attn-sun svg { display: block; }
@keyframes fabAttnSun {
    0%, 91%, 100% { opacity: 0; transform: scale(.5) rotate(0deg); }
    92.5%         { opacity: 1; transform: scale(1.1) rotate(45deg); }
    96%           { opacity: 1; transform: scale(1) rotate(180deg); }
    98.5%         { opacity: 0; transform: scale(.9) rotate(270deg); }
}

/* Agente IA FAB — raio que pisca rápido (período 19s, visível ~0.8s, dois flashes) */
.arqp-fab-attn-bolt {
    top: 0;
    right: -2px;
    color: #FACC15;
    filter: drop-shadow(0 0 5px rgba(250,204,21,.7));
    animation: fabAttnBolt 19s ease-in-out infinite;
    animation-delay: 14s;
}
.arqp-fab-attn-bolt svg { display: block; }
@keyframes fabAttnBolt {
    0%, 91%, 94%, 96.5%, 100% { opacity: 0; transform: scale(.6) rotate(-8deg); }
    92%, 95%                  { opacity: 1; transform: scale(1.15) rotate(8deg); }
    93%                       { opacity: .2; transform: scale(.9) rotate(-4deg); }
}

/* Calc FAB — cifrão "$" piscando dourado (período 21s, visível ~1.2s) */
.arqp-fab-attn-coin {
    top: 4px;
    right: 2px;
    font-size: 13px;
    color: var(--arqp-gold);
    text-shadow: 0 0 6px rgba(212,175,55,.55), 0 1px 2px rgba(255,255,255,.7);
    animation: fabAttnCoin 21s ease-in-out infinite;
    animation-delay: 19s;
}
@keyframes fabAttnCoin {
    0%, 91%, 100% { opacity: 0; transform: translateY(0) scale(.7); }
    92.5%         { opacity: 1; transform: translateY(0) scale(1.2); }
    96%           { opacity: .85; transform: translateY(-3px) scale(1); }
    98.5%         { opacity: 0; transform: translateY(-10px) scale(.85); }
}

/* Time Tracker FAB — bolinha vermelha de "REC" (período 25s, visível ~2.4s, três flashes) */
.arqp-fab-attn-rec {
    top: 6px;
    right: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EF4444;
    box-shadow: 0 0 0 0 rgba(239,68,68,0);
    animation: fabAttnRec 25s linear infinite;
    animation-delay: 24s;
}
@keyframes fabAttnRec {
    0%, 88%, 89.5%, 91%, 92.5%, 94%, 95.5%, 100% { opacity: 0; box-shadow: 0 0 0 0 rgba(239,68,68,0); }
    88.7%, 90.2%, 91.7%, 93.2%, 94.7%            { opacity: 1; box-shadow: 0 0 0 4px rgba(239,68,68,.35); }
}

/* Pausa em hover: ao mirar o FAB, animação para (UX: "se o usuário já viu, não distraí mais") */
.arqp-task-fab:hover .arqp-fab-attn,
.arqp-agenda-fab:hover .arqp-fab-attn,
.arqp-aia-fab:hover .arqp-fab-attn,
.arqp-calc-fab:hover .arqp-fab-attn,
.arqp-tt-fab:hover .arqp-fab-attn { animation-play-state: paused; opacity: 0; }

/* Mobile: anima nos mesmos timings (positions ajustam automaticamente via vw) */
@media (max-width: 768px) {
    .arqp-fab-attn-sun svg,
    .arqp-fab-attn-bolt svg { width: 13px; height: 13px; }
    .arqp-fab-attn-task,
    .arqp-fab-attn-coin { font-size: 11px; }
}

/* [HELP-FAB] Lifebuoy vermelho + badge "?" pulsante — chama atenção pra ajuda */
.arqp-help-fab-svg { color: #DC2626 !important; }
.arqp-help-fab-svg svg { animation: arqpHelpWobble 3.2s ease-in-out infinite; transform-origin: center; }
.arqp-help-fab-q {
    position: absolute;
    top: -7px;
    right: -8px;
    min-width: 16px;
    height: 16px;
    background: #DC2626;
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
    padding: 0 4px;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(220,38,38,0.45);
    font-family: var(--arqp-font-display, system-ui), serif;
    animation: arqpHelpPulse 1.6s ease-in-out infinite;
}
@keyframes arqpHelpPulse {
    0%, 100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(220,38,38,0.55), 0 2px 6px rgba(220,38,38,0.45); }
    50%      { transform: scale(1.18); box-shadow: 0 0 0 6px rgba(220,38,38,0),    0 2px 6px rgba(220,38,38,0.45); }
}
@keyframes arqpHelpWobble {
    0%, 92%, 100% { transform: rotate(0deg); }
    94%           { transform: rotate(-12deg); }
    96%           { transform: rotate(10deg); }
    98%           { transform: rotate(-6deg); }
}
[id$="HelpFab"]:hover .arqp-help-fab-svg svg,
.arqp-help-fab:hover .arqp-help-fab-svg svg,
.arqp-projetos-help-fab:hover .arqp-help-fab-svg svg {
    animation-duration: 1s;
}

/* ═══ [AIA-WIZ-NAV] Em telas muito pequenas, navegação do wizard vira coluna com Próximo no TOPO ═══ */
@media (max-width: 480px) {
    .aia-wiz-nav { flex-direction: column !important; align-items: stretch !important; }
    .aia-wiz-nav .aia-wiz-nav-left,
    .aia-wiz-nav .aia-wiz-nav-right { width: 100% !important; margin-left: 0 !important; }
    /* Inverte ordem: "Próximo" (right) acima, "Anterior + Reiniciar" (left) abaixo */
    .aia-wiz-nav .aia-wiz-nav-right { order: 0; align-items: stretch !important; }
    .aia-wiz-nav .aia-wiz-nav-left  { order: 1; justify-content: space-between; }
    .aia-wiz-nav .aia-wiz-nav-right > button { width: 100%; justify-content: center; text-align: center; padding: 12px 20px !important; font-size: 14px !important; }
}

/* ═══ [AIA-MOBILE-FOCUS] Esconde FABs/extras quando wizard do Agente IA está ativo no mobile ═══ */
@media (max-width: 768px) {
    body.aia-wizard-active .arqp-task-fab,
    body.aia-wizard-active .arqp-agenda-fab,
    body.aia-wizard-active .arqp-calc-fab,
    body.aia-wizard-active .arqp-tt-fab,
    body.aia-wizard-active .arqp-aia-fab,
    body.aia-wizard-active .arqp-projetos-help-fab,
    body.aia-wizard-active #arqpAdminInstallDock,
    body.aia-wizard-active .arqp-tt-float { display:none !important; }
}

/* ═══ TASK FAB ═══ */
.arqp-task-fab {
    position:fixed;
    bottom:171px;
    right:22px;
    z-index:9987;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #fff7e8, #fefcfb);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgb(51 50 47 / 38%);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-task-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(124,58,237,0.5); }
.arqp-task-fab.hidden { display:none; }

/* ═══ [MENU-V8·FAB-RHOP] FAB Reportar (canteiro) — participa do stack right (igual outros FABs)
   com COR COR-DISTINTIVA (coral/vermelho) e ÍCONE distintivo. Posicionamento bottom dinâmico via
   _layoutFabsStack (sobrescreve o bottom abaixo). bottom:120px é FALLBACK caso layoutFabsStack
   não rode ainda (ex: page load inicial antes do JS) — garante que FAB nunca fica acima do viewport. */
.arqp-rhop-fab {
    position:fixed;
    bottom:120px;
    right:22px;
    z-index:9987;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #DC2626, #B91C1C);
    color:#fff;
    border:3px solid rgba(255,255,255,0.20);
    box-shadow:0 8px 28px rgba(220,38,38,0.45);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-rhop-fab .arqp-fab-svg svg { stroke:#fff; }
.arqp-rhop-fab .arqp-fab-attn {
    background:#fff !important;
    color:#DC2626 !important;
    font-size:9px !important;
    padding:1px 4px !important;
    border-radius:3px !important;
    font-weight:800 !important;
    letter-spacing:.5px;
}
.arqp-rhop-fab:hover {
    transform:scale(1.08);
    box-shadow:0 12px 36px rgba(220,38,38,0.6);
}
.arqp-rhop-fab.hidden { display:none; }

/* ═══ [AG-V2] AGENDA — FAB global (entre Task e Tutorial) ═══ */
.arqp-agenda-fab {
    position:fixed;
    bottom:222px;
    right:22px;
    z-index:9988;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #fff7e8, #fefcfb);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgb(51 50 47 / 38%);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-agenda-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(14,165,233,0.5); }
.arqp-agenda-fab.hidden { display:none; }

/* [REC-FAB-V3] FAB bottom-right (mesma altura dos outros FABs) — não expande quando gravando.
   Indicação visual de "gravando" vai pra .arqp-rec-top-pill no topo da tela. */
.arqp-rec-fab {
    position:fixed;
    bottom:273px;
    right:22px;
    z-index:9988;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #ef4444, #dc2626);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgba(220,38,38,0.45);
    cursor:pointer;
    font-size:14px;
    font-weight:700;
    font-variant-numeric: tabular-nums;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0;
    white-space:nowrap;
    transition: box-shadow .25s ease, transform .15s ease;
}
.arqp-rec-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(220,38,38,0.6); }
.arqp-rec-fab.hidden { display:none; }
.arqp-rec-fab .arqp-fab-svg, .arqp-rec-fab .arqp-fab-svg svg { color:#fff !important; }
.arqp-rec-fab .arqp-rec-timer { display:none; }
.arqp-rec-fab .arqp-rec-stop  { display:none; }
/* [REC-FAB-V5] FAB NUNCA expande — só pulsa vermelho mais intenso quando gravando.
   Timer + Stop ficam na .arqp-rec-bottom-bar (pílula DARK separada, fixed bottom centered). */
.arqp-rec-fab.is-recording {
    animation: arqpRecBgPulse 1.6s ease-in-out infinite;
}
.arqp-rec-fab.is-recording .arqp-rec-timer,
.arqp-rec-fab.is-recording .arqp-rec-stop { display:none; }
.arqp-fab-attn-rec-dot {
    position:absolute; top:-2px; right:-2px;
    width:9px; height:9px; border-radius:50%;
    background:#fff;
    box-shadow: 0 0 0 2px #dc2626;
    animation: arqpRecPulse 1.2s infinite;
}
@keyframes arqpRecPulse {
    0%,100% { transform: scale(1); opacity: 1; }
    50%     { transform: scale(1.4); opacity: 0.5; }
}
@keyframes arqpRecBgPulse {
    0%,100% { box-shadow: 0 8px 28px rgba(220,38,38,0.55); }
    50%     { box-shadow: 0 8px 36px rgba(220,38,38,0.85), 0 0 0 6px rgba(220,38,38,0.2); }
}
@media (max-width: 640px) {
    .arqp-rec-fab { bottom:320px; right:14px; width:44px; height:44px; font-size:22px; }
}

/* [REC-FAB-V5] Barra DARK no BOTTOM CENTERED — só visível durante recording.
   Funciona em desktop e mobile (não conflita com FABs do canto direito). */
.arqp-rec-bottom-bar {
    position:fixed;
    bottom:90px;
    left:50%;
    transform:translateX(-50%);
    z-index:2147483646;
    pointer-events:auto;
    display:none;
    align-items:center;
    gap:12px;
    padding:10px 16px;
    border-radius:24px;
    background:linear-gradient(135deg, #0F172A, #1E293B);
    color:#fff;
    font-family:Menlo,Monaco,monospace;
    font-size:14px;
    font-weight:700;
    letter-spacing:.5px;
    border:2px solid rgba(239,68,68,0.5);
    box-shadow:0 8px 28px rgba(15,23,42,0.55), 0 0 0 0 rgba(239,68,68,0.35);
    animation:arqpRecBottomGlow 1.4s ease-in-out infinite;
    user-select:none;
}
.arqp-rec-bottom-bar.is-on { display:inline-flex; }
.arqp-rec-bottom-bar .arqp-rec-bb-dot {
    width:10px; height:10px; border-radius:50%;
    background:#ef4444;
    box-shadow:0 0 0 0 rgba(239,68,68,.7);
    animation:arqpRecPulse 1s infinite;
    flex-shrink:0;
}
.arqp-rec-bottom-bar .arqp-rec-bb-label {
    color:#fca5a5; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
}
.arqp-rec-bottom-bar .arqp-rec-bb-timer {
    color:#fff; font-variant-numeric:tabular-nums; min-width:68px; text-align:center;
}
.arqp-rec-bottom-bar .arqp-rec-bb-stop {
    display:inline-flex; align-items:center; justify-content:center;
    pointer-events:auto; position:relative; z-index:1;
    width:30px; height:30px; border-radius:8px;
    background:#ef4444; color:#fff; font-weight:900; font-size:14px;
    border:none; cursor:pointer; flex-shrink:0;
    transition:background .15s ease, transform .15s ease;
}
.arqp-rec-bottom-bar .arqp-rec-bb-stop:hover { background:#dc2626; transform:scale(1.08); }
@keyframes arqpRecBottomGlow {
    0%,100% { box-shadow:0 8px 28px rgba(15,23,42,0.55), 0 0 0 0 rgba(239,68,68,0.35); }
    50%     { box-shadow:0 10px 36px rgba(15,23,42,0.70), 0 0 0 8px rgba(239,68,68,0.18); }
}
@media (max-width: 640px) {
    .arqp-rec-bottom-bar { bottom:14px; padding:8px 14px; font-size:13px; gap:10px; }
    .arqp-rec-bottom-bar .arqp-rec-bb-stop { width:28px; height:28px; }
}
.arqp-agenda-fab-badge {
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:18px;
    height:18px;
    background:#EF4444;
    color:#fff;
    border-radius:10px;
    font-size:10px;
    font-weight:800;
    line-height:18px;
    text-align:center;
    padding:0 4px;
    border:2px solid #fff;
    display:none;
    pointer-events:none;
    animation:arqpBadgePulse 1.4s ease-in-out infinite;
}
@keyframes arqpBadgePulse {
    0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(239,68,68,.6); }
    50%      { transform:scale(1.18); box-shadow:0 0 0 5px rgba(239,68,68,0); }
}

/* ═══ AGENTE IA — FAB ═══ */
.arqp-aia-fab {
    position:fixed;
    bottom:120px;
    right:22px;
    z-index:9988;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #fff7e8, #fefcfb);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgb(51 50 47 / 38%);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-aia-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(124,58,237,0.5); }
.arqp-aia-fab.hidden { display:none; }

/* ═══ [TUT-FIX] Tutorial FABs sempre acima dos demais ═══
   Ordem visual (topo→base): AGENDA → TASK → AIA → CALC → TT
   Stack PC (42x42, bottom em px): TT 18 → CALC 69 → AIA 120 → TASK 171 → AGENDA 222 → TUTORIAL 273
   Stack mobile:                    TT 12 → CALC 70 → AIA 128 → TASK 192 → AGENDA 256 → TUTORIAL bottom-left */
/* [TUT-HEADER·V1] FABs de tutorial foram substituídos por botão no header de cada área.
   Mantendo display:none aqui pra eliminar visualmente qualquer FAB legado (areas que ainda
   renderizam o markup antigo) sem ter que caçar cada render function. Botão de "📖 Tutorial"
   agora vive nos toolbars das áreas (Projetos, Financeiro, Tasks, Diário, etc). */
[id$="HelpFab"], .arqp-help-fab, .arqp-projetos-help-fab, #wa-tut-fab {
    display: none !important;
}
@media (max-width: 640px) {
    .arqp-agenda-fab { bottom:226px; right:14px; width:44px; height:44px; font-size:22px; }
    .arqp-aia-fab    { bottom:118px; right:14px; width:44px; height:44px; font-size:22px; }
}

/* ═══ CALCULADORA FAB ═══ */
.arqp-calc-fab {
    position:fixed;
    bottom:69px;
    right:22px;
    z-index:9988;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg, #fff7e8, #fefcfb);
    color:#fff;
    border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgb(51 50 47 / 38%);
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:all .2s;
}
.arqp-calc-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(37,99,235,0.45); }
.arqp-calc-fab.hidden { display:none; }

/* [V19·FABS] FAB Pedir Cotação — persistente junto com Rec e Financeiro.
   Mesma identidade visual da .arqp-calc-fab (background neutro, ícone SVG) — não destoa da pilha. */
.arqp-creq-fab {
    position:fixed; bottom:120px; right:22px; z-index:9988;
    width:42px; height:42px; border-radius:50%;
    background:linear-gradient(135deg,#fff7e8,#fefcfb);
    color:#7C2D12; border:3px solid rgba(255,255,255,0.15);
    box-shadow:0 8px 28px rgb(51 50 47 / 38%);
    cursor:pointer; font-size:18px;
    display:flex; align-items:center; justify-content:center;
    transition:all .2s;
}
.arqp-creq-fab:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(217,119,6,0.35); }
.arqp-creq-fab.hidden { display:none; }
/* [V19·FABS] Cor marrom/âmbar do ícone — usa !important pra ganhar do .arqp-fab-svg{color:var(--arqp-navy)} */
.arqp-creq-fab .arqp-fab-svg,
.arqp-creq-fab .arqp-fab-svg svg,
.arqp-creq-fab .arqp-fab-svg .arqp-nav-svg { color:#92400E !important; stroke:#92400E !important; }
/* [CIL-001] Pulso laranja do item "Lançar com Claude" no FAB */
@keyframes cilPulseFab { 0%,100%{box-shadow:0 0 0 0 rgba(194,65,12,.40);} 50%{box-shadow:0 0 0 6px rgba(194,65,12,0);} }
.cil-fab-claude:hover { transform:translateY(-1px); }

/* ═══ CALCULADORA — WIZARD POPUP ═══ */
.arqp-calc-wizard {
    position:fixed;
    bottom:148px;
    right:18px;
    z-index:9997;
    width:240px;
    background:#fff;
    border-radius:16px;
    box-shadow:0 8px 32px rgba(27,42,74,0.18),0 2px 8px rgba(0,0,0,0.08);
    border:1px solid var(--arqp-border);
    overflow:hidden;
    display:none;
    animation:arqpCalcFadeIn .18s ease;
}
.arqp-calc-wizard.open { display:block; }
@keyframes arqpCalcFadeIn {
    from { opacity:0; transform:translateY(12px) scale(.97); }
    to   { opacity:1; transform:translateY(0) scale(1); }
}
.arqp-calc-wizard-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 14px;
    background:var(--arqp-navy);
    color:#fff;
}
.arqp-calc-wizard-header span {
    font-size:12px;
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:6px;
}
.arqp-calc-wizard-header button {
    background:rgba(255,255,255,0.12);
    border:none;
    color:#fff;
    width:24px;
    height:24px;
    border-radius:6px;
    cursor:pointer;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.arqp-calc-wizard-header button:hover { background:rgba(255,255,255,0.25); }
.arqp-calc-wizard-body { padding:14px; display:flex; flex-direction:column; gap:10px; max-height:70vh; overflow-y:auto; }
/* [FAB-V2] Header de categoria entre grupos de opções (Lançar / Receber / Compras) */
.arqp-calc-wizard-cat-header {
    font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
    color:#94A3B8; padding:8px 4px 2px; display:flex; align-items:center; gap:8px;
    margin-top:4px;
}
.arqp-calc-wizard-cat-header:first-child { padding-top:0; margin-top:0; }
.arqp-calc-wizard-cat-header::after {
    content:""; flex:1; height:1px; background:linear-gradient(90deg,#E2E8F0,transparent);
}
.arqp-calc-wizard-cat-header + .arqp-calc-wizard-opt { margin-top:0; }
.arqp-calc-wizard-opt {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid var(--arqp-border);
    cursor:pointer;
    transition:all .15s;
    background:#fff;
    text-align:left;
    width:100%;
}
.arqp-calc-wizard-opt:hover { background:#F0F4FF; border-color:#93C5FD; }
.arqp-calc-wizard-opt-icon { font-size:22px; flex-shrink:0; }
.arqp-calc-wizard-opt-label { font-size:12px; font-weight:700; color:var(--arqp-navy); display:block; }
.arqp-calc-wizard-opt-sub { font-size:10px; color:#6B7280; display:block; margin-top:1px; }

/* ═══ TIME TRACKER — MODAL START ═══ */
.arqp-tt-start-modal {
    position:fixed;
    bottom:80px;
    right:18px;
    z-index:9991;
    background:#fff;
    border-radius:16px;
    box-shadow:0 16px 48px rgba(0,0,0,0.18);
    border:1px solid var(--arqp-border);
    width:320px;
    max-width:calc(100vw - 36px);
    display:none;
    overflow:hidden;
}
.arqp-tt-start-modal.show { display:block; }
.arqp-tt-start-modal-header {
    padding:14px 16px;
    background:var(--arqp-navy);
    color:#fff;
    font-size:14px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.arqp-tt-start-modal-body { padding:16px; }

@media (max-width:768px) {
    .arqp-tt-dock { min-width:280px;bottom:12px; }
    .arqp-tt-dock-timer { font-size:18px;min-width:72px; }
    .arqp-tt-dock-desc { max-width:100px; }
    .arqp-tt-fab { bottom:14px;right:14px;width:44px;height:44px;font-size:22px; }
    .arqp-tt-start-modal { bottom:64px;right:14px;width:calc(100vw - 28px); }
    .arqp-calc-fab { bottom:64px;right:14px;width:44px;height:44px;font-size:22px; }
    .arqp-creq-fab { bottom:115px;right:14px;width:44px;height:44px;font-size:22px; }
    .arqp-calc-wizard { bottom:114px;right:14px;width:calc(100vw - 28px); }
    .arqp-task-fab { bottom:172px;right:14px;width:44px;height:44px;font-size:22px; }

    /* ── Filtros de orçamentos — mobile ── */
    .orc-status-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        gap: 6px !important;
        padding-bottom: 4px;
        margin-bottom: 10px !important;
        scrollbar-width: none;
    }
    .orc-status-tabs::-webkit-scrollbar { display: none; }
    .orc-status-tab { font-size: 11px !important; padding: 5px 11px !important; flex-shrink: 0; }
    /* [ORC-V2] Mobile: pills só com ícone + contagem; texto some */
    .orc-status-tab .orc-pill-lbl { display: none; }
    .orc-status-tab.active .orc-pill-lbl { display: inline; font-size: 11px; } /* só a ativa mostra label */
    .orc-status-tab .orc-pill-ic { font-size: 14px; }
    .orc-search-wrap { gap: 6px !important; margin-bottom: 10px !important; }
    .orc-search-input { font-size: 14px !important; padding: 8px 10px !important; }
    .orc-search-wrap .arqp-btn { padding: 8px 10px !important; font-size: 11px !important; white-space: nowrap; flex-shrink: 0; }
    /* Botão Atualizar: só ícone no mobile */
    .orc-refresh-btn .orc-rb-lbl { display: none; }
    .orc-refresh-btn { padding: 8px 11px !important; font-size: 14px !important; }
    /* [ORC-V2] Mobile: hint aparece como texto pequeno cinza abaixo de cada botão (didático pra iniciante) */
    .orc-btn-row { gap: 12px !important; flex-direction: column; }
    .orc-btn-with-hint { max-width: 100% !important; width: 100%; }
    .orc-btn-with-hint > button { width: 100% !important; justify-content: center; }
    .orc-btn-hint {
        display: block !important;
        font-size: 10.5px;
        color: #6B7280;
        line-height: 1.4;
        margin-top: 4px;
        padding: 0 4px;
        font-style: italic;
    }
    .orc-section-intro { font-size: 12px !important; padding: 10px 12px !important; }
    /* [ORC-V2] No celular, abre os containers — o card de lead precisa de respiro:
       remove padding lateral do wrapper interno e do grid, mantém só o vertical pro espaçamento entre seções. */
    #orcContent.orc-content-wrap { padding: 12px 8px 18px !important; }
    .orc-grid-wrap { padding: 10px 6px !important; border-left: none !important; border-right: none !important; border-radius: 0 !important; }
    .orc-temp-header { border-radius: 0 !important; padding: 10px 12px !important; }
    .orc-temp-section { margin-bottom: 14px !important; }
    .orc-temp-title { font-size: 13px !important; }
    .orc-temp-msg { display: none; } /* dica longa some no celular pra economizar espaço */
    /* [ORC-V2] Sub-tabs scroll horizontal no mobile, label some — só ícone + tooltip */
    .orc-sub-tabs-row {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-bottom: -2px;
    }
    .orc-sub-tabs-row::-webkit-scrollbar { display: none; }
    .orc-sub-tab-btn { padding: 10px 14px !important; font-size: 12px; flex-shrink: 0; gap: 0 !important; }
    .orc-sub-tab-btn .orc-tab-lbl { display: none; }
    .orc-sub-tab-btn.active .orc-tab-lbl { display: inline; margin-left: 6px; font-size: 12px; }
    .orc-sub-tab-btn .orc-tab-ic { font-size: 18px; }
    /* Follow-ups badge: oculta texto, deixa só sino + contador */
    .orc-followup-badge .orc-fu-lbl { display: none; }
}