/* Scope Divi layout changes to pages containing the complete EM-Quali shortcode. */
body.hdsv-emq-page #left-area { width:100%; float:none; padding-right:0!important; }
body.hdsv-emq-page #sidebar,body.hdsv-emq-page #main-content>.container::before,body.hdsv-emq-page .entry-title { display:none; }
body.hdsv-emq-page #main-content>.container { max-width:1180px; padding-top:32px; }
.hdsv-emq { --emq-ink:#142b43; --emq-red:#b82b39; --emq-muted:#596777; --emq-line:#dfe5eb; max-width:1180px; margin:0 auto; color:var(--emq-ink); font-family:inherit; font-size:16px; line-height:1.55; }
.hdsv-emq *, .emq-admin * { box-sizing:border-box; }
.hdsv-emq h1,.hdsv-emq h2,.hdsv-emq h3,.hdsv-emq h4 { color:var(--emq-ink); font-family:inherit; font-weight:700; line-height:1.2; margin:0; padding:0; }
.hdsv-emq h1,.hdsv-emq h2 { font-size:clamp(28px,4vw,42px); letter-spacing:-.025em; }
.hdsv-emq h3 { font-size:24px; }
.hdsv-emq h4 { font-size:20px; }
.hdsv-emq p { margin:8px 0; padding:0; }
.hdsv-emq .emq-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:24px 0; }
.hdsv-emq .emq-heading p { color:var(--emq-muted); }
.hdsv-emq .emq-kicker { display:block; color:var(--emq-red); letter-spacing:.14em; font-size:13px; font-weight:800; margin-bottom:8px; }
.hdsv-emq .emq-nav { display:flex; gap:28px; flex-wrap:wrap; border-bottom:1px solid var(--emq-line); padding:4px 0 15px; }
.hdsv-emq .emq-nav a,.hdsv-emq .emq-link { color:var(--emq-red); font-weight:600; text-decoration:none; }
.hdsv-emq a:hover { text-decoration:underline; }
.hdsv-emq section { margin:36px 0; scroll-margin-top:90px; }
.hdsv-emq .emq-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.hdsv-emq .emq-section-title span { font-size:14px; color:var(--emq-muted); }
.hdsv-emq .emq-filters { display:flex; align-items:end; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.emq-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.emq-field>span,.emq-field>label { font-size:14px; font-weight:600; }
.hdsv-emq input,.hdsv-emq select { min-height:44px; border:1px solid #b8c2cc; background:#fff; color:var(--emq-ink); border-radius:5px; font:inherit; padding:8px 12px; width:100%; }
.hdsv-emq .emq-button { display:inline-flex; align-items:center; justify-content:center; background:var(--emq-ink); color:white; min-height:44px; padding:9px 18px; border:0; border-radius:5px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; }
.hdsv-emq .emq-button:hover { background:#244461; }
.hdsv-emq :focus-visible,.emq-admin :focus-visible { outline:3px solid #2271b1; outline-offset:3px; }
.hdsv-emq .emq-table-scroll { overflow-x:auto; border:1px solid var(--emq-line); border-radius:7px; }
.hdsv-emq table { width:100%; border-collapse:collapse; border:0!important; margin:0!important; font-variant-numeric:tabular-nums; }
.hdsv-emq table th,.hdsv-emq table td { padding:13px 16px!important; text-align:left; border:0; border-bottom:1px solid var(--emq-line); white-space:nowrap; }
.hdsv-emq table thead th { background:#f3f6f8; font-size:13px; font-weight:700; color:#526376; }
.hdsv-emq table tbody tr:last-child>* { border-bottom:0; }
.hdsv-emq table tbody th { font-weight:600; min-width:170px; }
.hdsv-emq .emq-total { color:var(--emq-red); font-weight:800; }
.hdsv-emq .emq-discarded { color:var(--emq-muted); }
.hdsv-emq .emq-rank { font-weight:700; }
.hdsv-emq .emq-note { color:var(--emq-muted); font-size:14px; margin-top:12px; }
.hdsv-emq .emq-empty { color:var(--emq-muted); padding:26px 16px!important; white-space:normal; }
.hdsv-emq .emq-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hdsv-emq .emq-card { border:1px solid var(--emq-line); border-top:3px solid var(--emq-red); padding:20px; border-radius:6px; display:flex; flex-direction:column; align-items:flex-start; }
.hdsv-emq .emq-card-number { font-size:30px; color:#c4ced7; font-weight:800; line-height:1; margin-bottom:16px; }
.hdsv-emq .emq-card h4 { margin:14px 0 4px; }
.hdsv-emq .emq-card p { font-size:14px; }
.hdsv-emq .emq-card .emq-link { font-size:14px; margin-top:auto; padding-top:18px; }
.hdsv-emq .emq-badge { display:inline-block; font-size:12px; font-weight:700; background:#eef2f6; border-radius:4px; padding:4px 8px; color:#3c5065; }
.hdsv-emq .emq-date { font-weight:600; }
.hdsv-emq .emq-venue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.hdsv-emq .emq-venue { padding:20px; border:1px solid var(--emq-line); border-radius:6px; }
.hdsv-emq details { margin-top:14px; }
.hdsv-emq summary { cursor:pointer; font-size:14px; font-weight:700; padding:12px 0; }
.hdsv-emq .emq-points dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:12px; margin:0; background:#f3f6f8; }
.hdsv-emq .emq-points dt { font-size:12px; color:var(--emq-muted); }
.hdsv-emq .emq-points dd { margin:0; font-weight:700; }
.hdsv-emq .emq-match-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.hdsv-emq .emq-match { border:1px solid var(--emq-line); border-radius:5px; padding:12px; }
.hdsv-emq .emq-match>span { font-size:12px; color:var(--emq-muted); }
.hdsv-emq .emq-match p { font-size:14px; overflow-wrap:anywhere; }
.hdsv-emq .emq-winner { font-weight:700; color:var(--emq-red); }
.emq-admin { max-width:1400px; }
.emq-admin-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:22px 0; }
.emq-admin-card { padding:18px; background:white; border:1px solid #dcdcde; border-top:3px solid #b82b39; }
.emq-admin-card h2 { margin-top:0; }
.emq-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:1100px; margin:22px 0; }
.emq-admin .emq-field input,.emq-admin .emq-field select { width:100%; max-width:100%; min-height:38px; }
.emq-admin textarea { max-width:1100px; }
.emq-admin #emq_user_results { display:flex; flex-direction:column; gap:5px; }
.emq-admin .hdsv-emq-entry { grid-template-columns:28px 34px 110px minmax(150px,1fr) 130px 90px 36px; }
.emq-admin .hdsv-emq-entry input { width:100%; }
.emq-admin .hdsv-emq-bracket-optional { margin-top:24px; }
.emq-admin .emq-save { position:sticky; bottom:0; z-index:30; background:#f0f0f1; padding:12px 0; border-top:1px solid #dcdcde; }
@media(max-width:1000px){ .hdsv-emq .emq-cards,.emq-admin-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .emq-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ .hdsv-emq .emq-heading { align-items:flex-start; flex-direction:column; gap:12px; } .hdsv-emq .emq-cards,.hdsv-emq .emq-venue-grid,.hdsv-emq .emq-match-grid,.emq-admin-cards,.emq-form-grid { grid-template-columns:1fr; } .hdsv-emq .emq-filters .emq-field { flex:1 1 140px; } .hdsv-emq .emq-section-title { align-items:flex-start; } .hdsv-emq .emq-section-title h3 { font-size:22px; } .hdsv-emq .emq-points dl { grid-template-columns:repeat(3,minmax(0,1fr)); } .hdsv-emq .emq-card-number { margin-bottom:8px; } .hdsv-emq .emq-nav { gap:18px; font-size:14px; } }

.emq-admin .hdsv-emq-bracket-optional>summary { display:list-item; visibility:visible; height:auto; color:#1d2327; }
@media(max-width:1200px){ .emq-admin .hdsv-emq-entry { grid-template-columns:32px 48px minmax(0,1fr) minmax(0,1fr) auto; } }
@media(max-width:600px){ .emq-admin .hdsv-emq-entry { grid-template-columns:26px 30px minmax(0,1fr) 80px 32px; } }

.emq-admin .hdsv-emq-points { appearance:textfield; padding-right:4px; padding-left:6px; }
.emq-admin .hdsv-emq-points::-webkit-inner-spin-button,.emq-admin .hdsv-emq-points::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.emq-disciplines { display:flex; gap:8px; margin:28px 0 20px; border-bottom:1px solid #c3cdd6; scroll-margin-top:50px; }
.emq-disciplines a { display:flex; flex-direction:column; gap:4px; padding:12px 20px; color:#33485c; font-size:17px; font-weight:700; text-decoration:none; border-bottom:3px solid transparent; }
.emq-disciplines a[aria-current="page"] { color:#a72130; border-bottom-color:#b82b39; background:#fff; }
.emq-disciplines a span { font-size:12px; color:#596777; font-weight:400; }
.emq-legacy { margin:24px 0; }
.emq-legacy>summary { cursor:pointer; font-weight:600; }
.hdsv-emq .emq-card .emq-link + .emq-link { margin-top:0; padding-top:8px; }

.emq-tree-viewer { margin-top:18px; border:1px solid #dfe5eb; border-radius:8px; overflow:hidden; background:#fff; }
.emq-tree-viewer[hidden] { display:none; }
.emq-tree-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:10px; border-bottom:1px solid #dfe5eb; background:#f3f6f8; }
.emq-tree-zoom { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.emq-tree-toolbar button { min-width:42px; min-height:42px; padding:7px 12px; border:1px solid #b8c2cc; border-radius:5px; background:#fff; color:#142b43; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; cursor:pointer; }
.emq-tree-toolbar button:hover { background:#e9eef3; }
.emq-tree-toolbar button:disabled { opacity:.45; cursor:default; }
.emq-tree-toolbar output { min-width:54px; text-align:center; font-size:14px; font-variant-numeric:tabular-nums; }
.emq-tree-viewport { overflow:auto; max-width:100%; max-height:640px; background:#fff; cursor:grab; overscroll-behavior:contain; }
.emq-tree-viewport.is-dragging { cursor:grabbing; user-select:none; }
.emq-tree-viewport canvas { display:block; max-width:none; }
.emq-tree-dialog { position:fixed; inset:0; margin:0; padding:16px; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; border:0; background:#fff; color:#142b43; }
.emq-tree-dialog[open] { display:flex; flex-direction:column; gap:12px; }
.emq-tree-dialog::backdrop { background:rgba(15,23,42,.7); }
.emq-tree-dialog .emq-tree-viewer { flex:1; min-height:0; margin:0; display:flex; flex-direction:column; }
.emq-tree-dialog .emq-tree-viewport { flex:1; min-height:0; max-height:none; }
.emq-tree-dialog h3 { font-size:20px; }
body.emq-tree-modal-open { overflow:hidden; }
.emq-tree-list>summary { display:list-item; cursor:pointer; font-weight:600; }
.emq-admin .emq-save { display:flex; align-items:center; gap:14px; }
.emq-autosave { min-width:0; font-size:13px; }
.emq-autosave-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
[data-emq-save-status][data-state="error"] { color:#a4262c; font-weight:600; }
[data-emq-save-status][data-state="saving"] { color:#735b00; }
.emq-bracket-save-status { font-size:12px; margin-left:auto; }
