/* TWS Patient Manager styles */
.tws-patient-list {
    display: grid;
    grid-gap: 16px;
    grid-template-columns: repeat(var(--tws-columns-mobile, 2), minmax(0, 1fr));
}
.tws-patient-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.tws-patient-image-wrap { position: relative; width: 100%; padding-top: 75%; overflow: hidden; background:#f3f4f6; }
.tws-patient-image { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; }
.tws-no-image { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#9ca3af; font-size:14px; }

.tws-patient-content { padding: 14px; display:flex; flex-direction:column; gap:8px; }
.tws-patient-title { margin:0; font-size: 18px; line-height:1.3; }
.tws-patient-title a { text-decoration:none; color:#111827; }
.tws-patient-short { color:#374151; font-size:14px; }
.tws-patient-actions { margin-top:auto; }
.tws-patient-btn { display:inline-block; padding:10px 12px; border-radius:10px; border:1px solid #e5e7eb; text-decoration:none; }

@media (min-width: 1024px) {
    .tws-patient-list {
        grid-template-columns: repeat(var(--tws-columns-desktop, 5), minmax(0, 1fr));
    }
}

/* CSS variable bridge from data attributes */
.tws-patient-list { 
    --tws-columns-mobile: 2; 
    --tws-columns-desktop: 5; 
}
.tws-patient-list[data-columns-mobile] { --tws-columns-mobile: attr(data-columns-mobile number); }
.tws-patient-list[data-columns-desktop] { --tws-columns-desktop: attr(data-columns-desktop number); }

/* -------- Single Patient Page Enhancements -------- */
.tws-container {
    max-width: 1100px;
    margin: 24px auto;
    padding: 20px;
}
.tws-patient-single {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.tws-patient-single .entry-header { margin-bottom: 16px; }
.tws-patient-single .entry-title {
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
    color: #0f172a;
}
.tws-patient-hero img {
    border-radius: 12px;
    width: 100%;
    height: auto;
    display: block;
}
.tws-patient-single .tws-patient-short {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 18px;
    color: #334155;
}
.tws-patient-single .entry-content {
    color: #334155;
    font-size: 17px;
    line-height: 1.75;
}
.tws-patient-single .entry-content p { margin: 0 0 1em; }
@media (max-width: 640px) {
    .tws-container { margin: 16px auto; padding: 16px; }
    .tws-patient-single { padding: 18px; }
    .tws-patient-single .entry-title { font-size: 24px; }
}
