/*
 * Document view ("dv") — shared layout for record show pages
 * (header + actions, meta strip, info cards, tabbed panes, tables, totals).
 * Reference implementation: resources/views/admin/invoiceReturn/show.blade.php
 * Everything is scoped under a .dv wrapper.
 */
.dv { --dv-border: var(--bs-border-color, #e5e7eb); --dv-muted: var(--bs-secondary-color, #6b7280); --dv-soft: var(--bs-tertiary-bg, #f8fafc); --dv-card: var(--bs-body-bg, #fff); font-size: .9375rem; }
.dv-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem 0 .75rem; }
.dv-crumbs { display:flex; align-items:center; gap:.4rem; font-size:.875rem; color:var(--dv-muted); margin-bottom:.35rem; }
.dv-crumbs a { color:var(--dv-muted); text-decoration:none; }
.dv-crumbs a:hover { color:var(--bs-primary); }
.dv-crumbs .cur { color:var(--bs-body-color); font-weight:600; }
.dv-title { font-size:1.475rem; font-weight:700; margin:0; display:flex; align-items:center; gap:.5rem; color:var(--bs-emphasis-color, #111827); }
.dv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.dv-btn { display:inline-flex; align-items:center; gap:.35rem; height:32px; padding:0 .8rem; border-radius:6px; border:1px solid var(--dv-border); background:var(--dv-card); color:var(--bs-body-color); font-size:.905rem; font-weight:600; text-decoration:none; white-space:nowrap; cursor:pointer; }
.dv-btn:hover { background:var(--dv-soft); color:var(--bs-body-color); }
.dv-btn.icon { width:32px; padding:0; justify-content:center; }
.dv-btn[disabled], .dv-btn.disabled { opacity:.4; pointer-events:none; }
.dv-btn-primary { background:#3f7d20; border-color:#3f7d20; color:#fff; }
.dv-btn-primary:hover { background:#356a1b; color:#fff; }
.dv-btn-danger { color:#dc2626; border-color:#fca5a5; }
.dv-btn-danger:hover { background:#fef2f2; color:#b91c1c; }
.dv-btn-warning { color:#b45309; border-color:#fcd34d; }
/* theme paints dropdown <li>/items grey — reset so BS 5.3 dropdown styles apply */
.dv-menu { --bs-dropdown-min-width: 190px; --bs-dropdown-font-size: 1rem; --bs-dropdown-padding-y: .35rem; --bs-dropdown-item-padding-x: .9rem; --bs-dropdown-item-padding-y: .3rem; --bs-dropdown-divider-margin-y: .35rem; --bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); --bs-dropdown-link-active-bg: var(--bs-tertiary-bg); --bs-dropdown-link-active-color: var(--bs-body-color); }
.dv-menu li, .dv-menu .dropdown-item { background-color: transparent; border: 0; border-radius: 0; box-shadow: none; font-weight: 400; }
.dv-menu .dropdown-item:hover, .dv-menu .dropdown-item:focus { background-color: var(--bs-dropdown-link-hover-bg); }
.dv-menu .dropdown-item i { width: 1rem; font-size: 1.125rem; color: inherit; }
.dv-lock { display:inline-flex; align-items:center; gap:.25rem; font-size:.875rem; font-weight:600; color:#b91c1c; padding:0 .4rem; }

.dv-strip { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.35rem; padding:.55rem .9rem; border:1px solid var(--dv-border); border-radius:8px; background:var(--dv-card); margin-bottom:.75rem; }
.dv-strip-item { display:flex; align-items:center; gap:.35rem; color:var(--dv-muted); font-size:.875rem; }
.dv-strip-item i { font-size:.925rem; }
.dv-strip-item b { color:var(--bs-body-color); font-weight:600; }

.dv-pill { display:inline-flex; align-items:center; padding:.1rem .45rem; border-radius:4px; font-size:.775rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; line-height:1.4; }
.dv-pill-success { background:#dcfce7; color:#15803d; }
.dv-pill-warning { background:#fef3c7; color:#b45309; }
.dv-pill-danger { background:#fee2e2; color:#b91c1c; }
.dv-pill-info { background:#e0f2fe; color:#0369a1; }
.dv-pill-violet { background:#ede9fe; color:#6d28d9; }
.dv-pill-dark { background:#e5e7eb; color:#111827; }
.dv-pill-muted { background:#f1f5f9; color:#475569; }

.dv-card { background:var(--dv-card); border:1px solid var(--dv-border); border-radius:8px; height:100%; }
.dv-card-h { display:flex; align-items:center; gap:.45rem; padding:.7rem 1rem; border-bottom:1px solid var(--dv-border); font-weight:600; font-size:1.025rem; }
.dv-card-h i { color:var(--bs-primary); }
.dv-card-b { padding:.75rem 1rem; }
.dv-kv { display:flex; justify-content:space-between; gap:1rem; padding:.2rem 0; }
.dv-kv > span:first-child { color:var(--dv-muted); white-space:nowrap; }
.dv-kv > span:last-child { font-weight:600; text-align:right; }
.dv-party { display:flex; align-items:center; gap:.65rem; margin-bottom:.6rem; }
.dv-avatar { width:36px; height:36px; border-radius:6px; border:1px solid var(--dv-border); background:var(--dv-soft); display:flex; align-items:center; justify-content:center; color:var(--dv-muted); overflow:hidden; flex-shrink:0; }
.dv-avatar img { width:100%; height:100%; object-fit:cover; }
.dv-party a { font-weight:700; font-size:1.025rem; }

.dv-tabs { display:flex; flex-wrap:wrap; gap:.25rem; padding:0 1rem; border-bottom:1px solid var(--dv-border); }
.dv-tabs .nav-link { display:flex; align-items:center; gap:.4rem; padding:.7rem .6rem; border:0; border-bottom:2px solid transparent; color:var(--dv-muted); font-weight:600; font-size:.905rem; background:none; border-radius:0; }
.dv-tabs .nav-link:hover { color:var(--bs-body-color); }
.dv-tabs .nav-link.active { color:var(--bs-primary); border-bottom-color:var(--bs-primary); }
.dv-pane { padding:1rem; }
.dv-pane-h { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:.5rem; margin-bottom:.75rem; }
.dv-pane-h h6 { margin:0; font-weight:700; font-size:1.045rem; }
.dv-pane-h p { margin:.1rem 0 0; color:var(--dv-muted); font-size:.875rem; }
.dv-chip { display:inline-flex; align-items:center; gap:.3rem; padding:.15rem .5rem; border:1px solid var(--dv-border); border-radius:5px; background:var(--dv-soft); font-size:.825rem; font-weight:600; }

.dv-tbl { width:100%; margin:0; }
.dv-tbl th { font-size:.805rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--dv-muted); padding:.5rem .6rem; border-bottom:1px solid var(--dv-border); background:var(--dv-soft); white-space:nowrap; }
.dv-tbl td { padding:.55rem .6rem; border-bottom:1px solid var(--dv-border); vertical-align:middle; }
.dv-tbl tbody tr:last-child td { border-bottom:0; }
.dv-tbl tfoot td { background:var(--dv-soft); font-weight:700; border-top:1px solid var(--dv-border); border-bottom:0; }
.dv-num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dv-sub-tbl { width:100%; font-size:.845rem; }
.dv-sub-tbl th, .dv-sub-tbl td { padding:.2rem .5rem; border:0; background:none; }
.dv-sub-tbl th { color:#5b21b6; font-weight:600; text-transform:none; letter-spacing:0; }
.dv-fifo { background:var(--dv-soft); border-left:2px solid #c4b5fd; border-radius:4px; padding:.4rem .5rem; }

.dv-box { background:var(--dv-soft); border:1px solid var(--dv-border); border-radius:6px; padding:.6rem .8rem; margin-bottom:.6rem; }
.dv-box-lbl { font-size:.805rem; color:var(--dv-muted); margin-bottom:.2rem; }
.dv-words { font-weight:700; font-size:.905rem; letter-spacing:.01em; }
.dv-snap div { line-height:1.6; }
.dv-totals .dv-kv { padding:.3rem 0; }
.dv-totals .dv-grand { border-top:1px solid var(--dv-border); margin-top:.35rem; padding-top:.55rem; }
.dv-totals .dv-grand span:last-child { font-size:1.175rem; color:#dc2626; }
.dv-empty { text-align:center; padding:2rem 1rem; color:var(--dv-muted); }
.dv-empty i { font-size:1.625rem; display:block; margin-bottom:.35rem; }
.dv-icon-btn { border:0; background:none; padding:.15rem .3rem; color:var(--dv-muted); border-radius:4px; }
.dv-icon-btn:hover { background:#fee2e2; color:#dc2626; }
