/* GestionarPqrsdModal (R-02): CSS movido desde el <style> inline del componente a un modulo global
   (patron de tareas.css/pqrs.css). Enlazado en App.razor. Reglas identicas; @@->@ desescapado. */
    .gpq-modal {
        display: flex; flex-direction: column; height: 92vh; max-height: 92vh; overflow: hidden;
        background: var(--propia-bg-card); font-family: var(--propia-font-base, 'Lexend', sans-serif);
    }
    .gpq-header {
        display: flex; align-items: center; gap: 13px;
        padding: 18px 24px; border-bottom: 1px solid var(--propia-border-divider); flex-shrink: 0;
    }
    .gpq-header-icon {
        width: 38px; height: 38px; border-radius: 10px;
        background: var(--propia-brand-soft, var(--propia-brand-soft));
        color: var(--propia-brand, var(--propia-brand));
        display: flex; align-items: center; justify-content: center;
    }
    .gpq-header-text { flex: 1; min-width: 0; }
    .gpq-title { font-size: 16px; font-weight: 800; letter-spacing: -0.3px; color: var(--propia-text-h1); }
    .gpq-title--num { font-size: 22px; letter-spacing: -0.5px; }
    .gpq-subtitle { font-size: 12.5px; color: var(--propia-text-muted); }

    .gpq-tabs { display: flex; gap: 2px; padding: 0 24px; border-bottom: 1px solid var(--propia-border-divider); flex-shrink: 0; background: var(--propia-bg-card); }
    .gpq-tab { border: 0; background: transparent; padding: 11px 16px; font-size: 13px; font-weight: 700; color: var(--propia-text-muted); cursor: pointer; border-bottom: 2px solid transparent; font-family: inherit; }
    .gpq-tab.active { color: var(--propia-brand, var(--propia-brand)); border-bottom-color: var(--propia-brand, var(--propia-brand)); }
    /* ---- Tab Tareas del PQR ---- */
    .gpq-tk-new { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
    .gpq-tk-new .gpq-input { flex: 1 1 220px; min-width: 160px; }
    .gpq-tk-asig { flex: 0 1 190px; cursor: pointer; }
    .gpq-tk-empty { text-align: center; color: var(--propia-text-muted); font-size: 13px; padding: 22px; background: var(--propia-bg-app); border: 1px dashed #DCE4EC; border-radius: 12px; }
    .gpq-tk-prog { margin-bottom: 16px; }
    .gpq-tk-prog-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 12px; font-weight: 700; color: var(--propia-text-muted); }
    .gpq-tk-prog-pct { font-size: 18px; font-weight: 800; color: #22C55E; }
    .gpq-tk-prog-bar { height: 9px; background: var(--propia-border-divider); border-radius: 20px; overflow: hidden; margin: 6px 0 4px; }
    .gpq-tk-prog-fill { height: 100%; background: linear-gradient(90deg, #34C77B, #22C55E); border-radius: 20px; transition: width .3s; }
    .gpq-tk-prog-sub { font-size: 11.5px; color: var(--propia-text-muted); }
    .gpq-tk-kanban { display: flex; gap: 11px; overflow-x: auto; align-items: flex-start; padding-bottom: 6px; }
    .gpq-tk-col { flex: 0 0 210px; background: #F7F9FC; border: 1px solid #EDF1F6; border-radius: 12px; padding: 8px; }
    .gpq-tk-col-h { display: flex; align-items: center; gap: 6px; padding: 5px 6px 8px; }
    .gpq-tk-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
    .gpq-tk-col-t { font-size: 12px; font-weight: 800; color: #33414F; flex: 1; }
    .gpq-tk-col-n { font-size: 10.5px; font-weight: 800; color: #7C8A9C; background: #E9EEF4; border-radius: 20px; padding: 1px 7px; }
    .gpq-tk-col-body { display: flex; flex-direction: column; gap: 7px; min-height: 40px; }
    .gpq-tk-card { background: var(--propia-bg-card); border: 1px solid var(--propia-border-divider); border-radius: 10px; padding: 9px 10px; box-shadow: 0 1px 2px rgba(45,62,80,.05); }
    .gpq-tk-card-t { font-size: 12.5px; font-weight: 600; color: #26303C; }
    .gpq-tk-card-m { display: flex; align-items: center; gap: 7px; margin-top: 5px; flex-wrap: wrap; }
    /* ---- Tarjetas ricas (estilo modulo Tareas) + expander + vista lista ---- */
    .gpq-tk-vsw { display: flex; gap: 0; border: 1px solid var(--propia-border-card); border-radius: 9px; overflow: hidden; margin-left: auto; }
    .gpq-tk-vbtn { border: 0; background: var(--propia-bg-card); color: var(--propia-text-muted); font-size: 12px; font-weight: 700; padding: 7px 14px; cursor: pointer; }
    .gpq-tk-vbtn.on { background: var(--propia-brand); color: var(--propia-text-inverse); }
    .gpq-tk-card-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 3px; }
    .gpq-tk-exp { border: 0; background: var(--propia-brand-soft); color: var(--propia-brand); width: 22px; height: 22px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: 0 0 auto; }
    .gpq-tk-exp:hover { background: var(--propia-brand-soft); }
    .gpq-tk-prio { font-size: 10px; font-weight: 800; border-radius: 20px; padding: 2px 8px; }
    .gpq-tk-due { font-size: 10.5px; font-weight: 700; color: var(--propia-text-muted); }
    .gpq-tk-venc { color: var(--propia-error-strong); }
    .gpq-tk-card-asig { display: flex; align-items: center; gap: 6px; margin-top: 6px; min-width: 0; }
    .gpq-tk-ava { width: 20px; height: 20px; flex: 0 0 20px; border-radius: 50%; background: var(--propia-brand); color: var(--propia-text-inverse); font-size: 9px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
    .gpq-tk-asig-n { font-size: 11px; color: #33414F; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpq-tk-card-prog { display: flex; align-items: center; gap: 6px; margin-top: 7px; }
    .gpq-tk-cprog-bar { flex: 1; height: 5px; border-radius: 4px; background: var(--propia-border-divider); overflow: hidden; }
    .gpq-tk-cprog-fill { height: 100%; border-radius: 4px; }
    .gpq-tk-cprog-v { font-size: 10px; font-weight: 800; color: var(--propia-text-muted); }
    .gpq-tk-table { border: 1px solid var(--propia-border-divider); border-radius: 12px; overflow: hidden; }
    .gpq-tk-tr { display: grid; grid-template-columns: 92px 1.6fr 120px 1.1fr 74px 44px 34px; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #F1F4F8; font-size: 12px; color: #33414F; }
    .gpq-tk-tr:last-child { border-bottom: 0; }
    .gpq-tk-thead { background: #F7F9FC; font-size: 10px; font-weight: 800; letter-spacing: .03em; color: #7C8A9C; }
    .gpq-tk-td-tit { font-weight: 600; color: #26303C; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpq-tk-etpill { color: var(--propia-text-inverse); font-size: 10px; font-weight: 800; border-radius: 20px; padding: 2px 9px; white-space: nowrap; }
    .gpq-tk-td-asig { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
    .gpq-tk-td-pct { font-weight: 800; color: var(--propia-text-muted); }
    .gpq-tk-mut { color: #A5B2C1; font-style: italic; }
    .gpq-tk-num { font-size: 10.5px; font-weight: 700; color: #A6B2C1; }
    .gpq-tk-asig-b { font-size: 10.5px; font-weight: 700; color: var(--propia-brand-hover); background: var(--propia-brand-soft); border-radius: 20px; padding: 1px 8px; }
    .gpq-tk-col-empty { color: #C3CEDA; font-size: 11px; text-align: center; padding: 8px; }
    .gpq-tk-foot { margin-top: 14px; font-size: 11.5px; color: var(--propia-text-muted); }
    .gpq-pane { width: 100%; padding: 20px 24px; overflow-y: auto; flex: 1 1 auto; min-height: 0; }
    .gpq-close {
        width: 34px; height: 34px; border-radius: 9px;
        display: flex; align-items: center; justify-content: center;
        color: var(--propia-text-muted); border: 1px solid var(--propia-border-card); background: var(--propia-bg-card); cursor: pointer;
    }
    .gpq-close:hover { background: var(--propia-bg-app); color: var(--propia-text-body); }

    .gpq-estado-pill {
        font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 6px;
    }
    .gpq-estado-recibida { color: var(--propia-brand, var(--propia-brand)); background: var(--propia-brand-soft, var(--propia-brand-soft)); }
    .gpq-estado-engestion { color: #1E40AF; background: #DBEAFE; }
    .gpq-estado-respondida { color: var(--propia-warning); background: var(--propia-warn-soft); }
    .gpq-estado-cerrada { color: var(--propia-success-hover); background: var(--propia-ok-soft); }
    .gpq-estado-via { color: var(--propia-text-inverse); background: var(--propia-text-muted); }

    .gpq-sem { font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 5px; }
    .gpq-sem--verde { color: var(--propia-success-hover); background: var(--propia-ok-soft); }
    .gpq-sem--amarillo { color: var(--propia-warning); background: var(--propia-warn-soft); }
    .gpq-sem--rojo { color: var(--propia-error-strong); background: var(--propia-danger-soft); }
    .gpq-sem--negro { color: var(--propia-text-inverse); background: #111827; }
    .gpq-sem--tutela { color: var(--propia-text-inverse); background: var(--propia-error); }

    .gpq-body {
        flex: 1; min-height: 0;
        display: flex; flex-direction: column; align-items: stretch;
        font-family: var(--propia-font-base, 'Lexend', sans-serif);
    }

    .gpq-loading { color: var(--propia-text-faint); padding: 40px; text-align: center; }

    .gpq-flags { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
    .gpq-flag {
        display: inline-flex; align-items: center; gap: 5px;
        padding: 5px 10px; border-radius: 7px;
        font-size: 12px; font-weight: 700;
    }
    .gpq-flag--tutela { color: var(--propia-text-inverse); background: var(--propia-error); }
    .gpq-flag--comite { color: var(--propia-brand, var(--propia-brand)); background: var(--propia-brand-soft, var(--propia-brand-soft)); }

    .gpq-card {
        background: var(--propia-bg-card); border: 1px solid var(--propia-border-card);
        border-radius: 12px; padding: 14px 16px;
        margin-bottom: 12px;
    }
    .gpq-card--resp { border-color: #FED7AA; background: var(--propia-bg-card)BF0; }
    .gpq-card--inc { border-color: #FECACA; background: #FEF7F7; }
    .gpq-card--def { border-color: var(--propia-success-border); background: #F0FDF4; }
    .gpq-card-eyebrow {
        font-size: 10px; letter-spacing: .5px; color: var(--propia-text-faint);
        font-weight: 700; margin-bottom: 8px;
    }

    .gpq-radicador-line { font-size: 14px; color: var(--propia-text-body); }
    .gpq-radicador-unit { color: var(--propia-text-muted); font-weight: 600; }
    .gpq-reservada { font-size: 13px; color: var(--propia-error); font-weight: 700; }

    /* Card unidad afectada */
    .gpq-card--unit { background: linear-gradient(135deg, #FAF8FF, var(--propia-brand-soft)); border-color: var(--propia-brand-border); }
    .gpq-card--nounit { background: var(--propia-bg-app); border-color: var(--propia-border-card); }
    .gpq-noref { font-size: 12.5px; color: var(--propia-text-faint); font-style: italic; }
    .gpq-unit-head { display: flex; align-items: center; gap: 12px; }
    .gpq-unit-icon {
        width: 46px; height: 46px; border-radius: 12px;
        background: linear-gradient(140deg, var(--propia-brand), var(--propia-brand-hover));
        color: var(--propia-text-inverse); flex-shrink: 0;
        display: flex; align-items: center; justify-content: center;
    }
    .gpq-unit-id { flex: 1; min-width: 0; }
    .gpq-unit-num { font-size: 17px; font-weight: 800; color: var(--propia-text-h1); letter-spacing: -0.3px; }
    .gpq-unit-meta { font-size: 12px; color: var(--propia-brand-hover); font-weight: 600; margin-top: 2px; }

    /* Personas - contacto humano */
    .gpq-people { display: flex; flex-direction: column; gap: 9px; }
    .gpq-person {
        display: flex; align-items: flex-start; gap: 11px;
        padding: 11px 12px;
        border: 1px solid var(--propia-border-card); border-radius: 10px;
        background: #FBFBFD;
    }
    .gpq-person--radicador { border-color: var(--propia-brand-border); background: #FAF8FF; }
    .gpq-person-avatar {
        width: 34px; height: 34px; border-radius: 9px;
        color: var(--propia-text-inverse); font-size: 12px; font-weight: 700;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .gpq-person-avatar--owner { background: linear-gradient(135deg, var(--propia-text-body), var(--propia-text-h1)); }
    .gpq-person-avatar--resident { background: linear-gradient(135deg, var(--propia-info), #1E40AF); }
    .gpq-person-avatar--family { background: linear-gradient(135deg, #22A565, var(--propia-success-hover)); }
    .gpq-person-avatar--tenant { background: linear-gradient(135deg, #D97706, #92400E); }
    .gpq-person-avatar--proxy { background: linear-gradient(135deg, var(--propia-text-muted), #374151); }
    .gpq-person-avatar--other { background: linear-gradient(135deg, var(--propia-brand-hover), var(--propia-brand-hover)); }
    .gpq-person-id { flex: 1; min-width: 0; }
    .gpq-person-name {
        font-size: 13.5px; font-weight: 700; color: var(--propia-text-body);
        display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
    }
    .gpq-radica-tag {
        font-size: 9.5px; font-weight: 700; color: var(--propia-brand, var(--propia-brand));
        background: var(--propia-brand-soft, var(--propia-brand-soft));
        padding: 2px 6px; border-radius: 5px; letter-spacing: .3px;
    }
    .gpq-person-rol { font-size: 11px; color: var(--propia-text-muted); font-weight: 600; margin-top: 1px; }
    .gpq-person-link {
        display: flex; align-items: center; gap: 5px;
        font-size: 11px; color: var(--propia-text-secondary); font-weight: 600;
        margin-top: 4px; text-decoration: none;
    }
    .gpq-person-link:hover { color: var(--propia-brand, var(--propia-brand)); text-decoration: underline; }

    /* Form agregar adjunto */
    /* Grid de adjuntos (miniaturas) - prototipo: 2 columnas con thumb arriba + nombre/size */
    /* ===== Visor de adjuntos estilo Tareas: lista de miniaturas (izq) + panel de vista previa (der) ===== */
    .gpq-files { display: flex; gap: 14px; margin-top: 4px; min-height: 340px; }
    .gpq-thumbs { width: 210px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; max-height: 470px; padding-right: 3px; }
    .gpq-thumb { position: relative; display: flex; align-items: center; gap: 9px; border: 1px solid var(--propia-border-card); border-radius: 10px; padding: 7px 9px; background: var(--propia-bg-card); cursor: pointer; }
    .gpq-thumb:hover { border-color: #B9AEF3; background: var(--propia-brand-soft-2); }
    .gpq-thumb.on { border-color: var(--propia-brand); background: var(--propia-brand-soft-2); box-shadow: 0 0 0 1px var(--propia-brand); }
    .gpq-thumb-ic { width: 44px; height: 44px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(135deg,var(--propia-brand-soft-2),var(--propia-brand-border)); }
    .gpq-thumb-ic img { width: 100%; height: 100%; object-fit: cover; }
    .gpq-thumb-ext { font-size: 12px; font-weight: 800; letter-spacing: .5px; color: var(--propia-text-inverse); }
    .gpq-thumb-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
    .gpq-thumb-nm { font-size: 11.5px; font-weight: 700; color: var(--propia-text-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gpq-thumb-sz { font-size: 10px; font-weight: 600; color: var(--propia-text-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gpq-viewer { flex: 1; min-width: 0; min-height: 340px; max-height: 60vh; border: 1px solid var(--propia-border-card); border-radius: 12px; background: var(--propia-bg-hover); display: flex; flex-direction: column; overflow: hidden; }
    .gpq-viewer-imgwrap { flex: 1; min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; padding: 14px; background: var(--propia-bg-hover); overflow: auto; cursor: zoom-in; }
    .gpq-viewer-img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; box-shadow: 0 4px 16px rgba(27,42,58,.15); }
    .gpq-viewer-zoom { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 800; color: var(--propia-text-inverse); background: rgba(27,42,58,.72); border-radius: 20px; padding: 5px 11px; pointer-events: none; }
    .gpq-viewer-pdfwrap { flex: 1; min-height: 440px; display: flex; background: #525659; }
    .gpq-viewer-pdf { flex: 1; width: 100%; height: 100%; min-height: 440px; border: 0; }
    .gpq-viewer-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--propia-border-divider); background: var(--propia-bg-card); }
    .gpq-viewer-meta { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
    .gpq-viewer-nm { font-size: 12px; font-weight: 700; color: var(--propia-text-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gpq-viewer-by { font-size: 10.5px; font-weight: 700; color: var(--propia-text-muted); }
    .gpq-viewer-open { font-size: 11.5px; font-weight: 700; color: var(--propia-brand); text-decoration: none; border: 1px solid var(--propia-brand-border); border-radius: 8px; padding: 6px 13px; background: var(--propia-brand-soft); flex-shrink: 0; }
    .gpq-viewer-open:hover { background: var(--propia-brand-border); }
    .gpq-viewer-empty, .gpq-viewer-file { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: var(--propia-text-faint); text-align: center; padding: 24px; }
    .gpq-viewer-empty p, .gpq-viewer-file p { font-size: 13.5px; font-weight: 700; color: var(--propia-text-secondary); margin: 0; max-width: 320px; word-break: break-word; }
    .gpq-viewer-empty span { font-size: 11.5px; color: var(--propia-text-faint); max-width: 300px; }
    .gpq-viewer-file { color: var(--propia-brand); }
    .gpq-viewer-file .gpq-viewer-open { margin-top: 6px; }
    /* gradientes por tipo del icono de miniatura (ThumbClass) */
    .gpq-adj-thumb--img { background: linear-gradient(135deg, #60A5FA, #3B82F6); }
    .gpq-adj-thumb--pdf { background: linear-gradient(135deg, #F87171, #EF4444); }
    .gpq-adj-thumb--doc { background: linear-gradient(135deg, #60A5FA, var(--propia-info)); }
    .gpq-adj-thumb--xls { background: linear-gradient(135deg, #34D399, #10B981); }
    .gpq-adj-thumb--generic { background: linear-gradient(135deg, var(--propia-text-muted), var(--propia-text-muted)); }
    @media (max-width: 760px) {
        .gpq-files { flex-direction: column; min-height: 0; }
        .gpq-thumbs { width: auto; flex-direction: row; flex-wrap: wrap; max-height: none; }
        .gpq-thumb { flex: 1 1 160px; }
        .gpq-viewer { min-height: 300px; }
    }

    /* Boton "Subir archivo" al final de la lista de miniaturas (estilo Tareas .tbc-thumb-up) */
    .gpq-thumb-up { display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px dashed var(--propia-border-input); border-radius: 10px; padding: 12px; cursor: pointer; font-size: 11.5px; font-weight: 700; color: var(--propia-brand); background: var(--propia-brand-soft-2); flex-shrink: 0; }
    .gpq-thumb-up:hover { border-color: var(--propia-brand); background: var(--propia-brand-soft-2); }
    .gpq-thumb-up--busy { opacity: .7; pointer-events: none; }
    .gpq-thumb-up-t { font-size: 11.5px; }

    .gpq-adj-url { margin-top: 10px; }
    .gpq-adj-url summary { font-size: 11.5px; color: var(--propia-text-muted); cursor: pointer; font-weight: 600; padding: 4px 0; }
    .gpq-adj-url summary:hover { color: var(--propia-brand, var(--propia-brand)); }

    .gpq-adj-add {
        display: flex; gap: 6px; margin-top: 10px;
        padding-top: 10px; border-top: 1px dashed var(--propia-border-card);
    }
    .gpq-adj-add .gpq-input { margin-bottom: 0; padding: 7px 10px; font-size: 12px; }
    .gpq-adj-add .gpq-btn-brand {
        padding: 7px 12px; font-size: 12px; white-space: nowrap;
        display: inline-flex; align-items: center; gap: 5px;
    }

    .gpq-plazo { display: flex; flex-direction: column; gap: 8px; }
    .gpq-plazo-row {
        display: flex; align-items: center; justify-content: space-between;
        font-size: 13px;
    }
    .gpq-plazo-row span { color: var(--propia-text-muted); }
    .gpq-plazo-row strong { color: var(--propia-text-body); }
    .gpq-warn { color: var(--propia-warning) !important; }

    /* Pills de caracterizacion (estilo Tareas) */
    /* Franja de metadatos superior (estilo referencia): campos etiquetados en fila (incluye unidad y responsable). */
    .gpq-metabar { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 26px; padding: 13px 16px; margin-bottom: 16px; background: var(--propia-bg-card); border: 1px solid #EDF0F4; border-radius: 12px; }
    .gpq-meta-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1 1 118px; }
    .gpq-meta-f--act { flex: 1 1 178px; }
    .gpq-meta-lbl { font-size: 10.5px; font-weight: 700; letter-spacing: .5px; color: var(--propia-text-muted); text-transform: uppercase; }
    .gpq-meta-val { font-size: 13px; font-weight: 600; color: var(--propia-text-h1); display: flex; align-items: center; min-height: 30px; }
    .gpq-meta-val .gpq-pill, .gpq-meta-val .gpq-estado-pill { font-size: 11px; }
    .gpq-meta-strong { color: var(--propia-brand, var(--propia-brand)); font-weight: 700; }
    @media (max-width: 560px) { .gpq-meta-f { flex-basis: 42%; } }
    [data-bs-theme="dark"] .gpq-metabar { background: var(--propia-bg-card-soft); border-color: var(--propia-border-card); }
    [data-bs-theme="dark"] .gpq-meta-val { color: var(--propia-border-card); }

    /* Chips "info" (reusados en la franja): unidad y responsable. */
    .gpq-qf-chip { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 6px 10px; border: 1px solid var(--propia-brand-border); border-radius: 8px; background: var(--propia-brand-soft); color: var(--propia-brand-text); font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: inherit; }
    .gpq-qf-chip:hover { background: #E7DEFB; }
    .gpq-qf-chip > span:not(.gpq-qf-ava) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpq-qf-pen { flex: 0 0 auto; opacity: .5; }
    .gpq-qf-ava { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: var(--propia-brand, var(--propia-brand)); color: var(--propia-text-inverse); font-size: 9px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
    .gpq-qf-add { padding: 6px 11px; border: 1px dashed #C9B8F2; border-radius: 8px; background: transparent; color: var(--propia-brand, var(--propia-brand)); font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: inherit; }
    .gpq-qf-add:hover { background: var(--propia-brand-soft-2); }
    .gpq-qf-x { flex: 0 0 auto; border: 0; background: transparent; color: var(--propia-text-muted); cursor: pointer; padding: 4px; border-radius: 6px; line-height: 0; }
    .gpq-qf-x:hover { background: var(--propia-border-divider); color: var(--propia-text-secondary); }
    [data-bs-theme="dark"] .gpq-qf-chip { background: #2C2350; border-color: #40357a; color: #cbb8ff; }
    [data-bs-theme="dark"] .gpq-qf-add { border-color: #40357a; color: #b39bff; }

    /* Tarjeta flotante (popover) para capturar unidad / elegir responsable. */
    .gpq-pop-anchor { position: relative; }
    .gpq-pop { position: absolute; top: calc(100% + 6px); right: 0; left: auto; z-index: 40; width: 300px; max-width: 84vw; background: var(--propia-bg-card); border: 1px solid #E4DAF7; border-radius: 12px; box-shadow: 0 16px 40px rgba(27,42,58,.18); padding: 12px; }
    .gpq-pop-head { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; letter-spacing: .3px; color: #6B4FD0; text-transform: uppercase; margin-bottom: 10px; }
    .gpq-pop-loading { font-size: 12.5px; color: var(--propia-text-muted); padding: 8px 2px; }
    .gpq-pop-clear { margin-top: 10px; width: 100%; padding: 7px; border: 1px solid #F0D9D9; border-radius: 8px; background: #FDF3F3; color: #C0392B; font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit; }
    .gpq-pop-clear:hover { background: #FBE9E9; }
    .gpq-pop-list { display: flex; flex-direction: column; gap: 3px; max-height: 280px; overflow-y: auto; }
    .gpq-pop-it { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-family: inherit; font-size: 13px; color: var(--propia-text-h1); }
    .gpq-pop-it:hover { background: var(--propia-brand-soft-2); }
    .gpq-pop-it.on { background: #EDE7FB; }
    .gpq-pop-it--none { color: #7B8794; font-weight: 600; font-size: 12.5px; border-bottom: 1px solid #EEF1F5; border-radius: 0; margin-bottom: 3px; padding-bottom: 9px; }
    .gpq-pop-it-nm { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
    .gpq-pop-it-nm small { color: var(--propia-text-muted); font-size: 10.5px; font-weight: 600; }
    [data-bs-theme="dark"] .gpq-pop { background: var(--propia-bg-card-soft); border-color: #34415e; }
    [data-bs-theme="dark"] .gpq-pop-it { color: var(--propia-border-card); }
    [data-bs-theme="dark"] .gpq-pop-it:hover { background: #2C3550; }
    [data-bs-theme="dark"] .gpq-pop-it.on { background: #33285e; }

    .gpq-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
    .gpq-pill { font-size: 11px; font-weight: 700; padding: 4px 11px; border-radius: 20px; letter-spacing: .2px; }
    .gpq-pill-tipo { background: #EEF2FF; color: #4F46E5; }
    .gpq-pill-cat { background: var(--propia-bg-hover); color: var(--propia-text-secondary); }
    .gpq-pill-age { background: #F5F3FF; color: #7C3AED; }
    .gpq-pill-ok { background: #E7F6EC; color: var(--propia-success); }
    .gpq-pill-warn { background: #FEF3E2; color: #B7791F; }
    .gpq-pill-venc { background: var(--propia-danger-soft); color: var(--propia-error); }
    /* SLA visual: numero grande + barra de progreso + extremos */
    .gpq-sla-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
    .gpq-sla-add { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #E1D9FA; background: var(--propia-brand-soft-2); color: var(--propia-brand, var(--propia-brand)); border-radius: 20px; padding: 3px 10px 3px 8px; font-size: 10.5px; font-weight: 800; cursor: pointer; font-family: inherit; transition: background .15s, border-color .15s; }
    .gpq-sla-add:hover { background: #ECE6FD; border-color: #C9BCF6; }
    .gpq-sla-add--on { background: var(--propia-brand, var(--propia-brand)); color: var(--propia-text-inverse); border-color: var(--propia-brand, var(--propia-brand)); }
    .gpq-sla-add--on svg { transform: rotate(45deg); transition: transform .18s; }
    .gpq-sla-actions { display: inline-flex; align-items: center; gap: 6px; }
    .gpq-sla-add--tutela { border-color: #F5C6C6; background: var(--propia-danger-soft); color: var(--propia-error); }
    .gpq-sla-add--tutela:hover { background: #FBDCDC; border-color: #F0B4B4; }
    .gpq-sla-add--tutela.gpq-sla-add--on { background: var(--propia-error); color: var(--propia-text-inverse); border-color: var(--propia-error); }
    .gpq-sla-add--tutela.gpq-sla-add--on svg { transform: none; }
    .gpq-mini-hint { font-size: 11px; color: var(--propia-text-muted); margin-top: 5px; }
    /* Mini-menu que "slota" (transicion de max-height, sin keyframes) */
    .gpq-prorroga-pop { max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; transition: max-height .22s ease, opacity .16s ease, margin-top .22s ease; }
    .gpq-prorroga-pop.open { max-height: 340px; opacity: 1; margin-top: 12px; }
    .gpq-prorroga-inner { border-top: 1px dashed var(--propia-border-card); padding-top: 11px; }
    .gpq-prorroga-hint { font-size: 10.5px; color: #9FB2C4; margin-top: 6px; }
    .gpq-prorroga-foot { display: flex; justify-content: flex-end; gap: 7px; margin-top: 10px; }
    .gpq-btn-sm { padding: 6px 13px !important; font-size: 12px !important; }
    .gpq-sla-big { font-size: 17px; font-weight: 800; margin-bottom: 9px; color: var(--propia-text-body); }
    .gpq-sla-big.gpq-pill-ok { color: var(--propia-success); }
    .gpq-sla-big.gpq-pill-warn { color: #B7791F; }
    .gpq-sla-big.gpq-pill-venc { color: var(--propia-error); }
    .gpq-sla-bar { height: 9px; border-radius: 6px; background: var(--propia-border-divider); overflow: hidden; }
    .gpq-sla-fill { height: 100%; border-radius: 6px; background: var(--propia-brand); transition: width .3s; }
    .gpq-sla-fill.gpq-pill-ok { background: #34C759; }
    .gpq-sla-fill.gpq-pill-warn { background: #F0A020; }
    .gpq-sla-fill.gpq-pill-venc { background: var(--propia-error); }
    .gpq-sla-ends { display: flex; justify-content: space-between; gap: 8px; margin-top: 7px; font-size: 10.5px; font-weight: 600; color: var(--propia-text-muted); flex-wrap: wrap; }
    [data-bs-theme="dark"] .gpq-pill-cat { background: var(--propia-border-card); color: var(--propia-border-card-2); }
    [data-bs-theme="dark"] .gpq-sla-bar { background: var(--propia-border-card); }
    /* Crear campo dinamico */
    .gpq-addcampo { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 8px; border: 1px dashed var(--propia-border-input); background: var(--propia-bg-card-soft); color: var(--propia-brand); font-size: 12px; font-weight: 700; cursor: pointer; font-family: inherit; }
    .gpq-addcampo:hover { border-color: var(--propia-brand); background: var(--propia-brand-soft-2); }
    .gpq-newcampo { display: flex; flex-direction: column; gap: 7px; border: 1px solid var(--propia-border-card); border-radius: 9px; padding: 10px; background: #FBFCFE; }
    .gpq-newcampo-acts { display: flex; gap: 8px; }
    [data-bs-theme="dark"] .gpq-newcampo { background: var(--propia-bg-card); border-color: var(--propia-border-card); }
    .gpq-err { color: var(--propia-error) !important; }

    .gpq-desc {
        font-size: 13px; color: var(--propia-text-body); line-height: 1.55;
        white-space: pre-wrap;
    }
    .gpq-meta { font-size: 11px; color: var(--propia-text-faint); margin-top: 8px; }

    .gpq-acciones { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0; }
    .gpq-btn-brand {
        padding: 10px 18px; border-radius: 9px;
        background: var(--propia-brand, var(--propia-brand)); color: var(--propia-text-inverse);
        font-size: 13px; font-weight: 700; border: 0; cursor: pointer;
        box-shadow: 0 4px 12px rgba(109,79,227,.28);
    }
    .gpq-btn-brand:hover { background: var(--propia-brand-hover, var(--propia-brand-hover)); }
    .gpq-btn-brand:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
    .gpq-btn-ghost {
        padding: 10px 16px; border-radius: 9px;
        background: var(--propia-bg-card); border: 1px solid var(--propia-border-card);
        font-size: 13px; font-weight: 600; color: var(--propia-text-secondary); cursor: pointer;
    }
    .gpq-btn-ghost:hover { background: var(--propia-bg-app); }
    .gpq-btn-warn {
        padding: 10px 16px; border-radius: 9px;
        background: var(--propia-error); color: var(--propia-text-inverse);
        font-size: 13px; font-weight: 700; border: 0; cursor: pointer;
    }
    .gpq-btn-warn:hover { background: var(--propia-error-strong); }

    /* ---- Compartir seguimiento (adjuntos) ---- */
    .gpq-share { border: 1px solid var(--propia-border-divider); background: var(--propia-bg-hover); border-radius: 11px; padding: 13px 15px; margin-bottom: 14px; }
    .gpq-share-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
    .gpq-share-tit { font-size: 13px; font-weight: 800; color: var(--propia-text-h1); }
    .gpq-share-sub { font-size: 11.5px; color: #64798F; margin-top: 3px; max-width: 520px; line-height: 1.4; }
    .gpq-share-head .gpq-btn-brand { white-space: nowrap; flex: 0 0 auto; }
    .gpq-share-linkrow { display: flex; align-items: center; gap: 8px; margin-top: 11px; }
    .gpq-share-link { flex: 1 1 auto; font-size: 12px; background: var(--propia-bg-card); }
    .gpq-btn-soft {
        padding: 9px 14px; border-radius: 9px; background: #EEF1FB; color: #4B39B5;
        font-size: 12.5px; font-weight: 700; border: 0; cursor: pointer; text-decoration: none;
        display: inline-flex; align-items: center; white-space: nowrap;
    }
    .gpq-btn-soft:hover { background: #E2E6FA; }
    .gpq-share-count { font-size: 11px; color: var(--propia-text-muted); margin-top: 7px; }
    .gpq-thumb-share { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; color: #64798F; font-weight: 600; margin-top: 3px; cursor: pointer; }
    .gpq-thumb-share input { width: 13px; height: 13px; accent-color: var(--propia-brand, var(--propia-brand)); cursor: pointer; }

    /* ---- Respuestas tipo correo (tarjetas) ---- */
    .gpq-resp-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
    .gpq-resp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
    @media (max-width: 900px) { .gpq-resp-cards { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 620px) { .gpq-resp-cards { grid-template-columns: 1fr; } }
    .gpq-resp-card { text-align: left; width: 100%; border: 1px solid var(--propia-border-divider); border-radius: 12px; padding: 13px 15px; background: var(--propia-bg-card); cursor: pointer; transition: background .12s, border-color .12s; font-family: inherit; display: flex; flex-direction: column; }
    .gpq-resp-card:hover { background: var(--propia-brand-soft-2); border-color: #D8CCF7; }
    .gpq-resp-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .gpq-resp-card-asunto { font-size: 13.5px; font-weight: 800; color: var(--propia-text-h1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpq-resp-card-badges { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; }
    .gpq-resp-card-ver { font-size: 9px; font-weight: 800; color: var(--propia-brand); background: #EEF1FB; border: 1px solid var(--propia-brand-border); border-radius: 5px; padding: 2px 6px; }
    .gpq-resp-card-badge { font-size: 9px; font-weight: 800; border-radius: 5px; padding: 3px 7px; letter-spacing: .3px; flex: 0 0 auto; }
    .gpq-resp-card-badge.bor { color: #9A6A00; background: var(--propia-warn-soft); }
    .gpq-resp-card-badge.env { color: var(--propia-success-hover); background: #E7F6EE; }
    .gpq-resp-card-prev { font-size: 12px; color: var(--propia-text-secondary); margin-top: 6px; line-height: 1.4; flex: 1 1 auto;
        display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .gpq-resp-card-meta { font-size: 10.5px; color: var(--propia-text-muted); }
    .gpq-resp-head-actions { display: flex; align-items: center; gap: 8px; }
    .gpq-btn-ghost2 { font-size: 12px; font-weight: 700; color: var(--propia-text-secondary); background: var(--propia-bg-card); border: 1px solid var(--propia-border-card); border-radius: 8px; padding: 7px 12px; cursor: pointer; }
    .gpq-btn-ghost2:hover { background: var(--propia-bg-hover); border-color: #CBD6E2; }
    .gpq-resp-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
    .gpq-resp-card-arch { flex: 0 0 auto; font-size: 10.5px; font-weight: 700; color: var(--propia-text-muted); background: transparent; border: 1px solid var(--propia-border-divider); border-radius: 6px; padding: 3px 8px; cursor: pointer; }
    .gpq-resp-card-arch:hover { color: #9A6A00; border-color: #F0DCA6; background: var(--propia-bg-card)BF0; }
    /* Tabla de archivados */
    .gpq-arch-wrap { margin-top: 12px; border: 1px solid var(--propia-border-divider); border-radius: 12px; overflow: auto; }
    .gpq-arch-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
    .gpq-arch-table thead th { text-align: left; font-size: 10px; font-weight: 800; letter-spacing: .04em; color: var(--propia-text-muted); text-transform: uppercase; padding: 10px 12px; background: var(--propia-bg-hover); border-bottom: 1px solid var(--propia-border-divider); white-space: nowrap; }
    .gpq-arch-table td { padding: 10px 12px; border-bottom: 1px solid var(--propia-bg-hover); color: var(--propia-text-h1); vertical-align: top; }
    .gpq-arch-table tr:last-child td { border-bottom: 0; }
    .gpq-arch-link { font-weight: 700; color: var(--propia-text-h1); background: transparent; border: 0; padding: 0; cursor: pointer; text-align: left; }
    .gpq-arch-link:hover { color: var(--propia-brand, var(--propia-brand)); text-decoration: underline; }
    .gpq-arch-prev { color: var(--propia-text-secondary); max-width: 320px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .gpq-arch-date { color: #63748A; white-space: nowrap; font-variant-numeric: tabular-nums; }
    .gpq-arch-restore { font-size: 11px; font-weight: 700; color: var(--propia-brand, var(--propia-brand)); background: #EEF1FB; border: 1px solid var(--propia-brand-border); border-radius: 6px; padding: 4px 10px; cursor: pointer; white-space: nowrap; }
    .gpq-arch-restore:hover { background: #E2E6FA; }
    .gpq-btn-warn:disabled { opacity: .5; cursor: not-allowed; }

    .gpq-form {
        background: var(--propia-bg-app); border: 1px dashed var(--propia-border-input);
        border-radius: 12px; padding: 14px;
        margin: 14px 0;
    }
    .gpq-form-title { font-size: 13px; font-weight: 700; color: var(--propia-text-h1); margin-bottom: 10px; }
    .gpq-form-lbl { display: block; font-size: 11px; font-weight: 700; color: var(--propia-text-muted); margin: 4px 0 5px; }
    .gpq-form-hint { font-size: 11px; color: var(--propia-text-faint); margin: 8px 0 0; }
    .gpq-input {
        border: 1px solid var(--propia-border-card); border-radius: 9px;
        padding: 9px 12px; font-size: 13px; color: var(--propia-text-body);
        background: var(--propia-bg-card); outline: none; font-family: inherit;
        width: 100%; box-sizing: border-box; margin-bottom: 10px;
    }
    .gpq-input:focus { border-color: var(--propia-brand, var(--propia-brand)); }
    .gpq-mini-lbl { font-size: 11px; color: var(--propia-text-muted); font-weight: 700; display: block; margin: 6px 0 4px; }
    .gpq-form-foot { display: flex; justify-content: flex-end; gap: 8px; }

    .gpq-msg { padding: 9px 12px; border-radius: 9px; border: 1px solid; font-size: 12.5px; margin-top: 12px; }
    .gpq-msg--ok { color: var(--propia-success-hover); background: var(--propia-ok-soft); border-color: var(--propia-success-border); }
    .gpq-msg--err { color: var(--propia-error-strong); background: var(--propia-danger-soft); border-color: #FECACA; }

    .gpq-resp-canales { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
    .gpq-resp-chk { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #334155; cursor: pointer; padding: 9px 12px; border: 1px solid #E2E8F0; border-radius: 9px; background: var(--propia-bg-card); }
    .gpq-resp-chk:hover { border-color: var(--propia-brand, var(--propia-brand)); }
    .gpq-resp-chk input { width: 16px; height: 16px; accent-color: var(--propia-brand, var(--propia-brand)); cursor: pointer; }

    .gpq-empty { font-size: 12.5px; color: var(--propia-text-faint); padding: 8px 0; }

    /* Timeline */
    .gpq-timeline { display: flex; flex-direction: column; gap: 12px; }
    .gpq-tl-item { display: flex; align-items: flex-start; gap: 10px; }
    .gpq-tl-dot {
        width: 10px; height: 10px; border-radius: 50%;
        margin-top: 5px; flex-shrink: 0;
        background: var(--propia-brand, var(--propia-brand));
    }
    .gpq-tl-dot.gpq-estado-recibida { background: var(--propia-brand, var(--propia-brand)); }
    .gpq-tl-dot.gpq-estado-engestion { background: var(--propia-info); }
    .gpq-tl-dot.gpq-estado-respondida { background: #D97706; }
    .gpq-tl-dot.gpq-estado-cerrada { background: var(--propia-success); }
    .gpq-tl-dot.gpq-estado-via { background: var(--propia-text-muted); }
    .gpq-tl-content { flex: 1; min-width: 0; }
    .gpq-tl-title { font-size: 12.5px; font-weight: 700; color: var(--propia-text-body); }
    .gpq-tl-meta { font-size: 10.5px; color: var(--propia-text-faint); margin-top: 2px; }
    .gpq-tl-nota { font-size: 11.5px; color: var(--propia-text-secondary); margin-top: 5px; line-height: 1.4; }

    .gpq-adj-list { display: flex; flex-direction: column; gap: 8px; }
    .gpq-adj {
        display: flex; align-items: center; gap: 9px;
        padding: 9px 11px; border: 1px solid var(--propia-border-card); border-radius: 9px;
        background: var(--propia-bg-card);
    }
    .gpq-adj-text { flex: 1; min-width: 0; }
    .gpq-adj-name { font-size: 12.5px; font-weight: 600; color: var(--propia-text-body); }
    .gpq-adj-meta { font-size: 10.5px; color: var(--propia-text-faint); }

    [data-bs-theme="dark"] .gpq-title,
    [data-bs-theme="dark"] .gpq-tl-title { color: var(--propia-text-body); }
    [data-bs-theme="dark"] .gpq-card { background: var(--propia-bg-card-soft); border-color: var(--propia-border-card); }

    /* Gestion: progreso + responsable + actividad (aportes estilo Tareas) */
    .gpq-range { width: 100%; accent-color: var(--propia-brand, var(--propia-brand)); margin: 4px 0; cursor: pointer; }
    .gpq-progbar { height: 8px; border-radius: 6px; background: var(--propia-border-divider); overflow: hidden; }
    .gpq-progfill { height: 100%; border-radius: 6px; background: var(--propia-brand, var(--propia-brand)); transition: width .2s; }
    .gpq-asig-cur { font-size: 12.5px; color: var(--propia-text-secondary); margin: 4px 0 6px; }
    .gpq-asig-quitar { border: 0; background: transparent; color: var(--propia-error); font-size: 11.5px; font-weight: 700; cursor: pointer; margin-left: 6px; text-decoration: underline; }
    .gpq-asig-quitando { color: #B7791F; font-size: 11px; margin-left: 6px; }
    .gpq-actividad-feed { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
    .gpq-actividad-item { background: var(--propia-bg-app); border: 1px solid var(--propia-border-divider); border-radius: 9px; padding: 9px 11px; }
    .gpq-actividad-txt { font-size: 13px; color: var(--propia-text-body); white-space: pre-wrap; }
    .gpq-actividad-meta { font-size: 10.5px; color: var(--propia-text-faint); margin-top: 4px; font-weight: 600; }
    .gpq-actividad-empty { color: var(--propia-text-faint); font-size: 12px; margin-top: 8px; }
    [data-bs-theme="dark"] .gpq-actividad-item { background: var(--propia-bg-card); border-color: var(--propia-border-card); }
    [data-bs-theme="dark"] .gpq-progbar { background: var(--propia-border-card); }

    /* ===== Chat de actividad (burbujas dos tonos, mios a la derecha, adjuntos inline, menciones, lightbox) ===== */
    .gpqc-wrap { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
    .gpqc-scroll { display: flex; flex-direction: column; gap: 12px; min-height: 130px; max-height: 360px; overflow-y: auto; overflow-x: hidden; padding: 4px 2px 6px; }
    .gpqc-scroll::-webkit-scrollbar { width: 6px; }
    .gpqc-scroll::-webkit-scrollbar-thumb { background: #CBD6E2; border-radius: 4px; }
    .gpqc-empty { color: var(--propia-text-faint); font-size: 12px; padding: 8px 2px; }
    .gpqc-daysep { display: flex; align-items: center; justify-content: center; margin: 2px 0; }
    .gpqc-daysep span { font-size: 10.5px; font-weight: 800; color: #8598AE; background: #EEF2F7; border-radius: 20px; padding: 3px 12px; }
    .gpqc-msg { display: flex; gap: 8px; align-items: flex-end; max-width: 92%; align-self: flex-start; }
    .gpqc-msg.mine { align-self: flex-end; flex-direction: row-reverse; }
    .gpqc-ava { width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 800; color: var(--propia-brand); background: var(--propia-brand-soft); }
    .gpqc-msg.mine .gpqc-ava { color: #3B62C0; background: #E6EFFC; }
    .gpqc-col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
    .gpqc-msg.mine .gpqc-col { align-items: flex-end; }
    .gpqc-meta { display: flex; align-items: baseline; gap: 7px; padding: 0 4px; }
    .gpqc-au { font-size: 11.5px; font-weight: 800; color: var(--propia-text-body); }
    .gpqc-msg.mine .gpqc-au { color: #4B6FD1; }
    .gpqc-dt { font-size: 10.5px; color: var(--propia-text-faint); font-weight: 600; }
    .gpqc-bubble { min-width: 0; max-width: 100%; background: #FEF8E6; border: 1px solid #F5EBC7; border-radius: 14px 14px 14px 4px; padding: 9px 12px; }
    .gpqc-msg.mine .gpqc-bubble { background: #E9F1FD; border-color: #D2E1F7; border-radius: 14px 14px 4px 14px; }
    .gpqc-bubble.has-file { max-width: 260px; }
    .gpqc-tx { font-size: 13px; color: #2B3B4E; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
    .gpqc-cap { margin-top: 4px; }
    .gpqc-img { margin: 2px 0 5px; border-radius: 8px; overflow: hidden; cursor: zoom-in; max-width: 100%; }
    .gpqc-img img { display: block; width: 100%; max-height: 220px; object-fit: cover; }
    .gpqc-pdf { position: relative; display: block; margin: 2px 0 5px; border: 1px solid var(--propia-border-divider); border-radius: 8px; overflow: hidden; height: 160px; background: var(--propia-bg-card); cursor: pointer; }
    .gpqc-pdf-fr { width: 100%; height: 100%; border: 0; pointer-events: none; background: var(--propia-bg-card); }
    .gpqc-pdf-hint { position: absolute; right: 6px; bottom: 6px; font-size: 10px; font-weight: 800; color: var(--propia-text-inverse); background: rgba(27,42,58,.72); border-radius: 12px; padding: 2px 9px; }
    .gpqc-file { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: #4B3AA6; background: rgba(109,79,227,.08); border: 1px solid rgba(109,79,227,.18); border-radius: 8px; padding: 5px 9px; font-size: 12px; font-weight: 700; max-width: 100%; }
    .gpqc-file:hover { background: rgba(109,79,227,.15); }
    .gpqc-fnm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpqc-composerwrap { position: relative; display: flex; flex-direction: column; gap: 6px; }
    .gpqc-composer { display: flex; align-items: flex-end; gap: 6px; border: 1px solid var(--propia-border-card); border-radius: 24px; padding: 5px 6px; background: var(--propia-bg-card); box-shadow: 0 1px 3px rgba(27,42,58,.05); }
    .gpqc-composer:focus-within { border-color: var(--propia-brand); box-shadow: 0 0 0 3px rgba(109,79,227,.12); }
    .gpqc-clip { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; color: var(--propia-brand); background: #F3F0FE; cursor: pointer; flex-shrink: 0; }
    .gpqc-clip:hover { background: #E7E0FC; }
    .gpqc-clip-load { font-size: 15px; font-weight: 800; color: var(--propia-brand); }
    .gpqc-input2 { flex: 1 1 auto; border: 0; outline: none; resize: none; font-family: inherit; font-size: 13px; color: var(--propia-text-body); line-height: 1.5; padding: 8px 6px; max-height: 96px; background: transparent; }
    .gpqc-send { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--propia-brand); color: var(--propia-text-inverse); cursor: pointer; flex-shrink: 0; }
    .gpqc-send:disabled { background: #C7CEDA; cursor: not-allowed; }
    .gpqc-pend { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; max-width: 100%; background: #F3F0FE; border: 1px solid #DED4FB; color: #4B3AA6; border-radius: 10px; padding: 6px 10px; font-size: 12px; font-weight: 700; }
    .gpqc-pend-nm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
    .gpqc-pend-x { display: inline-flex; border: 0; background: transparent; color: #7C6BC7; cursor: pointer; padding: 0; }
    .gpqc-pend-x:hover { color: #4B3AA6; }
    .gpqc-menc-pop { position: absolute; bottom: calc(100% + 6px); left: 0; right: 0; max-height: 210px; overflow-y: auto; background: var(--propia-bg-card); border: 1px solid var(--propia-border-card); border-radius: 12px; box-shadow: 0 10px 30px rgba(27,42,58,.16); padding: 5px; z-index: 40; }
    .gpqc-menc-it { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; background: transparent; padding: 7px 9px; border-radius: 8px; cursor: pointer; text-align: left; font-family: inherit; }
    .gpqc-menc-it:hover { background: #F3F0FE; }
    .gpqc-menc-ava { width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; color: var(--propia-brand); background: var(--propia-brand-soft); }
    .gpqc-menc-nm { font-size: 12.5px; font-weight: 700; color: var(--propia-text-body); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .gpqc-lb { position: fixed; inset: 0; z-index: 3200; background: rgba(8,12,20,.9); display: flex; align-items: center; justify-content: center; padding: 30px; cursor: zoom-out; }
    .gpqc-lb-img { max-width: 94vw; max-height: 94vh; object-fit: contain; border-radius: 8px; box-shadow: 0 12px 60px rgba(0,0,0,.5); cursor: default; }
    .gpqc-lb-x { position: fixed; top: 18px; right: 22px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: var(--propia-text-inverse); display: flex; align-items: center; justify-content: center; cursor: pointer; }
    .gpqc-lb-x:hover { background: rgba(255,255,255,.28); }
    [data-bs-theme="dark"] .gpqc-composer { background: #1a1a35; border-color: var(--propia-border-card); }
    [data-bs-theme="dark"] .gpqc-input2 { color: #d5d9f0; }
    [data-bs-theme="dark"] .gpqc-menc-pop { background: #1a1a35; border-color: var(--propia-border-card); }
    [data-bs-theme="dark"] .gpqc-menc-it:hover { background: #262647; }
    [data-bs-theme="dark"] .gpqc-menc-nm { color: #d5d9f0; }
    [data-bs-theme="dark"] .gpqc-pend { background: #262647; border-color: var(--propia-border-card); color: #b9a8f5; }

    /* Layout 3 columnas explicitas (estilo Tareas): pills y flags full-width arriba,
       luego la grilla .gpq-cols con 3 columnas independientes. Colapsa en angosto. */
    .gpq-cols { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
    .gpq-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
    .gpq-col > .gpq-card { margin-bottom: 0; }
    /* Sub-fila Solicitante | Plazo dentro de la columna de contenido (1 col en angosto). */
    .gpq-subrow { display: grid; grid-template-columns: 1fr; gap: 12px; align-items: start; }
    .gpq-subrow > .gpq-card { margin-bottom: 0; }
    @media (min-width: 760px) { .gpq-cols { grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1100px) {
        .gpq-cols { grid-template-columns: 1.6fr 1fr; }
        /* La columna de contenido apila sus cards en orden deterministico (estilo referencia):
           Descripcion, luego Solicitante | Plazo lado a lado (.gpq-subrow), Gestion, Campos... */
        .gpq-col:not(.gpq-col--act) { display: flex; flex-direction: column; gap: 14px; }
        .gpq-subrow { grid-template-columns: 1fr 1fr; }
        /* La columna de Actividad ocupa la altura del modal: se fija arriba y su chat rellena. */
        .gpq-col--act { position: sticky; top: 0; align-self: stretch; height: calc(92vh - 185px); }
        .gpq-col--act > .gpq-card--chat { height: 100%; display: flex; flex-direction: column; margin-bottom: 0; }
        .gpq-col--act .gpqc-wrap { flex: 1 1 auto; min-height: 0; }
        .gpq-col--act .gpqc-scroll { flex: 1 1 auto; max-height: none; min-height: 0; }
    }
    [data-bs-theme="dark"] .gpq-panel-right { background: #161B2D; }
    /* === Movil (hasta 640px): pantalla completa, header en 2 filas, tabs con scroll === */
    @media (max-width: 640px) {
        .gpq-modal { height: 100vh; max-height: 100vh; }
        .gpq-header { flex-wrap: wrap; padding: 12px 14px; gap: 8px 10px; }
        .gpq-header-text { flex: 1 1 auto; min-width: 0; }
        .gpq-title--num { font-size: 18px; white-space: nowrap; }
        .gpq-close { order: 4; margin-left: auto; }
        .gpq-estado-pill, .gpq-sem { order: 5; }
        .gpq-tabs { padding: 0 8px; overflow-x: auto; }
        .gpq-tab { flex: 0 0 auto; white-space: nowrap; padding: 11px 13px; }
        .gpq-pane { padding: 16px 14px; }
    }
