/* =========================================================
   POWER QUERY PRACTICE ROOM  —  Excel and its Power Query Editor
   ---------------------------------------------------------
   Everything is under .pq-* so the site's stylesheet and this one never
   meet. Office colours: #217346 Excel green for the active mark, the Fluent
   greys (#F3F2F1 chrome, #E1DFDD rules, #605E5C secondary text, #252423
   text). No product logo is drawn. Nothing here uses text-transform or
   letter-spacing: the site's global reset kills both.
   The room has a fixed height, so a redraw never changes the page's length;
   every pane scrolls inside itself; nothing is wider than its host.
   ========================================================= */
.pq-ws, .pq-ws *{ box-sizing:border-box; }
.pq-ws{
  position:relative; display:flex; flex-direction:column; width:100%; max-width:100%; height:620px; overflow:hidden;
  font-family:"Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; font-size:12px; line-height:1.3; color:#252423;
  background:#fff; border:1px solid #C8C6C4; border-radius:6px; user-select:none; -webkit-user-select:none; text-align:left;
}
.pq-ws :where(button){ font:inherit; color:inherit; background:none; border:0; padding:0; margin:0; cursor:pointer; text-align:inherit; }
.pq-ws input, .pq-ws textarea{ font:inherit; color:#252423; user-select:text; -webkit-user-select:text; }
.pq-ws :where(button):focus-visible, .pq-ws input:focus-visible, .pq-ws textarea:focus-visible{ outline:2px solid #217346; outline-offset:-1px; }
.pq-empty{ padding:24px; color:#605E5C; }

/* ------------------------------------------------------------ title bar */
.pq-titlebar{ flex:none; display:flex; align-items:center; gap:10px; height:32px; padding:0 8px 0 4px; background:#217346; color:#fff; }
.pq-wintabs{ display:flex; align-items:stretch; gap:2px; height:100%; flex:none; min-width:0; }
.pq-wintab{ display:inline-flex; align-items:center; gap:6px; height:26px; margin-top:6px; padding:0 10px; border-radius:5px 5px 0 0; color:#E6F2EA; white-space:nowrap; }
.pq-wintab:hover{ background:rgba(255,255,255,.14); }
.pq-wintab.on{ background:#fff; color:#252423; }
.pq-app{ display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; padding:0 2px; border-radius:2px; font-size:9px; font-weight:700; line-height:1; }
.pq-app-x{ background:rgba(255,255,255,.22); color:#fff; }
.pq-app-q{ background:rgba(255,255,255,.22); color:#fff; }
.pq-wintab.on .pq-app{ background:#217346; color:#fff; }
.pq-title{ flex:1; min-width:0; text-align:center; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-winctl{ display:inline-flex; gap:16px; font-size:11px; opacity:.9; flex:none; }

/* --------------------------------------------------------------- ribbon */
.pq-ribbon{ flex:none; background:#fff; border-bottom:1px solid #E1DFDD; }
.pq-rtabs{ display:flex; align-items:flex-end; height:28px; padding:0 6px; gap:2px; background:#F3F2F1; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.pq-rtabs::-webkit-scrollbar{ display:none; }
.pq-rtab{ flex:none; padding:5px 10px 5px; font-size:12px; color:#323130; border-bottom:2px solid transparent; white-space:nowrap; }
.pq-rtab:hover{ background:#E9E7E5; }
.pq-rtab.on{ color:#217346; border-bottom-color:#217346; background:#fff; font-weight:600; }
.pq-rtab-file{ color:#fff; background:#217346; border-radius:2px 2px 0 0; }
.pq-rtab-file:hover, .pq-rtab-file.on{ background:#185C37; color:#fff; border-bottom-color:#185C37; }
.pq-rbody{ display:flex; align-items:stretch; height:94px; padding:3px 4px 0; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.pq-rgroup{ flex:none; display:flex; flex-direction:column; justify-content:space-between; padding:0 5px; border-right:1px solid #E1DFDD; }
.pq-rgroup:last-child{ border-right:0; }
.pq-ritems{ display:flex; align-items:flex-start; gap:2px; }
.pq-rname{ font-size:10.5px; color:#605E5C; text-align:center; padding:2px 2px 4px; white-space:nowrap; }
.pq-rnote{ display:inline-block; padding:14px 8px; color:#605E5C; font-size:12px; white-space:nowrap; }
.pq-big{ display:flex; flex-direction:column; align-items:center; min-width:46px; min-height:62px; padding:3px 4px 2px; border-radius:2px; color:#323130; }
.pq-big > span:last-child{ font-size:11px; line-height:1.15; text-align:center; margin-top:2px; white-space:nowrap; }
.pq-big .pq-ic{ width:28px; height:26px; font-size:17px; }
.pq-small{ display:flex; align-items:center; gap:4px; height:19px; padding:0 5px 0 3px; border-radius:2px; font-size:11.5px; white-space:nowrap; color:#323130; }
.pq-smalls{ display:flex; flex-direction:column; gap:1px; padding-top:1px; }
.pq-big:hover, .pq-small:hover, .pq-arrow:hover{ background:#E1DFDD; }
.pq-big.on, .pq-small.on{ background:#D5E8DA; }
.pq-big.dim, .pq-small.dim{ color:#A19F9D; cursor:default; }
.pq-big.dim:hover, .pq-small.dim:hover{ background:none; }
.pq-big.dim .pq-ic, .pq-small.dim .pq-ic{ color:#A19F9D; }
.pq-ic{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; font-size:11px; font-weight:600; line-height:1; color:#217346; flex:none; }
.pq-check{ display:inline-flex; align-items:center; justify-content:center; width:13px; height:13px; border:1px solid #8A8886; border-radius:2px; font-size:10px; color:#fff; background:#fff; }
.pq-check.on{ background:#217346; border-color:#217346; }
.pq-splitwrap{ display:inline-flex; align-items:stretch; }
.pq-splitwrap.pq-big-split{ flex-direction:column; }
.pq-splitwrap .pq-small{ padding-right:2px; }
.pq-arrow{ display:inline-flex; align-items:center; justify-content:center; min-width:14px; font-size:9px; color:#605E5C; border-radius:2px; }
.pq-big-split .pq-big{ min-height:50px; padding-bottom:0; }
.pq-big-split .pq-arrow{ height:13px; width:100%; }

/* ------------------------------------------------------- Excel window */
.pq-xfbar{ flex:none; display:flex; align-items:center; gap:8px; height:26px; padding:0 6px; border-bottom:1px solid #E1DFDD; background:#fff; }
.pq-namebox{ width:72px; height:20px; line-height:18px; padding:0 6px; border:1px solid #C8C6C4; font-size:11.5px; }
.pq-fx{ font-style:italic; font-family:Cambria, Georgia, serif; color:#605E5C; flex:none; }
.pq-xfval{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.pq-xmain{ position:relative; flex:1; min-height:0; display:flex; }
.pq-sheetwrap{ flex:1; min-width:0; overflow:auto; background:#fff; }
table.pq-sheet{ border-collapse:separate; border-spacing:0; font-family:Aptos, Calibri, "Segoe UI", Arial, sans-serif; font-size:12px; }
.pq-sheet thead th{ position:sticky; top:0; z-index:2; height:20px; min-width:76px; background:#F3F2F1; color:#605E5C; font-weight:400; font-size:11px; border-right:1px solid #E1DFDD; border-bottom:1px solid #C8C6C4; text-align:center; }
.pq-sheet tbody th{ position:sticky; left:0; z-index:1; width:34px; min-width:34px; background:#F3F2F1; color:#605E5C; font-weight:400; font-size:11px; border-right:1px solid #C8C6C4; border-bottom:1px solid #E1DFDD; text-align:center; }
.pq-sheet thead th.pq-corner{ left:0; z-index:3; min-width:34px; }
.pq-sheet th.on{ background:#D2E6D7; color:#185C37; }
.pq-sheet td{ position:relative; height:20px; min-width:76px; max-width:190px; padding:0 4px; border-right:1px solid #E9E7E5; border-bottom:1px solid #E9E7E5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:cell; }
.pq-sheet td.pq-num{ text-align:right; }
.pq-sheet td.pq-cellon{ box-shadow:inset 0 0 0 2px #217346; }
.pq-tt.pq-th{ background:#4472C4; color:#fff; font-weight:700; }
.pq-tt.pq-band1{ background:#D9E1F2; }
.pq-tq.pq-th{ background:#70AD47; color:#fff; font-weight:700; padding-right:16px; }
.pq-tq.pq-band1{ background:#E2EFDA; }
.pq-hdrdd{ position:absolute; right:2px; top:3px; font-size:8px; line-height:12px; padding:0 2px; color:#252423; background:#fff; border:1px solid #C8C6C4; }
.pq-sheettabs{ flex:none; display:flex; align-items:stretch; height:26px; background:#F3F2F1; border-top:1px solid #E1DFDD; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.pq-sheettab{ flex:none; padding:0 14px; font-size:12px; border-right:1px solid #E1DFDD; white-space:nowrap; color:#323130; }
.pq-sheettab:hover{ background:#E9E7E5; }
.pq-sheettab.on{ background:#fff; color:#217346; font-weight:600; box-shadow:inset 0 -2px 0 #217346; }
.pq-sheetadd{ display:inline-flex; align-items:center; padding:0 10px; color:#8A8886; }
.pq-statusbar{ flex:none; display:flex; justify-content:space-between; align-items:center; gap:12px; height:22px; padding:0 10px; background:#F3F2F1; border-top:1px solid #E1DFDD; color:#605E5C; font-size:11px; white-space:nowrap; overflow:hidden; }
.pq-in-editor .pq-statusbar{ font-size:10.5px; }

/* Queries & Connections */
.pq-qc{ flex:none; width:250px; display:flex; flex-direction:column; border-left:1px solid #C8C6C4; background:#fff; min-height:0; }
.pq-qc-head{ display:flex; align-items:center; justify-content:space-between; padding:8px 8px 4px 10px; font-size:14px; font-weight:600; }
.pq-qc-tabs{ display:flex; gap:14px; padding:0 10px; border-bottom:1px solid #E1DFDD; font-size:12px; }
.pq-qc-tabs span{ padding:4px 0; color:#605E5C; }
.pq-qc-tabs span.on{ color:#217346; box-shadow:inset 0 -2px 0 #217346; font-weight:600; }
.pq-qc-count{ padding:6px 10px 2px; color:#605E5C; font-size:11.5px; }
.pq-qc-list{ flex:1; overflow:auto; padding:2px 4px 8px; }
.pq-qc-group{ padding:5px 6px 2px; color:#323130; font-weight:600; font-size:11.5px; }
.pq-qc-group span{ color:#605E5C; font-weight:400; }
.pq-qc-item{ display:flex; gap:8px; align-items:flex-start; padding:6px 6px; border-radius:2px; cursor:default; }
.pq-qc-item:hover{ background:#F3F2F1; }
.pq-qc-ic{ flex:none; width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; color:#217346; font-size:12px; font-weight:700; }
.pq-qc-txt{ min-width:0; }
.pq-qc-txt b{ display:block; color:#217346; font-weight:600; font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-qc-txt span{ display:block; color:#605E5C; font-size:11px; }
.pq-qc-err{ color:#A4262C !important; display:inline !important; }
.pq-qc-none{ padding:10px; color:#605E5C; font-size:12px; }
.pq-x{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:2px; color:#605E5C; font-size:12px; flex:none; }
.pq-x:hover{ background:#E1DFDD; }

/* ------------------------------------------------ Power Query Editor */
.pq-emain{ position:relative; flex:1; min-height:0; display:flex; }
.pq-queries, .pq-settings{ flex:none; display:flex; flex-direction:column; min-height:0; background:#FAF9F8; }
.pq-queries{ width:200px; border-right:1px solid #E1DFDD; }
.pq-settings{ width:220px; border-left:1px solid #E1DFDD; }
.pq-pane-head{ flex:none; display:flex; align-items:center; justify-content:space-between; gap:4px; height:30px; padding:0 4px 0 8px; font-size:12.5px; font-weight:600; border-bottom:1px solid #E1DFDD; white-space:nowrap; }
.pq-queries .pq-pane-head{ justify-content:flex-start; padding-left:2px; }
.pq-collapse{ width:22px; height:22px; font-size:16px; line-height:1; color:#605E5C; border-radius:2px; text-align:center; }
.pq-collapse:hover{ background:#E1DFDD; }
.pq-qlist{ flex:1; overflow:auto; padding:4px 0 10px; }
.pq-group{ display:flex; align-items:center; gap:4px; height:24px; padding-right:6px; font-weight:600; white-space:nowrap; }
.pq-group-tw{ width:14px; font-size:10px; color:#605E5C; text-align:center; }
.pq-folder{ font-size:12px; filter:grayscale(1); }
.pq-group-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pq-group-name i{ font-style:normal; color:#605E5C; font-weight:400; }
.pq-qitem{ display:flex; align-items:center; gap:6px; height:24px; padding-right:6px; white-space:nowrap; cursor:default; }
.pq-qitem:hover{ background:#EDEBE9; }
.pq-qitem.on{ background:#D5E8DA; box-shadow:inset 3px 0 0 #217346; }
.pq-qic{ flex:none; width:16px; text-align:center; color:#217346; font-size:11px; font-weight:700; }
.pq-qname{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pq-conn .pq-qname{ font-style:italic; }
.pq-qwarn{ color:#A4262C; font-size:11px; margin-left:auto; }
.pq-inline{ height:22px; min-width:0; width:100%; border:1px solid #217346; padding:0 4px; font-size:12px; background:#fff; }
.pq-rail{ flex:none; width:26px; display:flex; flex-direction:column; align-items:center; gap:8px; padding:6px 0; background:#FAF9F8; color:#323130; font-size:11.5px; }
.pq-rail-l{ border-right:1px solid #E1DFDD; }
.pq-rail-r{ border-left:1px solid #E1DFDD; }
.pq-rail:hover{ background:#EDEBE9; }
.pq-rail-t{ writing-mode:vertical-rl; white-space:nowrap; }
.pq-center{ flex:1; min-width:0; display:flex; flex-direction:column; min-height:0; }
.pq-fbar{ flex:none; display:flex; align-items:center; gap:6px; height:30px; padding:0 6px; border-bottom:1px solid #E1DFDD; background:#fff; }
.pq-fbar-x, .pq-fbar-ok{ color:#A19F9D; font-size:11px; width:14px; text-align:center; }
.pq-fbar-m{ flex:1; min-width:0; height:22px; line-height:20px; padding:0 6px; border:1px solid #C8C6C4; font-family:Consolas, "Cascadia Mono", Menlo, monospace; font-size:12px; white-space:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; user-select:text; -webkit-user-select:text; }
.pq-fbar-m::-webkit-scrollbar{ display:none; }
.pq-grid{ position:relative; flex:1; min-height:0; overflow:auto; background:#fff; }
.pq-grid-empty, .pq-norows{ padding:18px; color:#605E5C; }
table.pq-dgrid{ border-collapse:separate; border-spacing:0; font-size:12px; }
.pq-dgrid thead th{ position:sticky; top:0; z-index:2; height:30px; background:#F3F2F1; border-bottom:1px solid #C8C6C4; border-right:1px solid #E1DFDD; font-weight:600; text-align:left; padding:0; }
.pq-dgrid .pq-rn{ position:sticky; left:0; z-index:1; min-width:34px; padding:0 6px; text-align:right; color:#605E5C; background:#F3F2F1; font-weight:400; font-size:11px; border-right:1px solid #E1DFDD; border-bottom:1px solid #EDEBE9; }
.pq-dgrid thead .pq-rn{ z-index:3; text-align:center; cursor:pointer; color:#8A8886; font-size:9px; }
.pq-colh{ cursor:default; }
.pq-colh-in{ display:flex; align-items:center; gap:4px; min-width:118px; height:29px; padding:0 3px 0 4px; }
.pq-colh.on{ background:#CFE3D2 !important; }
.pq-colh.pq-dropto{ box-shadow:inset 3px 0 0 #217346; }
.pq-typeic{ flex:none; min-width:24px; height:18px; padding:0 3px; font-size:9.5px; font-weight:600; color:#605E5C; border-radius:2px; text-align:center; white-space:nowrap; }
.pq-typeic:hover{ background:#E1DFDD; color:#252423; }
.pq-colname{ flex:1; min-width:0; max-width:190px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-filt, .pq-expic{ flex:none; width:18px; height:18px; font-size:9px; color:#605E5C; border:1px solid transparent; border-radius:2px; text-align:center; }
.pq-expic{ font-size:12px; color:#217346; }
.pq-filt:hover, .pq-expic:hover{ border-color:#C8C6C4; background:#fff; }
.pq-dgrid td{ height:25px; padding:0 8px; max-width:240px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:1px solid #EDEBE9; border-right:1px solid #F3F2F1; }
.pq-dgrid td.on{ background:#EEF6EF; }
.pq-dgrid td.pq-num{ text-align:right; }
.pq-dgrid td.pq-null{ font-style:italic; color:#8A8886; }
.pq-dgrid td.pq-errcell{ color:#A4262C; font-weight:600; cursor:pointer; }
.pq-dgrid td.pq-errcell-on{ background:#FDE7E9; }
.pq-dgrid td.pq-link{ color:#107C10; font-weight:600; }
.pq-errbar{ display:flex; gap:10px; align-items:flex-start; margin:10px; padding:10px 12px; background:#FFF4CE; border:1px solid #F2C811; font-size:12.5px; line-height:1.45; user-select:text; }
.pq-errbar-ic{ color:#8A6D00; font-size:15px; }
.pq-errbar .pq-btn{ margin-left:auto; flex:none; }
.pq-err-d{ color:#605E5C; margin-top:3px; }
.pq-errpane{ position:relative; flex:none; max-height:96px; overflow:auto; padding:8px 30px 8px 10px; border-top:1px solid #C8C6C4; background:#fff; font-size:12px; line-height:1.45; user-select:text; }
.pq-errpane .pq-x{ position:absolute; right:4px; top:4px; }
.pq-valview, .pq-fnview{ padding:18px; }
.pq-val{ font-size:14px; }
.pq-fn-h{ font-size:14px; font-weight:600; margin-bottom:8px; }
.pq-fn-row{ margin:4px 0; }
.pq-fn-box{ width:220px; height:24px; line-height:22px; padding:0 6px; border:1px solid #C8C6C4; color:#A19F9D; margin-bottom:8px; }
.pq-fn-sig{ margin-top:14px; font-family:Consolas, monospace; color:#605E5C; }
.pq-fn-note{ margin-top:8px; color:#605E5C; max-width:420px; line-height:1.45; }
.pq-set-body{ flex:1; min-height:0; overflow:auto; padding:6px 10px 12px; }
.pq-set-h{ margin:10px 0 5px; font-size:11px; font-weight:700; color:#605E5C; }
.pq-set-l{ display:block; margin:2px 0 3px; font-size:12px; }
.pq-namein{ width:100%; height:24px; padding:0 6px; border:1px solid #8A8886; border-radius:2px; font-size:12px; background:#fff; }
.pq-set-link{ margin:6px 0 2px; color:#217346; font-size:12px; }
.pq-steps{ display:flex; flex-direction:column; gap:1px; }
.pq-step{ display:flex; align-items:center; gap:2px; min-height:25px; padding:0 2px 0 8px; border-radius:2px; cursor:default; }
.pq-step:hover{ background:#EDEBE9; }
.pq-step.on{ background:#CFE3D2; }
.pq-step-name{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-step-gear, .pq-step-del{ flex:none; width:20px; height:20px; border-radius:2px; color:#605E5C; font-size:12px; text-align:center; }
.pq-step-gear:hover, .pq-step-del:hover{ background:#E1DFDD; color:#252423; }
.pq-step-del{ opacity:0; }
.pq-step:hover .pq-step-del, .pq-step.on .pq-step-del, .pq-step-del.coach-spot, .pq-step-del:focus-visible{ opacity:1; }
@media (hover:none){ .pq-step-del{ opacity:1; } }
.pq-step-new{ animation:pqNewStep 2.4s ease-out 1; }
@keyframes pqNewStep{ 0%{ background:#FFE58A; } 100%{ background:transparent; } }
.pq-step.on.pq-step-new{ animation:pqNewStepOn 2.4s ease-out 1; }
@keyframes pqNewStepOn{ 0%{ background:#FFE58A; } 100%{ background:#CFE3D2; } }

/* --------------------------------------------------- menus and dialogs */
.pq-layer{ position:absolute; inset:0; z-index:30; pointer-events:none; }
.pq-layer > *{ pointer-events:auto; }
.pq-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.2); }
.pq-backdrop-clear{ background:transparent; }
.pq-menu{ position:absolute; z-index:40; background:#fff; border:1px solid #C8C6C4; box-shadow:0 6px 16px rgba(0,0,0,.18); padding:4px 0; overflow:auto; }
.pq-mi{ display:flex !important; align-items:center; gap:2px; width:100%; min-height:26px; padding:0 10px 0 2px !important; font-size:12px; text-align:left; white-space:nowrap; color:#252423; }
.pq-mi:hover, .pq-mi.open{ background:#E1DFDD; }
.pq-mi.dim{ color:#A19F9D; cursor:default; }
.pq-mi.dim:hover{ background:none; }
.pq-mcheck{ flex:none; width:20px; text-align:center; color:#217346; }
.pq-ml{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pq-msub{ flex:none; font-size:9px; color:#605E5C; padding-left:10px; }
.pq-msep{ height:1px; background:#E1DFDD; margin:4px 0; }
/* A dialog's drop-down: a choice longer than the room is wide wraps instead of being cut off (Join Kind at 390px). */
.pq-menu-dd .pq-mi{ white-space:normal; padding-top:4px !important; padding-bottom:4px !important; line-height:1.3; }
.pq-menu-dd .pq-ml{ overflow:visible; text-overflow:clip; }
.pq-fsearch{ display:block; width:calc(100% - 16px); height:24px; margin:6px 8px; padding:0 6px; border:1px solid #8A8886; font-size:12px; }
.pq-flist{ max-height:180px; overflow:auto; margin:0 8px; padding:2px 0; border:1px solid #E1DFDD; }
.pq-flist-tall{ max-height:260px; }
.pq-fitem{ display:flex; align-items:center; gap:6px; padding:2px 6px; font-size:12px; white-space:nowrap; cursor:default; }
.pq-fitem input{ margin:0; accent-color:#217346; }
.pq-ffoot{ display:flex; justify-content:flex-end; gap:6px; padding:8px; }
.pq-expand{ padding:4px 0; }
.pq-expand .pq-ck{ margin:4px 8px; }
.pq-dlg{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); z-index:35; display:flex; flex-direction:column; width:min(440px, calc(100% - 16px)); max-height:calc(100% - 16px); background:#fff; border:1px solid #8A8886; box-shadow:0 10px 30px rgba(0,0,0,.28); }
.pq-dlg-wide{ width:min(780px, calc(100% - 16px)); }
.pq-dlg-head{ flex:none; display:flex; align-items:center; justify-content:space-between; gap:8px; height:34px; padding:0 6px 0 14px; font-size:14px; font-weight:600; }
.pq-dlg-head span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pq-dlg-body{ flex:1 1 auto; min-height:0; overflow:auto; padding:4px 14px 10px; font-size:12.5px; }
.pq-dlg-foot{ flex:none; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:10px 14px 12px; }
.pq-btn{ min-width:74px; height:27px; padding:0 12px !important; border:1px solid #8A8886 !important; background:#fff !important; border-radius:2px; font-size:12.5px; text-align:center !important; white-space:nowrap; }
.pq-btn:hover{ background:#F3F2F1 !important; }
.pq-btn-pri{ background:#217346 !important; color:#fff !important; border-color:#217346 !important; }
.pq-btn-pri:hover{ background:#185C37 !important; }
.pq-btn:disabled, .pq-btn.dim{ opacity:.45; cursor:default; }
.pq-in{ display:block; width:100%; height:27px; padding:0 7px; border:1px solid #8A8886; border-radius:2px; font-size:12.5px; background:#fff; }
.pq-in-num{ width:140px; }
.pq-fl{ display:block; margin:8px 0; }
.pq-fl > span:first-child{ display:block; margin-bottom:3px; font-size:12.5px; }
.pq-dl-t{ margin:6px 0 4px; font-size:12.5px; line-height:1.4; }
.pq-ck{ display:flex; align-items:center; gap:7px; margin:6px 0; font-size:12.5px; cursor:default; }
.pq-ck input{ margin:0; accent-color:#217346; }
.pq-ck.dim{ color:#A19F9D; }
.pq-row{ display:flex; gap:6px; align-items:center; }
.pq-row .pq-in{ flex:1; }
.pq-dd{ display:inline-flex !important; align-items:center; justify-content:space-between; gap:10px; min-width:160px; max-width:100%; height:27px; padding:0 7px !important; border:1px solid #8A8886 !important; border-radius:2px; background:#fff !important; font-size:12.5px; vertical-align:middle; }
.pq-dd span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pq-dd b{ font-weight:400; font-size:9px; color:#605E5C; }
.pq-dd.dim{ color:#8A8886; border-color:#C8C6C4 !important; cursor:default; }
.pq-disclose{ display:block; margin:8px 0 2px; color:#217346 !important; font-size:12.5px; }
.pq-adv{ padding:2px 0 2px 14px; }
.pq-msg-icon{ flex:none; width:28px; height:28px; border-radius:50%; background:#F2C811; color:#252423; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pq-dlg-msg .pq-dlg-body{ display:flex; gap:12px; align-items:flex-start; padding-top:8px; }
.pq-msg-text{ line-height:1.45; user-select:text; }
.pq-mini{ max-height:176px; overflow:auto; margin:4px 0; border:1px solid #E1DFDD; }
.pq-mini table{ border-collapse:separate; border-spacing:0; font-size:11.5px; }
.pq-mini th{ position:sticky; top:0; background:#F3F2F1; padding:4px 8px; text-align:left; white-space:nowrap; font-weight:600; border-bottom:1px solid #C8C6C4; }
.pq-mini th[data-pq-mcol]{ cursor:pointer; }
.pq-mini th[data-pq-mcol]:hover{ background:#E1DFDD; }
.pq-mini th.on{ background:#CFE3D2; }
.pq-mini td{ padding:2px 8px; white-space:nowrap; border-bottom:1px solid #F3F2F1; max-width:200px; overflow:hidden; text-overflow:ellipsis; }
.pq-mini td.pq-null{ font-style:italic; color:#8A8886; }
.pq-mini td.pq-errcell{ color:#A4262C; }
.pq-mini-empty{ padding:12px; color:#605E5C; }
.pq-keyn{ display:inline-block; min-width:14px; margin-right:4px; padding:0 3px; border-radius:2px; background:#217346; color:#fff; font-size:9.5px; font-style:normal; text-align:center; }
.pq-addr{ padding:5px 8px; margin:4px 0 6px; border:1px solid #C8C6C4; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-open{ display:flex; min-height:190px; border:1px solid #E1DFDD; }
.pq-open-nav{ flex:none; width:128px; padding:4px 0; border-right:1px solid #E1DFDD; font-size:12px; }
.pq-open-nav div{ padding:3px 8px; white-space:nowrap; }
.pq-open-nav .on{ background:#CCE8FF; }
.pq-open-list{ flex:1; min-width:0; overflow:auto; max-height:230px; }
.pq-frow{ display:grid; grid-template-columns:22px minmax(0, 1fr) 118px 104px; align-items:center; min-height:24px; padding:0 6px; font-size:12px; cursor:default; }
.pq-frow:hover{ background:#E5F3FF; }
.pq-frow.on{ background:#CCE8FF; }
.pq-fhead{ color:#605E5C; border-bottom:1px solid #E1DFDD; }
.pq-fhead:hover{ background:none; }
.pq-fic{ color:#217346; font-size:12px; }
.pq-fname{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pq-fdate, .pq-ftype{ color:#605E5C; white-space:nowrap; overflow:hidden; }
.pq-open-foot{ display:flex; align-items:center; gap:8px; margin-top:8px; font-size:12px; }
.pq-open-foot .pq-in{ flex:1; min-width:80px; }
.pq-open-types{ color:#605E5C; white-space:nowrap; }
.pq-nav{ display:flex; gap:12px; min-height:230px; }
.pq-nav-l{ flex:none; width:36%; min-width:0; display:flex; flex-direction:column; }
.pq-nav-r{ flex:1; min-width:0; }
.pq-nav-opts{ color:#217346; font-size:12px; margin:4px 0; }
.pq-nav-root{ padding:4px 2px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pq-nav-list{ flex:1; overflow:auto; max-height:220px; }
.pq-navitem{ display:flex; align-items:center; gap:6px; padding:3px 6px 3px 14px; white-space:nowrap; cursor:default; }
.pq-navitem:hover{ background:#EDEBE9; }
.pq-navitem.on{ background:#CFE3D2; }
.pq-navitem input{ margin:0; accent-color:#217346; pointer-events:none; }
.pq-nav-title{ font-weight:600; font-size:13px; margin:4px 0; min-height:18px; }
.pq-csvbar{ display:flex; gap:12px; flex-wrap:wrap; }
.pq-browse{ margin-top:8px; border:1px solid #C8C6C4; }
.pq-browse-h{ padding:5px 8px; background:#F3F2F1; font-weight:600; }
.pq-browse-list{ max-height:130px; overflow:auto; padding:4px 0; }
.pq-browse-root{ padding:3px 8px; white-space:nowrap; }
.pq-browse-sub{ padding-left:22px; }
.pq-browse-item{ padding:3px 8px 3px 38px; white-space:nowrap; cursor:default; }
.pq-browse-item:hover{ background:#E5F3FF; }
.pq-browse-item.on{ background:#CCE8FF; }
.pq-browse .pq-dlg-foot{ padding:8px; }
.pq-menuwrap{ position:relative; display:inline-block; }
.pq-inmenu{ position:absolute; left:0; bottom:32px; width:230px; }
.pq-clauses{ max-height:220px; overflow:auto; }
.pq-cl-head{ display:flex; gap:6px; padding-left:56px; color:#605E5C; font-size:11.5px; }
.pq-cl-head span{ min-width:0; }
.pq-cl-head span:nth-child(2){ width:136px; } .pq-cl-head span:nth-child(3){ width:156px; } .pq-cl-head span:nth-child(4){ width:220px; } .pq-cl-head span:nth-child(5){ width:34px; }
.pq-clause{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:6px 0; }
.pq-cl-if{ width:50px; flex:none; font-size:12.5px; }
.pq-cl-then{ flex:none; font-size:12.5px; }
.pq-dd-col{ min-width:130px; width:130px; }
.pq-dd-op{ min-width:150px; width:150px; }
.pq-dd-mode{ min-width:70px !important; width:70px; }
.pq-cl-val{ display:inline-flex; gap:0; align-items:center; }
.pq-cl-val .pq-in, .pq-cl-val .pq-dd:not(.pq-dd-mode){ width:140px; min-width:140px; }
.pq-cl-else{ display:flex; align-items:center; gap:8px; margin-top:10px; }
.pq-cust{ display:flex; gap:14px; }
.pq-cust-l{ flex:1; min-width:0; }
.pq-cust-r{ flex:none; width:180px; }
.pq-cust-box{ position:relative; display:flex; align-items:flex-start; gap:4px; }
.pq-cust-eq{ font-family:Consolas, monospace; font-size:14px; padding-top:5px; }
textarea.pq-formula{ height:128px; padding:6px 7px; font-family:Consolas, "Cascadia Mono", Menlo, monospace; font-size:13px; line-height:1.45; resize:none; white-space:pre-wrap; }
.pq-ac{ position:absolute; left:18px; top:100%; z-index:5; }
.pq-ac-list{ min-width:220px; max-height:190px; overflow:auto; background:#fff; border:1px solid #C8C6C4; box-shadow:0 4px 12px rgba(0,0,0,.18); font-family:Consolas, monospace; font-size:12.5px; }
.pq-ac-item{ padding:3px 8px; white-space:nowrap; cursor:default; }
.pq-ac-item.on, .pq-ac-item:hover{ background:#CFE3D2; }
.pq-syntax{ margin:6px 0 2px; font-size:12.5px; line-height:1.45; }
.pq-syntax.ok{ color:#107C10; }
.pq-syntax.bad{ color:#A4262C; }
.pq-syn-help{ display:block; color:#605E5C; }
.pq-learn{ color:#217346; font-size:12px; margin-top:4px; }
.pq-cust-cols{ height:150px; overflow:auto; border:1px solid #C8C6C4; margin-bottom:6px; }
.pq-cust-col{ padding:3px 8px; white-space:nowrap; cursor:default; }
.pq-cust-col:hover{ background:#EDEBE9; }
.pq-cust-col.on{ background:#CFE3D2; }
.pq-mg-name{ font-weight:600; margin:6px 0 2px; }
.pq-dd-wide{ min-width:260px; margin-top:6px; }
.pq-mg-bottom{ display:flex; flex-wrap:wrap; gap:4px 18px; align-items:flex-end; }
.pq-match{ min-height:18px; margin-top:6px; color:#107C10; font-size:12.5px; }
.pq-ap3{ display:grid; grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr); gap:10px; }
.pq-ap-list{ height:150px; overflow:auto; border:1px solid #C8C6C4; margin-bottom:6px; }
.pq-ap-item{ padding:3px 8px; white-space:nowrap; cursor:default; }
.pq-ap-item:hover{ background:#EDEBE9; }
.pq-ap-item.on{ background:#CFE3D2; }
.pq-ap-mid{ display:flex; align-items:center; }
.pq-fr-head{ display:flex; gap:6px; color:#605E5C; font-size:11.5px; }
.pq-fr-row{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:6px 0; }
.pq-fr-row .pq-in{ width:180px; }
.pq-fr-join{ display:flex; gap:16px; }
.pq-dd-join{ min-width:70px !important; width:70px; }
.pq-fr-and{ color:#605E5C; }
.pq-adv-bar{ color:#217346; margin:2px 0 6px; }
.pq-adv-code{ margin:0; padding:8px 10px; max-height:320px; overflow:auto; border:1px solid #C8C6C4; font-family:Consolas, "Cascadia Mono", Menlo, monospace; font-size:12.5px; line-height:1.5; white-space:pre; user-select:text; -webkit-user-select:text; }

/* a marked question: the room still scrolls, nothing changes */
.pq-locked .pq-ribbon, .pq-locked .pq-queries, .pq-locked .pq-settings, .pq-locked .pq-fbar{ opacity:.9; }
.pq-locked .pq-colh button, .pq-locked .pq-ribbon button, .pq-locked .pq-step button{ cursor:default; }

/* ----------------------------------------------- narrow rooms (phones) */
.pq-narrow .pq-title, .pq-narrow .pq-winctl{ display:none; }
.pq-narrow .pq-wintabs{ flex:1; }
.pq-narrow .pq-wintab{ padding:0 8px; font-size:11.5px; }
.pq-narrow .pq-rbody{ height:94px; }
.pq-overlay{ position:absolute; top:0; bottom:0; z-index:15; width:min(250px, 82%); box-shadow:0 0 18px rgba(0,0,0,.22); }
.pq-overlay-l{ left:0; }
.pq-overlay-r{ right:0; }
.pq-narrow .pq-qc{ position:absolute; top:0; right:0; bottom:0; z-index:15; width:min(260px, 86%); box-shadow:0 0 18px rgba(0,0,0,.22); }
.pq-narrow .pq-dgrid td{ max-width:170px; }
.pq-narrow .pq-colh-in{ min-width:100px; }
.pq-narrow .pq-nav{ flex-direction:column; }
.pq-narrow .pq-nav-l{ width:100%; }
.pq-narrow .pq-nav-list{ max-height:120px; }
.pq-narrow .pq-frow{ grid-template-columns:22px minmax(0, 1fr); }
.pq-narrow .pq-fdate, .pq-narrow .pq-ftype, .pq-narrow .pq-open-nav, .pq-narrow .pq-open-types{ display:none; }
.pq-narrow .pq-cust{ flex-direction:column; }
.pq-narrow .pq-cust-r{ width:100%; }
.pq-narrow .pq-cust-cols{ height:90px; }
.pq-narrow textarea.pq-formula{ height:90px; }
.pq-narrow .pq-cl-head, .pq-narrow .pq-fr-head{ display:none; }
.pq-narrow .pq-ap3{ grid-template-columns:1fr; }
.pq-narrow .pq-ap-list{ height:90px; }
.pq-narrow .pq-dlg-body{ padding:4px 10px 8px; }
.pq-narrow .pq-dlg-foot{ padding:8px 10px 10px; }
.pq-narrow .pq-fr-row .pq-in, .pq-narrow .pq-cl-val .pq-in, .pq-narrow .pq-cl-val .pq-dd:not(.pq-dd-mode){ width:150px; min-width:0; }
@media (max-width:640px){
  .pq-ws{ height:580px; }
}

/* ------------------------------------------ first-time explanations */
.pq-explain{ position:fixed; z-index:85; box-sizing:border-box; width:290px; max-width:calc(100vw - 16px); padding:10px 12px; background:#fff; color:#252423; border:1px solid #C8C6C4; border-top:3px solid #217346; border-radius:6px; box-shadow:0 8px 24px rgba(0,0,0,.2); font-family:"Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; font-size:12.5px; line-height:1.45; text-align:left; }
.pq-explain *{ box-sizing:border-box; }
.pq-explain-kicker{ font-size:10.5px; color:#605E5C; margin:0 0 1px; }
.pq-explain-title{ font-size:14px; font-weight:600; margin:0 0 4px; }
.pq-explain-text{ margin:0 0 9px; color:#323130; }
.pq-explain-foot{ display:flex; justify-content:flex-end; }
.pq-explain .pq-explain-ok{ font:600 12px/1 "Segoe UI", system-ui, sans-serif; color:#fff; background:#217346; border:0; border-radius:3px; padding:7px 14px; margin:0; cursor:pointer; }
.pq-explain .pq-explain-ok:hover{ background:#185C37; }
/* The pointer at the thing explained (2026-09-22). A square turned 45°, two
   of its borders dropped, half of it outside the card: the corner left
   showing is the tip. --pq-ax is how far along the card's edge it sits,
   written by explainPlace so the tip meets the middle of the control. */
.pq-explain-arrow{ position:absolute; width:12px; height:12px; background:#fff; border:1px solid #C8C6C4; transform:rotate(45deg); }
.pq-explain[data-pq-side="right"] .pq-explain-arrow{ left:-7px; top:calc(var(--pq-ax, 24px) - 6px); border-top:0; border-right:0; }
.pq-explain[data-pq-side="left"] .pq-explain-arrow{ right:-7px; top:calc(var(--pq-ax, 24px) - 6px); border-bottom:0; border-left:0; }
.pq-explain[data-pq-side="below"] .pq-explain-arrow{ top:-7px; left:calc(var(--pq-ax, 24px) - 6px); border-bottom:0; border-right:0; border-color:#217346; }
.pq-explain[data-pq-side="above"] .pq-explain-arrow{ bottom:-7px; left:calc(var(--pq-ax, 24px) - 6px); border-top:0; border-left:0; }
/* Docked at the top of the room: no pointer to read, so the kicker names the
   subject — "First time · Merge queries". */
.pq-explain-of{ display:none; }
.pq-explain[data-pq-side="dock"] .pq-explain-arrow{ display:none; }
.pq-explain[data-pq-side="dock"] .pq-explain-of{ display:inline; }
.pq-explain[data-pq-side="dock"]{ border-top-width:4px; box-shadow:0 12px 32px rgba(0,0,0,.26); }
.pq-explain[data-pq-side="dock"] .pq-explain-kicker{ color:#252423; font-weight:600; }
/* The thing being explained, ringed while its card is up. */
.pq-explain-subject{ outline:2px dashed #217346; outline-offset:2px; }
@media (max-width:480px){ .pq-explain{ font-size:12px; padding:8px 10px; } }

/* ------------------------------------------------ "Your query" summary */
.pq-present{ font-family:"Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; font-size:13px; color:#252423; }
.pq-sum{ margin:0 0 18px; }
.pq-sum-h{ font-size:15px; font-weight:600; margin:0 0 6px; }
.pq-sum-steps ol{ margin:4px 0 8px 20px; padding:0; }
.pq-sum-scroll{ max-width:100%; overflow:auto; border:1px solid #C8C6C4; }
.pq-sum-table{ border-collapse:collapse; font-size:12px; }
.pq-sum-table th{ background:#70AD47; color:#fff; padding:4px 8px; text-align:left; white-space:nowrap; }
.pq-sum-table td{ padding:3px 8px; border-bottom:1px solid #E2EFDA; white-space:nowrap; }
.pq-sum-table tr:nth-child(even) td{ background:#E2EFDA; }
.pq-sum-note{ color:#605E5C; font-size:12px; margin-top:4px; }
