dialog.planner-dialog.is-session-picker {
  width:min(760px,calc(100% - 40px));
  max-width:none;
  height:min(820px,90dvh);
  max-height:90dvh;
  padding:22px 22px 0;
  overflow:hidden;
  background:#101822;
  border-color:#354254;
}
dialog.planner-dialog.is-session-picker[open] { display:flex;flex-direction:column; }
dialog.planner-dialog.is-session-picker .planner-dialog-heading { flex:0 0 auto;align-items:center;margin-bottom:0;gap:12px; }
dialog.planner-dialog.is-session-picker .planner-dialog-heading h2 { font-size:21px;font-weight:600; }
dialog.planner-dialog.is-session-picker .planner-dialog-heading .planner-icon-button { width:44px;height:44px;min-width:44px; }
dialog.planner-dialog.is-session-picker [data-session-picker-root] { display:flex;flex:1 1 auto;min-height:0;min-width:0; }
.session-picker { display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;color:#ecf1fa;font:400 12px/1.5 Poppins,sans-serif; }
.session-picker * { box-sizing:border-box; }
.session-picker button,.session-picker input,.session-picker select { font:inherit; }
.session-picker button { -webkit-tap-highlight-color:transparent;cursor:pointer; }
.session-picker [hidden] { display:none!important; }
.session-picker button:focus-visible,.session-picker input:focus-visible,.session-picker-select:focus-within,.session-picker-results:focus-visible { outline:2px solid #f2bd63;outline-offset:3px; }
.session-picker svg { width:18px;height:18px;flex:0 0 auto; }
.session-picker-summary { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:9px;flex:0 0 auto; }
.session-picker-summary p { margin:0;color:#c3cddd;font-size:12px; }
.session-picker-clear { border:0;background:transparent;color:#f2bd63;min-height:44px;padding:0 2px;text-decoration:underline;text-underline-offset:3px; }
.session-picker-controls { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1.1fr);gap:9px;margin-bottom:16px;flex:0 0 auto; }
.session-picker-search,.session-picker-select { position:relative;display:flex;align-items:center;min-width:0;margin:0; }
.session-picker-search > svg { position:absolute;left:12px;color:#a7b8d0;pointer-events:none; }
.session-picker-search input,.session-picker-selected-label { display:block;width:100%;min-width:0;min-height:44px;border:1px solid #344156;border-radius:6px;background:#151e2a;color:#e8eef8;line-height:1.5; }
.session-picker-search input { height:100%;padding:10px 12px 10px 38px; }
.session-picker-search input::placeholder { color:#a6b4c9;opacity:1; }
.session-picker-search input::-webkit-search-cancel-button { cursor:pointer; }
.session-picker-select { border-radius:6px; }
.session-picker-select select { position:absolute;inset:0;z-index:2;width:100%;height:100%;min-height:44px;opacity:0;cursor:pointer;font-size:16px; }
.session-picker-selected-label { align-content:center;height:100%;padding:10px 31px 10px 12px;overflow-wrap:anywhere;white-space:normal; }
.session-picker-select > svg { position:absolute;right:10px;z-index:1;width:15px;height:15px;color:#d5dfef;pointer-events:none; }
.session-picker-select option { background:#151e2a;color:#e8eef8; }
.session-picker-results { flex:1 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#41516a #101822;scrollbar-gutter:stable;overflow-anchor:none;padding:3px 5px 13px 3px;margin:-3px -5px 0 -3px; }
.session-picker-list { display:flex;flex-direction:column;gap:11px;min-width:0; }
.session-picker-row { min-width:0;border:1px solid #2e3b4e;border-radius:8px;background:linear-gradient(120deg,#182230,#121b26); }
.session-picker-row:hover { border-color:#6a7b91; }
.session-picker-row.is-selected { border-color:#ffc45a;box-shadow:inset 0 0 0 1px #ffc45a;background:linear-gradient(120deg,#1b2430,#121b26); }
.session-picker-choice { position:relative;display:grid;grid-template-columns:148px minmax(0,1fr) 28px;column-gap:18px;align-items:center;width:100%;min-height:103px;padding:12px 14px;border:0;border-radius:7px;text-align:left;background:transparent;color:inherit; }
.session-picker-thumb { position:relative;display:block;aspect-ratio:16/9;min-width:0;overflow:hidden;border-radius:5px;background:#1b443e; }
.session-picker-thumb .session-picker-pitch,.session-picker-thumb img { display:block;width:100%;height:100%; }
.session-picker-thumb .session-picker-pitch { position:absolute;inset:0; }
.session-picker-thumb img { position:relative;object-fit:cover; }
.session-picker-copy { display:flex;flex-direction:column;gap:4px;min-width:0; }
.session-picker-copy > strong { font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere; }
.session-picker-group { color:#c7d3e5;font-size:12px;overflow-wrap:anywhere; }
.session-picker-meta { display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:4px;font-size:11px;color:#d8e1ef; }
.session-picker-meta > span { display:inline-flex;align-items:center;gap:6px; }
.session-picker-meta > span + span { border-left:1px solid #536076;padding-left:12px; }
.session-picker-meta svg { width:15px;height:15px; }
.session-picker-state { display:flex;align-items:center;justify-content:center;align-self:start;width:24px;height:24px;margin-top:6px;border:1px solid #b2bfd0;border-radius:50%; }
.session-picker-state svg { opacity:0;width:17px;height:17px;stroke-width:2.4; }
.session-picker-row.is-selected .session-picker-state { background:#f2b65b;border-color:#f2b65b;color:#19212b; }
.session-picker-row.is-selected .session-picker-state svg { opacity:1; }
.session-picker-strip { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;list-style:none;padding:0 14px 14px;margin:0;min-width:0; }
.session-picker-strip:has(> li:nth-child(4)) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.session-picker-strip:has(> li:nth-child(5)) { grid-template-columns:repeat(5,minmax(0,1fr)); }
.session-picker-strip > li { min-width:0; }
.session-picker-strip .session-picker-thumb { width:100%; }
.session-picker-practice-title { display:flex;align-items:flex-start;gap:7px;margin-top:6px;font-size:10px;line-height:1.55; }
.session-picker-practice-title > span:last-child { min-width:0;overflow-wrap:anywhere; }
.session-picker-practice-number { flex:0 0 auto;color:#f0f4fb; }
.session-picker-unavailable { display:block;margin-top:4px;padding-left:13px;color:#c0b09a;font-size:10px; }
.session-picker-strip > .session-picker-no-practices { grid-column:1/-1;padding:5px 0 0;color:#acbad0;font-size:12px; }
.session-picker-empty { display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px;padding:30px 20px;text-align:center;color:#b9c6d9; }
.session-picker-empty > svg { width:32px;height:32px;color:#f2b65b;margin-bottom:14px; }
.session-picker-empty h3 { margin:0 0 7px;color:#ebf1fb;font-size:15px;font-weight:500; }
.session-picker-empty p { max-width:360px;margin:0;font-size:12px;line-height:1.8; }
.session-picker-footer { position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;flex:0 0 auto;border-top:1px solid #344155;padding:17px 22px calc(17px + env(safe-area-inset-bottom,0px));margin:0 -22px;background:#101822;box-shadow:0 -7px 20px #080e151c; }
.session-picker-footer p { min-width:0;margin:0;color:#c7d3e6;font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.session-picker-button { display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:108px;padding:10px 18px;border:1px solid #3c4e66;border-radius:6px;background:#131c28;color:#f1f4fa;font-weight:500!important; }
.session-picker-button:hover { border-color:#91a0b8;background:#1d2939; }
.session-picker-button.is-primary { min-width:130px;background:#f2b65b;border-color:#f2b65b;color:#19150f;font-weight:600!important; }
.session-picker-button.is-primary:hover { background:#fac575;border-color:#fac575; }
.session-picker-button:disabled { opacity:.5;cursor:default; }
.session-picker-sr { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
@media (max-width:640px) {
  dialog.planner-dialog.is-session-picker { width:calc(100% - 20px);height:90dvh;max-height:90dvh;padding:14px 14px 0;border-radius:12px; }
  dialog.planner-dialog.is-session-picker::backdrop { backdrop-filter:none;-webkit-backdrop-filter:none; }
  dialog.planner-dialog.is-session-picker .planner-dialog-heading h2 { font-size:19px; }
  .session-picker-summary { margin-bottom:8px;min-height:44px; }
  .session-picker-controls { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px; }
  .session-picker-search { grid-column:1/-1; }
  .session-picker-search input,.session-picker-select select { min-height:44px;font-size:16px; }
  .session-picker-selected-label { min-height:44px;padding-left:10px;font-size:12px; }
  .session-picker-choice { grid-template-columns:100px minmax(0,1fr) 24px;column-gap:12px;min-height:94px;padding:11px 10px; }
  .session-picker-copy { gap:3px; }
  .session-picker-copy > strong { font-size:12px;line-height:1.6; }
  .session-picker-group { font-size:10px; }
  .session-picker-meta { font-size:10px;gap:4px 8px;margin-top:3px; }
  .session-picker-meta > span { gap:4px; }
  .session-picker-meta > span + span { padding-left:8px; }
  .session-picker-meta svg { width:13px;height:13px; }
  .session-picker-state { width:23px;height:23px;margin-top:2px; }
  .session-picker-strip,.session-picker-strip:has(> li:nth-child(4)),.session-picker-strip:has(> li:nth-child(5)) { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px;padding:0 10px 12px; }
  .session-picker-practice-title { gap:5px;font-size:9px; }
  .session-picker-footer { grid-template-columns:1fr 1fr;gap:10px 12px;margin:0 -14px;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px)); }
  .session-picker-footer [data-picker-action="cancel"] { grid-row:1;grid-column:1; }
  .session-picker-footer [data-picker-action="use"] { grid-row:1;grid-column:2; }
  .session-picker-footer p { grid-column:1/-1;grid-row:2;text-align:center;font-size:10px; }
  .session-picker-button { width:100%;min-width:0; }
  .session-picker-button.is-primary { min-width:0; }
}
@media (max-width:390px) {
  .session-picker-choice { grid-template-columns:82px minmax(0,1fr) 22px;column-gap:9px; }
  .session-picker-meta { gap:4px 6px; }
  .session-picker-meta > span + span { padding-left:6px; }
}
@media (prefers-reduced-motion:reduce) { .session-picker * { scroll-behavior:auto!important; } }
