:root{
  --tlb-navy:#102A43;
  --tlb-blue:#12355B;
  --tlb-cyan:#16B8C7;
  --tlb-teal:#0B7180;
  --tlb-mint:#E9FBF8;
  --tlb-soft:#F6FBFC;
  --tlb-ink:#17212B;
  --tlb-muted:#64748B;
  --tlb-line:#E4EEF1;
}
.panel-shell{background:linear-gradient(180deg,#F6FBFC 0%,#FFFFFF 72%);min-height:calc(100vh - 76px)}
.panel-hero{background:radial-gradient(circle at 86% 6%,rgba(22,184,199,.16),transparent 34%),linear-gradient(135deg,#102A43,#12355B);border-radius:30px;color:white;overflow:hidden;position:relative;box-shadow:0 24px 70px rgba(16,42,67,.22)}
.panel-hero:after{content:"";position:absolute;right:-90px;bottom:-120px;width:320px;height:320px;border-radius:999px;background:rgba(124,228,212,.18)}
.panel-hero>*{position:relative;z-index:1}.panel-kicker{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;color:#DDFBFA;background:rgba(255,255,255,.08)}
.tlb-card{border:1px solid var(--tlb-line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(16,42,67,.07)}
.tlb-card-sm{border:1px solid var(--tlb-line);border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(16,42,67,.055)}
.tlb-stat{border-radius:22px;background:white;border:1px solid var(--tlb-line);padding:1.15rem;box-shadow:0 14px 38px rgba(16,42,67,.055)}
.tlb-stat .num{font-size:2rem;font-weight:800;letter-spacing:-.045em;color:var(--tlb-navy)}
.tlb-stat .label{font-size:.9rem;color:var(--tlb-muted)}
.tlb-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #E9FBF8;background:#fff}.tlb-avatar-lg{width:104px;height:104px}.tlb-avatar-sm{width:42px;height:42px}
.tlb-sidebar{position:sticky;top:96px}.tlb-nav-list a{display:flex;gap:.65rem;align-items:center;text-decoration:none;color:var(--tlb-navy);padding:.72rem .82rem;border-radius:15px;font-weight:600}.tlb-nav-list a:hover,.tlb-nav-list a.active{background:var(--tlb-mint);color:var(--tlb-teal)}
.qr-panel{border:1px dashed #97D7DD;border-radius:22px;background:linear-gradient(180deg,#FFFFFF,#F9FEFF);padding:1rem;text-align:center}.key-box{font-weight:800;letter-spacing:.06em;color:var(--tlb-navy);background:#F1FBFC;border-radius:16px;padding:.75rem;word-break:break-word}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:#DCECEF}.timeline-item{position:relative;padding-left:54px;margin-bottom:1rem}.timeline-dot{position:absolute;left:9px;top:5px;width:24px;height:24px;border-radius:50%;background:#16B8C7;border:4px solid #E9FBF8}.note-own{border-left:5px solid #16B8C7}.note-readonly{border-left:5px solid #94A3B8;background:#F8FAFC}.permission-card{border:1px solid var(--tlb-line);border-radius:20px;padding:1rem;background:#fff}.permission-card.active{border-color:#B9E9E8;background:#FBFFFE}.permission-card.revoked{background:#F8FAFC}.mini-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#78909C;font-weight:800}.table-clean td,.table-clean th{vertical-align:middle;padding:1rem .75rem}.form-control,.form-select{border-radius:14px;border-color:#DCE8EC}.btn{border-radius:14px}.btn-primary{background:linear-gradient(135deg,#102A43,#16B8C7);border:0}.btn-outline-primary{border-color:#16B8C7;color:#102A43}.btn-outline-primary:hover{background:#16B8C7;border-color:#16B8C7}.empty-state{border:1px dashed #CDE4E8;border-radius:22px;padding:2rem;text-align:center;background:#FBFEFF}.read-banner{border-radius:18px;background:#F8FAFC;border:1px solid #E2E8F0;padding:1rem}.access-active{color:#047857}.access-revoked{color:#64748B}.compact-card-link{text-decoration:none;color:inherit}.compact-card-link:hover .tlb-card-sm{border-color:#16B8C7;transform:translateY(-1px)}.tlb-card-sm{transition:.18s ease}
@media(max-width:991px){.tlb-sidebar{position:static}.panel-hero{border-radius:24px}.table-responsive{font-size:.92rem}}
.payment-card{background:#fff}.message-list{max-height:520px;overflow:auto}.message-bubble{border-radius:18px;padding:12px 14px;margin-bottom:10px;max-width:80%}.message-bubble.mine{background:#0d6efd;color:#fff;margin-left:auto}.message-bubble.theirs{background:#f1f4f8;color:#152238}.chat-thread-item{display:block;text-decoration:none;color:inherit;border:1px solid rgba(20,32,55,.08);border-radius:18px;padding:14px;margin-bottom:10px;background:#fff}.chat-thread-item.active,.chat-thread-item:hover{border-color:rgba(13,110,253,.45);background:#f8fbff}.read-banner{border-radius:18px;padding:14px;background:#eef6ff;border:1px solid rgba(13,110,253,.15)}
.directory-card{border:1px solid rgba(8,26,47,.08);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(8,26,47,.08);transition:.18s ease}.directory-card:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(8,26,47,.12)}.doc-request-card{border-left:4px solid #2d6cdf}.form-section{background:#f8fbff;border:1px solid rgba(45,108,223,.12);border-radius:18px;padding:18px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:#2d6cdf;display:inline-block;margin-right:8px}.privacy-note{background:linear-gradient(135deg,#f4fbff,#fff);border:1px solid rgba(45,108,223,.16);border-radius:20px;padding:18px}.appointment-slot{border:1px solid rgba(8,26,47,.1);border-radius:18px;padding:16px;background:#fff}.search-panel{background:#061424;color:#fff;border-radius:28px;padding:24px}.search-panel .form-label{color:#d8e6ff}.mini-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef5ff;color:#123b6d;font-size:.83rem;font-weight:600}.document-download{border:1px dashed rgba(8,26,47,.18);border-radius:18px;padding:14px;background:#fbfdff}.clinical-form-readonly{background:#fff;border:1px solid rgba(8,26,47,.08);border-radius:18px;padding:16px}.clinical-form-readonly h4{font-size:.95rem;color:#0b3b73}.clinical-form-readonly dt{font-size:.8rem;color:#697386}.clinical-form-readonly dd{margin-bottom:1rem}.status-pill{border-radius:999px;padding:.35rem .7rem;font-weight:700;font-size:.78rem}.public-profile-hero{background:radial-gradient(circle at 20% 10%,#e8f7ff,transparent 35%),linear-gradient(135deg,#061424,#123b6d);color:#fff;border-radius:30px}.public-profile-hero .text-secondary{color:#d4e6ff!important}
