From 86cfad6e68c05e95a1bdfe526436ed687389ea78 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Tue, 23 Jun 2026 23:49:02 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20modal=20pacientes=20redise=C3=B1ado=20?= =?UTF-8?q?=E2=80=94=20m=C3=A1s=20elegante=20y=20moderno?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Header con avatar de iniciales + gradiente brand + subtítulo - Secciones agrupadas en cards con fondo sutil y borde brand - Todos los campos usan form-floating (labels animados) - Footer con botones mejor definidos y gradiente brand - Avatar se actualiza en tiempo real al escribir el nombre Co-Authored-By: Claude Sonnet 4.6 --- lab_pacientes.php | 303 ++++++++++++++++++++++++++++++---------------- 1 file changed, 196 insertions(+), 107 deletions(-) diff --git a/lab_pacientes.php b/lab_pacientes.php index cc32c99..7da5090 100644 --- a/lab_pacientes.php +++ b/lab_pacientes.php @@ -58,44 +58,80 @@ $brandDark = sprintf('#%02x%02x%02x', .hist-badge { font-size: .72rem; } #detail-panel { display: none; } - /* Modal header con gradiente brand */ + /* ── Modal header ──────────────────────────────── */ .modal-header-brand { background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 100%); color: #fff; - border-radius: .5rem .5rem 0 0; - padding: 1rem 1.25rem; + padding: 1.4rem 1.5rem 1rem; + position: relative; } - .modal-header-brand .modal-title { color: #fff; font-size: .95rem; font-weight: 700; } .modal-header-brand .btn-close { filter: invert(1) brightness(2); } - - /* Secciones del formulario */ - .form-section-label { - font-size: .68rem; - font-weight: 800; - text-transform: uppercase; - letter-spacing: .1em; - color: var(--brand); - margin: .75rem 0 .4rem; - padding-bottom: .25rem; - border-bottom: 1px solid color-mix(in srgb, var(--brand) 20%, transparent); - display: flex; - align-items: center; - gap: .4rem; + .pac-avatar { + width: 52px; height: 52px; border-radius: 50%; + background: rgba(255,255,255,.18); + display: flex; align-items: center; justify-content: center; + font-size: 1.4rem; font-weight: 800; color: #fff; + border: 2px solid rgba(255,255,255,.35); + flex-shrink: 0; + } + .modal-header-brand .modal-title { + color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.2; + } + .modal-header-brand .modal-subtitle { + font-size: .75rem; opacity: .75; margin-top: 1px; } - /* Panel detalle */ + /* ── Secciones ─────────────────────────────────── */ + .form-section { + background: #f8faff; + border: 1px solid color-mix(in srgb, var(--brand) 12%, #e2e8f0); + border-radius: .6rem; + padding: .9rem 1rem .6rem; + margin-bottom: .8rem; + } + .form-section-label { + font-size: .65rem; font-weight: 800; text-transform: uppercase; + letter-spacing: .1em; color: var(--brand); + margin: 0 0 .65rem; + display: flex; align-items: center; gap: .4rem; + } + .form-section-label i { opacity: .7; } + + /* Floating label overrides */ + .form-floating > label { font-size: .8rem; color: #64748b; } + .form-floating > .form-control, + .form-floating > .form-select { font-size: .875rem; border-color: #dde3ed; border-radius: .45rem; } + .form-floating > .form-control:focus, + .form-floating > .form-select:focus { + border-color: var(--brand); + box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent); + } + + /* ── Modal footer ──────────────────────────────── */ + .modal-footer-brand { + background: #f8faff; + border-top: 1px solid #e8edf5; + padding: .8rem 1.25rem; + display: flex; gap: .5rem; justify-content: flex-end; + } + .btn-brand-solid { + background: linear-gradient(135deg, var(--brand-dark), var(--brand)); + color: #fff; border: none; border-radius: .45rem; + padding: .45rem 1.2rem; font-size: .85rem; font-weight: 600; + transition: opacity .15s; + } + .btn-brand-solid:hover { opacity: .88; color: #fff; } + + /* ── Panel detalle ─────────────────────────────── */ .detail-header-band { background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 100%); - color: #fff; - border-radius: .5rem .5rem 0 0; + color: #fff; border-radius: .5rem .5rem 0 0; padding: .75rem 1rem; - display: flex; - align-items: center; - justify-content: space-between; + display: flex; align-items: center; justify-content: space-between; } .detail-header-band .btn-close { filter: invert(1) brightness(2); } - /* Row hover en tabla */ + /* ── Tabla ─────────────────────────────────────── */ .table-hover tbody tr:hover { background: color-mix(in srgb, var(--brand) 6%, #fff) !important; } @@ -177,104 +213,146 @@ require_once __DIR__ . '/shared/components/sidebar.php';