/* Clinic Booking SaaS — Live Queue (doctor panel + clinic live queue) */
.lv-wrap { --lv-p:#0f766e; --lv-ink:#0f172a; --lv-muted:#64748b; --lv-line:#e2e8f0; --lv-card:#fff; --lv-ready:#f59e0b; }
.lv-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:14px; }
.lv-bar input[type=date], .lv-bar select { padding:9px 10px; border:1px solid #cbd5e1; border-radius:10px; font-size:14px; background:#fff; font-family:inherit; width:auto; }
.lv-bar .lv-date-label { font-weight:700; font-size:14px; margin-right:auto; }
.lv-navbtn { background:#fff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 12px; font-weight:700; cursor:pointer; font-family:inherit; font-size:13px; color:var(--lv-ink); }
.lv-navbtn:hover { border-color:var(--lv-p); color:var(--lv-p); }
.lv-navbtn.off { opacity:.6; }
.lv-live { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--lv-muted); font-weight:600; }
.lv-dot { width:10px; height:10px; border-radius:50%; background:#cbd5e1; display:inline-block; }
.lv-dot-on { background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:lvPulse 1.8s infinite; }
.lv-dot-off { background:#ef4444; }
@keyframes lvPulse { 0% { box-shadow:0 0 0 0 rgba(34,197,94,.55); } 70% { box-shadow:0 0 0 8px rgba(34,197,94,0); } 100% { box-shadow:0 0 0 0 rgba(34,197,94,0); } }

.lv-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; margin-bottom:14px; }
.lv-stat { background:#fff; border:1px solid var(--lv-line); border-radius:14px; padding:12px 10px; text-align:center; }
.lv-stat b { display:block; font-size:26px; font-weight:800; line-height:1.1; }
.lv-stat span { font-size:11.5px; font-weight:700; color:var(--lv-muted); text-transform:uppercase; letter-spacing:.3px; }
.lv-stat-tot b { color:#0f172a; } .lv-stat-done b { color:#16a34a; } .lv-stat-wait b { color:#0284c7; } .lv-stat-ready b { color:#d97706; } .lv-stat-cons b { color:#7c3aed; } .lv-stat-pend b { color:#b45309; }

.lv-now-grid { display:grid; grid-template-columns:1.25fr 1.25fr 1fr; gap:12px; margin-bottom:16px; }
.lv-now { background:#fff; border:1px solid var(--lv-line); border-radius:16px; padding:14px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.lv-now-h { font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:var(--lv-muted); display:flex; align-items:center; gap:8px; }
.lv-now-cur { border:2px solid #7c3aed; background:linear-gradient(180deg,#faf5ff,#fff); }
.lv-now-cur .lv-now-h { color:#7c3aed; }
.lv-now-next.is-ready { border:2px solid var(--lv-ready); background:linear-gradient(180deg,#fffbeb,#fff); animation:lvGlow 2s infinite; }
@keyframes lvGlow { 0%,100% { box-shadow:0 0 0 0 rgba(245,158,11,.0); } 50% { box-shadow:0 0 0 6px rgba(245,158,11,.18); } }
.lv-now-body { display:flex; gap:12px; align-items:center; cursor:pointer; min-width:0; }
.lv-now-body > div:last-child { min-width:0; }
.lv-now-act { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; }
.lv-up { display:flex; flex-wrap:wrap; gap:6px; }
.lv-up-chip { min-width:38px; height:38px; padding:0 8px; border-radius:10px; background:#f1f5f9; display:inline-flex; align-items:center; justify-content:center; font-weight:800; cursor:pointer; font-size:14px; }
.lv-up-chip.st-ready { background:#fef3c7; color:#92400e; outline:2px solid var(--lv-ready); }
.lv-up-chip.st-checked-in, .lv-up-chip.st-waiting { background:#e0f2fe; color:#075985; }
.lv-more { font-size:12px; color:var(--lv-muted); align-self:center; }
.lv-ready-tag { background:var(--lv-ready); color:#fff; font-size:10.5px; padding:2px 8px; border-radius:20px; font-weight:800; letter-spacing:.5px; }
.lv-docq { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.lv-docq-row { display:grid; grid-template-columns:1.2fr 1.6fr 1.6fr .8fr; gap:10px; background:#fff; border:1px solid var(--lv-line); border-radius:12px; padding:10px 14px; font-size:13px; align-items:center; }

.lv-serial { width:46px; height:46px; flex:0 0 46px; border-radius:12px; background:#0f172a; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; }
.lv-serial.big { width:62px; height:62px; flex-basis:62px; font-size:26px; border-radius:16px; }
.lv-serial small { font-size:14px; opacity:.6; }
.lv-name { font-weight:800; font-size:15.5px; color:var(--lv-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lv-meta { font-weight:600; color:var(--lv-muted); font-size:12.5px; }
.lv-sub { font-size:12.5px; color:var(--lv-muted); margin-top:2px; }
.lv-vitals { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.lv-chip { background:#f0fdfa; border:1px solid #99f6e4; color:#115e59; font-size:11.5px; padding:2px 8px; border-radius:20px; white-space:nowrap; }
.lv-chip b { font-weight:800; }
.lv-novitals { font-size:11.5px; color:#b45309; margin-top:5px; font-weight:600; }
.lv-remark, .lv-nv { font-size:12.5px; margin-top:5px; color:#334155; }
.lv-vt { display:inline-block; font-size:10.5px; font-weight:800; padding:1px 7px; border-radius:10px; background:#e2e8f0; color:#334155; text-transform:uppercase; letter-spacing:.3px; }
.lv-vt.vt-new { background:#dbeafe; color:#1d4ed8; } .lv-vt.vt-follow-up { background:#ede9fe; color:#6d28d9; } .lv-vt.vt-revisit { background:#e0f2fe; color:#0369a1; }
.lv-src { font-size:11.5px; }

.lv-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.lv-filters button { background:#fff; border:1px solid var(--lv-line); border-radius:20px; padding:6px 12px; font-size:12.5px; font-weight:700; cursor:pointer; color:#475569; font-family:inherit; }
.lv-filters button span { background:#f1f5f9; border-radius:10px; padding:0 7px; margin-left:4px; font-size:11px; }
.lv-filters button.on { background:#0f172a; color:#fff; border-color:#0f172a; }
.lv-filters button.on span { background:rgba(255,255,255,.2); }
.lv-card { display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--lv-line); border-left:5px solid #cbd5e1; border-radius:14px; padding:12px; margin-bottom:8px; cursor:pointer; transition:box-shadow .2s, transform .2s; }
.lv-card:hover { box-shadow:0 6px 20px rgba(15,23,42,.07); }
.lv-main { flex:1; min-width:0; }
.lv-side { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.lv-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.lv-card.st-booked, .lv-card.st-payment-verification { border-left-color:#f59e0b; opacity:.9; }
.lv-card.st-approved { border-left-color:#0ea5e9; } .lv-card.st-checked-in, .lv-card.st-waiting { border-left-color:#0284c7; }
.lv-card.st-in-consultation, .lv-card.is-current { border-left-color:#7c3aed; background:#faf5ff; }
.lv-card.st-completed, .lv-card.st-follow-up { border-left-color:#16a34a; opacity:.78; }
.lv-card.st-cancelled { border-left-color:#ef4444; opacity:.55; }
.lv-card.is-ready { border-left-color:var(--lv-ready); background:#fffbeb; box-shadow:0 0 0 2px rgba(245,158,11,.35); animation:lvGlow 2s infinite; }
.lv-card.is-ready .lv-serial { background:var(--lv-ready); }
.lv-card.st-in-consultation .lv-serial { background:#7c3aed; }
.lv-card.st-completed .lv-serial, .lv-card.st-follow-up .lv-serial { background:#16a34a; }

.lv-badge { display:inline-block; font-size:11px; font-weight:800; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.lv-badge.st-booked { background:#fef3c7; color:#b45309; } .lv-badge.st-payment-verification { background:#fde68a; color:#92400e; }
.lv-badge.st-approved { background:#e0f2fe; color:#0369a1; } .lv-badge.st-checked-in { background:#cffafe; color:#0e7490; } .lv-badge.st-waiting { background:#dbeafe; color:#1d4ed8; }
.lv-badge.st-ready { background:var(--lv-ready); color:#fff; } .lv-badge.st-in-consultation { background:#ede9fe; color:#6d28d9; }
.lv-badge.st-completed { background:#dcfce7; color:#15803d; } .lv-badge.st-follow-up { background:#f3e8ff; color:#7e22ce; } .lv-badge.st-cancelled { background:#fee2e2; color:#b91c1c; }

.lv-btn { background:#fff; border:1px solid #cbd5e1; color:#0f172a; border-radius:9px; padding:7px 12px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit; white-space:nowrap; }
.lv-btn:hover { border-color:var(--lv-p); }
.lv-btn:disabled { opacity:.5; cursor:wait; }
.lv-btn-sm { padding:3px 10px; font-size:11.5px; margin-left:auto; }
.lv-btn-ok { background:#16a34a; border-color:#16a34a; color:#fff; }
.lv-btn-pri { background:#7c3aed; border-color:#7c3aed; color:#fff; }
.lv-btn-ready { background:var(--lv-ready); border-color:var(--lv-ready); color:#fff; }
.lv-btn-ghost { background:transparent; border-color:transparent; color:var(--lv-muted); }
.lv-status-sel option, .lv-inline select option { color:#0f172a; background:#fff; }
.lv-status-sel { padding:6px 6px; color:#0f172a; background:#fff; border:1px solid #cbd5e1; border-radius:9px; font-size:12px; width:auto !important; font-family:inherit; }
.lv-empty { color:#94a3b8; font-size:13px; }
.lv-empty-big { text-align:center; padding:30px 10px; background:#fff; border:1px dashed var(--lv-line); border-radius:14px; }
.lv-loading { text-align:center; color:var(--lv-muted); padding:30px; }

/* Modal */
.lv-modal-wrap { position:fixed; inset:0; background:rgba(15,23,42,.55); z-index:100000; display:none; align-items:flex-start; justify-content:center; padding:24px 12px; overflow-y:auto; }
.lv-modal-wrap.open { display:flex; }
body.lv-noscroll { overflow:hidden; }
.lv-modal { background:#f8fafc; width:100%; max-width:900px; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.35); overflow:hidden; font-size:14px; color:#0f172a; }
.lv-mhead { display:flex; gap:14px; align-items:center; padding:16px 18px; background:#fff; border-bottom:1px solid var(--lv-line, #e2e8f0); position:sticky; top:0; z-index:2; }
.lv-mhead.st-ready { background:#fffbeb; } .lv-mhead.st-in-consultation { background:#faf5ff; }
.lv-mtitle { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.lv-mtitle .lv-name { font-size:19px; white-space:normal; }
.lv-x { background:#f1f5f9; border:none; width:36px; height:36px; border-radius:10px; font-size:16px; cursor:pointer; }
.lv-mbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 18px; background:#fff; border-bottom:1px solid #e2e8f0; }
.lv-mbar:empty { display:none; }
.lv-inline { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#475569; }
.lv-inline select { padding:6px; border:1px solid #cbd5e1; border-radius:8px; font-family:inherit; }
.lv-mgrid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 18px 18px; }
.lv-sec { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:14px; min-width:0; }
.lv-sec-wide { grid-column:1/-1; }
.lv-sec h4 { margin:0 0 10px; font-size:14px; display:flex; align-items:center; gap:8px; }
.lv-kv { display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px dashed #eef2f7; font-size:13px; }
.lv-kv span { color:#64748b; } .lv-kv b { text-align:right; font-weight:700; word-break:break-word; }
.lv-vgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; }
.lv-v { background:#f0fdfa; border:1px solid #ccfbf1; border-radius:10px; padding:8px 10px; }
.lv-v.wide { grid-column:1/-1; background:#f8fafc; border-color:#e2e8f0; }
.lv-v span { display:block; font-size:11px; color:#0f766e; font-weight:700; text-transform:uppercase; }
.lv-v b { font-size:15px; } .lv-v b small { font-weight:600; color:#64748b; font-size:11px; }
.lv-note { font-size:11.5px; color:#94a3b8; margin-top:6px; }
.lv-vform { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.lv-vform label { font-size:12px; font-weight:700; color:#475569; display:flex; flex-direction:column; gap:4px; }
.lv-vform label.wide, .lv-vform .wide { grid-column:1/-1; }
.lv-vform input, .lv-vform textarea, #lvConsultForm textarea, #lvConsultForm input, #lvConsultForm select { width:100%; padding:9px 11px; border:1px solid #cbd5e1; border-radius:9px; font-size:14px; font-family:inherit; box-sizing:border-box; background:#fff; }
#lvConsultForm label { display:block; font-size:12px; font-weight:700; color:#475569; margin:10px 0 4px; }
#lvConsultForm label.lv-inline { display:inline-flex; margin:0; }
#lvConsultForm .lv-inline input { width:auto; }
.lv-nvrow { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lv-nvrow input[type=number] { width:90px !important; } .lv-nvrow select { width:auto !important; } .lv-nvrow input[type=date] { width:auto !important; }
.lv-nvrow span { font-size:12.5px; color:#64748b; font-weight:600; }
.lv-presets { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.lv-presets button { background:#fff; border:1px solid #c4b5fd; color:#6d28d9; border-radius:20px; padding:5px 12px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit; }
.lv-presets button.on { background:#7c3aed; color:#fff; border-color:#7c3aed; }
.lv-presets .lv-clear { border-color:#e2e8f0; color:#64748b; }
.lv-nvresult { margin-top:10px; background:#f5f3ff; border-radius:10px; padding:10px 12px; font-size:13.5px; color:#4c1d95; }
.lv-mfoot { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:14px; }
.lv-hist { display:flex; flex-direction:column; gap:8px; }
.lv-hrow { display:grid; grid-template-columns:170px 1fr; gap:10px; border:1px solid #eef2f7; border-radius:10px; padding:10px; font-size:13px; }
.lv-hdate { display:flex; flex-direction:column; gap:3px; align-items:flex-start; }
.lv-hdate small { color:#64748b; }
.lv-hbody > div { margin-bottom:3px; }

#lvToasts { position:fixed; left:50%; transform:translateX(-50%); bottom:18px; z-index:100001; display:flex; flex-direction:column; gap:8px; align-items:center; width:min(92vw,460px); pointer-events:none; }
.lv-toast { pointer-events:auto; background:#0f172a; color:#fff; padding:11px 16px; border-radius:12px; font-size:13.5px; font-weight:600; box-shadow:0 10px 30px rgba(0,0,0,.25); transition:opacity .4s, transform .4s; width:100%; }
.lv-toast a { color:#7dd3fc; }
.lv-toast-err { background:#b91c1c; } .lv-toast-ready { background:#d97706; font-size:15px; } .lv-toast-ok { background:#065f46; } .lv-toast-info { background:#1e3a8a; }
.lv-toast.out { opacity:0; transform:translateY(10px); }

@media (max-width:860px) {
    .lv-now-grid { grid-template-columns:1fr 1fr; }
    .lv-now-up { grid-column:1/-1; }
    .lv-docq-row { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
    .lv-now-grid { grid-template-columns:1fr; }
    .lv-card { flex-wrap:wrap; }
    .lv-side { flex-direction:row; flex-wrap:wrap; align-items:center; width:100%; justify-content:space-between; }
    .lv-mgrid { grid-template-columns:1fr; padding:10px; }
    .lv-modal-wrap { padding:0; }
    .lv-modal { border-radius:0; min-height:100%; }
    .lv-hrow { grid-template-columns:1fr; }
    .lv-stats { grid-template-columns:repeat(3,1fr); }
    .lv-stat b { font-size:22px; }
}

/* Rx / tests editors */
.lv-rows { display:flex; flex-direction:column; gap:6px; margin-top:4px; }
.lv-row { display:grid; gap:6px; align-items:center; }
.lv-row.rx { grid-template-columns:22px 2fr 1fr 1fr 1fr 1.4fr 30px; }
.lv-row.tst { grid-template-columns:1.4fr 1fr 30px; }
.lv-row .n { font-weight:800; color:#7c3aed; text-align:center; }
.lv-row input { padding:7px 8px !important; font-size:13px !important; }
.lv-row button { background:#fee2e2; color:#dc2626; border:none; border-radius:8px; height:32px; cursor:pointer; }
.lv-addrow { margin-top:6px; background:#f5f3ff; color:#6d28d9; border:1px dashed #c4b5fd; border-radius:9px; padding:6px 12px; font-weight:700; cursor:pointer; font-size:12.5px; font-family:inherit; }
.lv-printbar { display:flex; flex-wrap:wrap; gap:6px; margin-left:auto; }
.lv-printbar a { text-decoration:none; }
.lv-rxlist { margin:0; padding-left:18px; font-size:13px; } .lv-rxlist li { margin:3px 0; }
@media (max-width:600px) { .lv-row.rx { grid-template-columns:22px 1fr 1fr 30px; } .lv-row.rx input[data-k="freq"], .lv-row.rx input[data-k="duration"] { grid-column:auto; } .lv-row.rx input[data-k="name"] { grid-column:2 / 4; } }
.lv-ttable { width:100%; border-collapse:collapse; margin-top:8px; font-size:13px; } .lv-ttable td { border:1px solid #e2e8f0; padding:6px 8px; }
.lv-serial.prov { background:#fff; color:#b45309; border:2px dashed #f59e0b; font-size:15px; }
.lv-serial.prov small { font-size:11px; opacity:1; margin-right:1px; font-weight:800; }
.lv-serial.big.prov { font-size:22px; }
.lv-notarr { font-size:11.5px; color:#b45309; margin-top:5px; font-weight:600; }
.lv-card.st-approved { opacity:.85; }
.lv-stat-exp b { color:#94a3b8; }
/* medicine autocomplete */
.lv-ac { position:absolute; z-index:100002; background:#fff; border:1px solid #cbd5e1; border-radius:10px; box-shadow:0 14px 34px rgba(15,23,42,.18); max-height:300px; overflow-y:auto; font-size:13px; }
.lv-ac div { padding:8px 11px; cursor:pointer; border-bottom:1px solid #f1f5f9; }
.lv-ac div:last-child { border-bottom:none; }
.lv-ac div.on, .lv-ac div:hover { background:#f5f3ff; }
.lv-ac b { color:#0f172a; } .lv-ac small { display:block; color:#64748b; font-size:11.5px; margin-top:1px; }
.lv-ac .lv-ac-tag { display:inline-block; font-size:10px; font-weight:800; background:#ede9fe; color:#6d28d9; border-radius:8px; padding:0 6px; margin-left:6px; }
.lv-ac .lv-ac-empty { color:#94a3b8; cursor:default; }

/* Medicine Finder */
.lv-modal-wide { max-width:1100px; }
.lv-mf-bar { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr 1fr auto; gap:8px; }
.lv-mf-bar input, .lv-mf-bar select { width:100% !important; padding:10px 12px; border:1px solid #cbd5e1; border-radius:10px; font-size:14px; font-family:inherit; background:#fff; box-sizing:border-box; }
.lv-mf-bar .lv-mf-q { border:2px solid #7c3aed; }
.lv-mf-info { font-size:12.5px; color:#64748b; margin:10px 0; }
.lv-mf-table { width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
.lv-mf-table th { text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; color:#64748b; padding:9px 10px; border-bottom:2px solid #e2e8f0; background:#f8fafc; position:sticky; top:0; }
.lv-mf-table td { padding:8px 10px; border-bottom:1px solid #f1f5f9; vertical-align:top; }
.lv-mf-table tr:hover td { background:#faf5ff; }
.lv-mf-table a { color:#6d28d9; text-decoration:none; } .lv-mf-table a:hover { text-decoration:underline; }
.lv-mf-tag { font-size:10px; font-weight:800; background:#dbeafe; color:#1d4ed8; border-radius:8px; padding:1px 6px; }
.lv-mf-src { font-size:11px; font-weight:700; background:#f1f5f9; color:#475569; border-radius:8px; padding:2px 7px; white-space:nowrap; }
.lv-mf-more { display:block; margin:12px auto; }
@media (max-width:760px) {
    .lv-mf-bar { grid-template-columns:1fr 1fr; } .lv-mf-bar .lv-mf-q { grid-column:1/-1; }
    .lv-mf-table thead { display:none; }
    .lv-mf-table, .lv-mf-table tbody, .lv-mf-table tr, .lv-mf-table td { display:block; width:100%; }
    .lv-mf-table tr { border:1px solid #e2e8f0; border-radius:12px; margin-bottom:8px; padding:6px 4px; background:#fff; }
    .lv-mf-table td { border:none; padding:3px 10px; display:flex; gap:10px; }
    .lv-mf-table td::before { content:attr(data-l); min-width:92px; color:#94a3b8; font-size:11px; font-weight:700; text-transform:uppercase; padding-top:2px; }
}

.lv-mf-add { margin-top:10px; background:#f5f3ff; border:1px dashed #c4b5fd; border-radius:12px; padding:12px 14px; }
.lv-mf-addhelp { display:block; font-size:12px; color:#64748b; margin:2px 0 8px; }
.lv-mf-addgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.lv-mf-addgrid input, .lv-mf-addgrid select { width:100% !important; padding:9px 11px; border:1px solid #cbd5e1; border-radius:9px; font-size:14px; font-family:inherit; box-sizing:border-box; background:#fff; }
.lv-mf-src.added { background:#dcfce7; color:#15803d; }
.lv-mf-del { color:#dc2626 !important; font-size:12px; margin-left:6px; }
@media (max-width:760px) { .lv-mf-addgrid { grid-template-columns:1fr 1fr; } .lv-mf-bar .lv-mf-addbtn { grid-column:1/-1; } }

/* Search by disease */
.lv-modal-wrap.lv-modal-top { z-index:100003; }
.lv-mf-tabs { display:flex; gap:6px; margin-bottom:12px; border-bottom:2px solid #e2e8f0; }
.lv-mf-tabs button { background:none; border:none; padding:9px 14px; font-weight:800; font-size:13.5px; color:#64748b; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; font-family:inherit; }
.lv-mf-tabs button.on { color:#6d28d9; border-bottom-color:#7c3aed; }
.lv-dz-bar { grid-template-columns:1fr auto !important; }
.lv-ref-banner { background:#fffbeb; border:1px solid #fcd34d; color:#78350f; border-radius:10px; padding:9px 12px; font-size:13px; margin-bottom:10px; }
.lv-disclaimer { margin-top:18px; background:#fef2f2; border:1px solid #fecaca; color:#7f1d1d; border-radius:12px; padding:12px 14px; font-size:12.5px; line-height:1.6; }
.lv-disclaimer small { color:#991b1b; opacity:.8; }
.lv-dz-h { margin:16px 0 6px; font-size:14px; color:#0f172a; }
.lv-dz-note { font-size:12px; color:#92400e; margin:4px 0 8px; }
.lv-warn-tag { display:inline-block; font-size:10.5px; font-weight:800; background:#fef3c7; color:#92400e; border-radius:8px; padding:2px 7px; white-space:nowrap; }
.lv-dz-card { background:#fff; border:1px solid #e2e8f0; border-left:4px solid #f59e0b; border-radius:12px; padding:12px 14px; margin-bottom:10px; font-size:13px; }
.lv-dz-top { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:6px; }
.lv-dz-name { font-size:15px; } .lv-dz-top .lv-warn-tag { margin-left:auto; }
.lv-dz-role { font-size:11px; font-weight:800; background:#ede9fe; color:#6d28d9; border-radius:8px; padding:2px 8px; }
.lv-dz-ind, .lv-dz-gen { color:#334155; line-height:1.55; margin:4px 0; } .lv-dz-ind span, .lv-dz-gen span { font-weight:800; color:#64748b; font-size:11.5px; text-transform:uppercase; }
.lv-dz-ind mark { background:#fde68a; padding:0 2px; border-radius:3px; }
.lv-dz-contra { margin:6px 0; color:#7f1d1d; } .lv-dz-contra summary { cursor:pointer; font-weight:700; color:#b91c1c; font-size:12.5px; }
.lv-dz-brandbar { margin-top:6px; } .lv-dz-brandbar .lv-btn-sm { margin-left:0; }
.lv-dz-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.lv-dz-chip { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:5px 9px; font-size:12.5px; }
.lv-dz-chip small { display:block; color:#94a3b8; font-size:11px; } .lv-dz-chip i { color:#6d28d9; font-style:normal; font-weight:700; font-size:11px; }
.lv-dz-all { display:inline-block; margin-top:8px; color:#6d28d9; font-weight:700; font-size:12.5px; }
.lv-reflink { background:none; border:none; color:#6d28d9; font-weight:700; font-size:12.5px; cursor:pointer; padding:4px 0; font-family:inherit; }
/* ---- 1.7: templates, reports, trends, activity log ---- */
.lv-private { font-weight:600; font-size:10.5px; color:#94a3b8; margin-left:6px; text-transform:none; letter-spacing:0; }
.lv-tplbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; background:#f5f3ff; border:1px dashed #c4b5fd; border-radius:10px; padding:8px; margin:4px 0 8px; }
.lv-tplbar select { flex:1 1 180px; min-width:0; padding:6px 8px; border:1px solid #ddd6fe; border-radius:8px; font:inherit; font-size:13px; background:#fff; }
.lv-tplbar .lv-btn-sm { margin-left:0; }
.lv-tpl-save { display:flex; gap:6px; flex:1 1 260px; }
.lv-tpl-save input { flex:1; min-width:0; padding:6px 8px; border:1px solid #ddd6fe; border-radius:8px; font:inherit; font-size:13px; }
.lv-repform { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:10px; }
.lv-repform input[type=text] { flex:1 1 200px; padding:7px 9px; border:1px solid #cbd5e1; border-radius:8px; font:inherit; font-size:13px; }
.lv-repform input[type=file] { flex:1 1 200px; font-size:12.5px; }
.lv-reps { display:flex; flex-direction:column; gap:6px; }
.lv-rep { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:8px 10px; }
.lv-rep a { color:#0f172a; text-decoration:none; font-size:13.5px; }
.lv-rep small { color:#64748b; font-size:11.5px; flex:1; }
.lv-x-sm { background:none; border:none; color:#b91c1c; cursor:pointer; font-size:13px; padding:2px 6px; }
.lv-trends { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:10px; }
.lv-trend { border:1px solid #e2e8f0; border-radius:12px; padding:10px 10px 4px; background:#fff; }
.lv-trend-h { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; font-size:12px; }
.lv-trend-h span { font-weight:700; color:#475569; }
.lv-trend-h b { font-size:17px; color:#0f172a; } .lv-trend-h b small { font-size:11px; color:#94a3b8; font-weight:600; }
.lv-trend-h em { font-style:normal; font-size:11px; color:#64748b; margin-left:auto; } .lv-trend-h em.up { color:#b45309; } .lv-trend-h em.down { color:#0369a1; }
.lv-chart { width:100%; height:auto; display:block; }
.lv-chart .ax { font-size:10px; fill:#94a3b8; font-family:inherit; }
.lv-chart .vl { font-size:10px; fill:#334155; font-weight:700; font-family:inherit; }
.lv-log summary { cursor:pointer; font-size:13px; }
.lv-logrow { display:grid; grid-template-columns:130px 170px 1fr; gap:8px; font-size:12px; padding:6px 0; border-bottom:1px solid #f1f5f9; }
.lv-logrow span:first-child { color:#64748b; } .lv-logrow b small { color:#94a3b8; font-weight:600; }
@media (max-width:640px) { .lv-logrow { grid-template-columns:1fr; gap:2px; } }
a.lv-navbtn { text-decoration:none; color:inherit; }
