.positions-desk {
  --desk-quiet:#586350;
  --desk-amber:#875315;
  --desk-amber-fill:#fff2dc;
  display:grid;
  gap:12px;
  min-width:0;
}
.positions-desk :is(h2,h3,p) { margin:0; }
.positions-desk :is(button,select,input,summary) { font:inherit; }
.positions-desk :is(select,input) { max-width:100%; min-width:0; min-height:34px; padding:5px 8px; }
.positions-desk button:disabled { color:var(--desk-quiet); opacity:.55; }
.positions-desk :is(.positions-desk-context,.positions-desk-panel) {
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
}
.positions-desk :is(.positions-desk-context,.positions-desk-heading,.positions-desk-table-foot) {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  padding:8px 11px;
}
.positions-desk-profile,.positions-desk-filters {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  min-width:0;
  color:var(--desk-quiet);
}
.positions-desk-profile label,.positions-desk-history-head label {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  max-width:100%;
}
.positions-desk-profile select { color:var(--ink); font-weight:650; }
.positions-desk-profile [data-desk-field="profile"] { width:min(24ch, 100%); text-overflow:ellipsis; }
.positions-desk-context-label { font-size:12px; }
.positions-desk-calendar { position:relative; z-index:4; margin-inline-start:auto; }
.positions-desk-calendar summary {
  display:flex;
  align-items:center;
  gap:7px;
  list-style:none;
  min-height:34px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--canvas);
  color:var(--ink);
  font-weight:650;
  cursor:pointer;
  white-space:nowrap;
}
.positions-desk-calendar summary::-webkit-details-marker { display:none; }
.positions-desk-picker {
  position:absolute;
  inset-block-start:calc(100% + 6px);
  inset-inline-end:0;
  width:298px;
  max-width:calc(100vw - 52px);
  padding:9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  box-shadow:0 10px 28px #14221327;
}
.positions-desk :is(.positions-desk-presets,.positions-desk-month,.positions-desk-picker-foot) {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
}
.positions-desk :is(.positions-desk-picker,.positions-desk-paging,.positions-desk-switch) button {
  min-height:29px;
  padding:3px 7px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  color:var(--ink);
  font-size:12px;
}
.positions-desk-presets button { flex:1; }
.positions-desk .positions-desk-presets button { border-color:var(--line); }
.positions-desk .positions-desk-picker :is(button[aria-pressed="true"],[data-desk-action="apply"]) { background:var(--green-soft); color:var(--ink); }
.positions-desk-month { margin:5px 0 3px; text-transform:capitalize; }
.positions-desk .positions-desk-month button { font-size:20px; line-height:1; }
.positions-desk :is(.positions-desk-week,.positions-desk-days) { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center; }
.positions-desk-week { margin-bottom:3px; color:var(--desk-quiet); font-size:11px; }
.positions-desk .positions-desk-days button { position:relative; display:grid; place-items:center; padding:0 0 4px; font-variant-numeric:tabular-nums; }
.positions-desk .positions-desk-days button[data-boundary] { background:var(--nav); color:#fff; font-weight:700; }
.positions-desk-days button[data-checks]::after { content:""; position:absolute; bottom:3px; left:calc(50% - 2px); width:4px; height:4px; border-radius:50%; background:currentColor; }
.positions-desk .positions-desk-hint { margin:6px 0; color:var(--desk-quiet); font-size:12px; }
.positions-desk-picker-foot { padding-top:6px; border-top:1px solid var(--line); }
.positions-desk .positions-desk-picker-foot input { width:58px; min-height:29px; padding:3px 5px; }
.positions-desk :is(.positions-desk-summary,.positions-desk-quality-values,.positions-desk-legend) { display:flex; flex-wrap:wrap; gap:4px 14px; color:var(--desk-quiet); }
.positions-desk-summary { padding:0 2px; }
.positions-desk :is(.positions-desk-summary,.positions-desk-quality-values) strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.positions-desk-current { color:var(--ink); }
.positions-desk-heading { align-items:flex-start; }
.positions-desk-heading h2 { font-size:14px; font-weight:700; }
.positions-desk-heading :is(p,label) { margin-top:2px; color:var(--desk-quiet); font-size:12px; }
.positions-desk-switch { display:flex; gap:3px; padding:2px; border:1px solid var(--line); border-radius:6px; background:var(--canvas); }
.positions-desk .positions-desk-switch button[aria-pressed="true"] { border-color:var(--line); background:var(--surface); font-weight:650; }
.positions-desk-chart { display:flex; gap:5px; overflow-x:auto; padding:0 11px 8px; }
.positions-desk-chart > button {
  display:grid;
  grid-template-rows:16px 31px auto;
  justify-items:center;
  align-items:end;
  gap:2px;
  flex:1 0 83px;
  padding:1px 3px;
  border:0;
  border-radius:5px;
  background:var(--canvas);
  color:var(--desk-quiet);
  font-size:11px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.positions-desk-chart > button[aria-pressed="true"] { background:var(--green-soft); color:var(--ink); }
.positions-desk-chart b { color:var(--ink); font-size:12px; }
.positions-desk-chart i { width:40%; max-width:44px; height:var(--bar-height); border-radius:3px 3px 0 0; background:var(--blue); }
.positions-desk-chart > button[aria-pressed="true"] i { background:var(--green); }
.positions-desk-history-head { align-items:center; }
.positions-desk-filters { max-width:100%; gap:5px; }
.positions-desk-filters input { width:165px; }
.positions-desk-table-wrap { overflow:auto; max-width:100%; border-block:1px solid var(--line); }
.positions-desk-table-wrap table { width:100%; border-spacing:0; border-collapse:separate; font-size:13px; font-variant-numeric:tabular-nums; }
.positions-desk-table-wrap :is(th,td) { min-width:64px; padding:5px 8px; border-bottom:1px solid var(--line); text-align:center; }
.positions-desk-table-wrap thead th { background:var(--canvas); color:var(--desk-quiet); font-size:12px; }
.positions-desk-table-wrap tr:last-child td,.positions-desk-table-wrap tr:last-child th[scope="row"] { border-bottom:0; }
.positions-desk-table-wrap th:first-child {
  position:sticky;
  left:0;
  z-index:1;
  min-width:151px;
  max-width:clamp(151px, 45vw, 320px);
  text-align:left;
  background:var(--surface);
  overflow-wrap:anywhere;
}
.positions-desk-table-wrap thead th:first-child { background:var(--canvas); }
.positions-desk-table-wrap thead th.positions-desk-active { background:var(--green-soft); color:var(--ink); }
.positions-desk-table-wrap button:not(.query-button) { border:0; border-radius:4px; background:transparent; color:inherit; padding:1px 5px; font-weight:650; min-width:24px; white-space:nowrap; }
.positions-desk-table-wrap button.rank-found { background:var(--green-soft); color:#365326; }
.positions-desk-table-wrap button.rank-unknown { background:var(--desk-amber-fill); color:var(--desk-amber); }
.positions-desk-table-wrap small { display:block; color:var(--desk-quiet); font-size:11px; font-weight:450; }
.positions-desk-table-wrap .query-button { color:var(--ink); font-size:13px; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.positions-desk-table-wrap .positions-desk-empty { padding:12px; text-align:left; }
.positions-desk-up { color:#3b6527; }
.positions-desk-down { color:#914840; }
.positions-desk-table-foot { color:var(--desk-quiet); font-size:12px; }
.positions-desk-paging { display:inline-flex; align-items:center; gap:5px; }
.positions-desk .positions-desk-paging button { border-color:var(--line); font-size:16px; line-height:1; }
.positions-desk-quality-values { padding:0 11px 9px; }
.positions-desk-inspector { padding:8px 11px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.positions-desk-inspector .positions-desk-heading { padding:0 0 4px; }
.positions-desk-inspector p { color:var(--desk-quiet); }
.positions-desk-inspector button { border:0; background:none; color:var(--ink); text-decoration:underline; }
@media(max-width:610px) {
  .positions-desk { gap:9px; }
  .positions-desk-context { align-items:flex-start; }
  .positions-desk-profile { width:100%; }
  .positions-desk-calendar { margin-inline-start:0; }
  .positions-desk-picker { inset-inline-start:0; inset-inline-end:auto; }
}
@media(pointer:coarse) {
  .positions-desk .positions-desk-days button { min-height:36px; }
  .positions-desk :is(select,input,.positions-desk-calendar summary) { min-height:44px; }
}
