/* Diagnostic Logs tab, ticket panel, and Bench Bridge admin pane. All classes are prefixed dl-. */
.dl-wrap { padding: 1rem 1.25rem 2rem; max-width: 1200px; margin: 0 auto; }
.dl-head { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .75rem; }
.dl-head h1 { font-size: 1.25rem; margin: 0; flex: 1 1 220px; }
.dl-sub { color: var(--text-muted); font-size: .78rem; margin: 0 0 .9rem; }
.dl-controls { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; flex: 0 1 auto; }
/* The app's global form styles make inputs/selects full-width; keep these compact and inline. */
.dl-head .dl-controls input[type=search], .dl-head .dl-controls select { width: auto; min-width: 140px; max-width: 220px; margin: 0; padding: .35rem .55rem; font-size: .8rem; background: var(--glass-1); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-xs); }
.dl-head .dl-controls label { font-size: .78rem; color: var(--text-dim); display: inline-flex; align-items: center; gap: .3rem; text-transform: none; letter-spacing: 0; font-weight: 500; margin: 0; }
.dl-head .dl-controls input[type=checkbox] { width: auto; margin: 0; }

.dl-stats { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
.dl-stat { flex: 1 1 110px; background: var(--glass-1); border: 1px solid var(--border); border-radius: var(--radius-xs); padding: .5rem .7rem; }
.dl-stat span { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); }
.dl-stat b { font-size: 1.15rem; }
.dl-stat.dl-bad b { color: var(--danger); } .dl-stat.dl-warnc b { color: var(--warning); } .dl-stat.dl-good b { color: var(--success); }

.dl-day { position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; padding: .45rem .6rem; margin: 1rem 0 .5rem; background: var(--bg); border-bottom: 1px solid var(--border); }
.dl-day h2 { margin: 0; font-size: .95rem; }
.dl-day small { color: var(--text-muted); }

.dl-row { display: grid; grid-template-columns: 2rem 1fr auto; gap: .75rem; padding: .65rem .75rem; margin-bottom: .45rem; background: var(--glass-1); border: 1px solid var(--border); border-radius: var(--radius-xs); }
.dl-row.dl-r-fail { border-left: 3px solid var(--danger); } .dl-row.dl-r-warn { border-left: 3px solid var(--warning); } .dl-row.dl-r-pass { border-left: 3px solid var(--success); }
.dl-ico { font-size: 1.4rem; line-height: 1.2; }
.dl-title { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.dl-title b { font-size: .88rem; }
.dl-chip { font-size: .62rem; font-weight: 700; padding: .1rem .4rem; border-radius: 4px; background: rgba(33,150,243,.18); color: #64b5f6; }
.dl-chip.dl-edit { background: rgba(156,39,176,.2); color: #ce93d8; }
.dl-mono { font-family: var(--font-mono, monospace); font-size: .68rem; color: var(--text-muted); }
.dl-test { font-size: .74rem; font-weight: 700; color: var(--cyan, #00d2ff); margin: .15rem 0; }
.dl-summary { font-size: .76rem; color: var(--text-dim); }
.dl-fails { margin: .3rem 0 0; padding: 0; list-style: none; font-size: .72rem; }
.dl-fails li { color: var(--danger); } .dl-fails li.dl-warnli { color: var(--warning); }
.dl-statline { font-size: .66rem; color: var(--text-muted); margin-top: .25rem; font-family: var(--font-mono, monospace); }
.dl-side { display: flex; flex-direction: column; align-items: flex-end; gap: .4rem; }
.dl-badge { font-size: .62rem; font-weight: 800; letter-spacing: .05em; padding: .15rem .5rem; border-radius: 5px; }
.dl-badge.dl-pass { background: rgba(48,209,88,.18); color: #30d158; } .dl-badge.dl-warn { background: rgba(255,159,10,.18); color: #ff9f0a; }
.dl-badge.dl-fail { background: rgba(255,69,58,.18); color: #ff453a; } .dl-badge.dl-info { background: rgba(160,160,160,.18); color: #aaa; }
.dl-empty { text-align: center; padding: 2.5rem 1rem; color: var(--text-muted); }
.dl-err { color: var(--danger); font-size: .8rem; padding: .6rem .8rem; background: rgba(255,69,58,.1); border-radius: var(--radius-xs); margin-bottom: .75rem; }

/* modal (backdrop click, X button and Esc all close it) */
.dl-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 10050; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.dl-modal { width: min(520px, 100%); max-height: 90vh; overflow: auto; background: var(--rv-surface, #14161c); border: 1px solid var(--border-hi, #333); border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.dl-modal-head { display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; border-bottom: 1px solid var(--border); }
.dl-modal-head h3 { margin: 0; font-size: 1rem; }
.dl-x { background: none; border: 0; color: var(--text-muted); font-size: 1.2rem; cursor: pointer; }
.dl-modal-body { padding: 1rem; display: grid; gap: .8rem; }
.dl-modal-body label { font-size: .74rem; font-weight: 700; color: var(--text-dim); display: grid; gap: .25rem; }
.dl-modal-body input[type=text], .dl-modal-body input[type=password], .dl-modal-body select, .dl-modal-body textarea { padding: .45rem .55rem; font-size: .85rem; background: var(--glass-1); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-xs); }
.dl-help { font-weight: 400; color: var(--text-muted); font-size: .7rem; }
.dl-modal-foot { display: flex; justify-content: flex-end; gap: .5rem; padding: .8rem 1rem; border-top: 1px solid var(--border); }

/* ticket panel */
.dl-ticket-row { display: flex; justify-content: space-between; gap: .6rem; padding: .4rem 0; border-bottom: 1px solid var(--border); font-size: .76rem; }
.dl-ticket-row:last-child { border-bottom: 0; }
.dl-link-note { margin-top: .6rem; padding: .5rem .65rem; border: 1px dashed var(--orange-dim); border-radius: var(--radius-xs); font-size: .74rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }

/* admin pane */
.dl-admin-box { margin-bottom: 1rem; }
.dl-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.dl-table th { text-align: left; font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); padding: .35rem .5rem; }
.dl-table td { padding: .45rem .5rem; border-top: 1px solid var(--border); vertical-align: top; }
.dl-ok { color: var(--success); } .dl-no { color: var(--danger); }
.dl-note { font-size: .74rem; color: var(--text-muted); margin: .3rem 0 .7rem; }
.dl-probe { font-size: .76rem; margin-top: .4rem; white-space: pre-wrap; }
