#session-screen{padding:0!important;display:block;overflow:auto!important;overscroll-behavior:contain;height:100dvh}#session-screen>.session-directory-shell{width:100%;max-width:1480px;max-height:none;overflow:visible;margin:0 auto;padding:24px clamp(16px,3vw,40px) max(30px,env(safe-area-inset-bottom));min-height:100%}.directory-page-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}.directory-page-head img{height:52px;width:52px;object-fit:contain}.directory-page-head>div{flex:1;min-width:0}.directory-page-head h1{font-size:clamp(23px,3vw,34px);letter-spacing:-.7px;line-height:1.2}.directory-page-head p{color:var(--muted);font-size:14px;margin-top:6px}.directory-module-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.directory-module-nav a{padding:12px 18px;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:var(--text);font-size:14px;font-weight:700;background:var(--surface)}.directory-module-nav [aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}#session-screen .session-cloud-context{background:transparent;border:0;padding:0 0 12px;margin:0}#session-screen .session-cloud-context strong{font-weight:500;font-size:12px}#session-screen .session-cloud-dot{width:8px;height:8px;flex-basis:8px}#session-screen .session-create-panel{margin:0 0 20px;max-width:720px}#session-screen .session-create-panel summary{min-height:48px}#session-screen .session-browser-card{border:0;background:transparent;overflow:visible}#session-screen .session-browser-head{padding:0 0 16px;border:0;align-items:center}#session-screen .session-browser-head .card-title{font-size:17px;color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:6px}.directory-top-search{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);padding:12px;border-radius:16px;margin-bottom:16px}.directory-top-search>label{display:block;flex:1;min-width:0}.directory-top-search label>span{display:block;font-size:12px;font-weight:650;margin-bottom:6px;color:var(--muted)}.directory-top-search input{font-size:17px!important;min-height:50px;padding:12px 14px!important}.directory-top-search>button{align-self:flex-end;min-width:44px;min-height:50px}.directory-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.directory-filters{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.directory-filters>summary{font-size:15px;font-weight:700;cursor:pointer;padding:16px;min-height:52px}.directory-filters>div{padding:0 16px 18px}.directory-filters label,.directory-detail label{display:grid;gap:7px;font-size:13px;font-weight:600;margin:12px 0}.directory-filters select,.directory-filters input:not([type=checkbox]),.directory-detail input{min-width:0;width:100%;min-height:46px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);font:16px 'DM Sans',system-ui;color-scheme:dark}html[data-theme=light] .directory-filters input,html[data-theme=light] .directory-filters select{color-scheme:light}.directory-filters fieldset{border:0;border-top:1px solid var(--border);padding:10px 0 0;margin:18px 0 0;min-width:0}.directory-filters legend{font-size:13px;font-weight:750;padding-right:6px}.directory-date-range{display:grid;grid-template-columns:1fr;gap:0}.directory-hint{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0}.directory-filters .directory-check{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;margin:0;min-height:44px;cursor:pointer}.directory-check input{accent-color:var(--accent);height:20px;width:20px;flex:0 0 20px}.directory-categories{border-top:1px solid var(--border);margin-top:18px;padding-top:8px}.directory-categories summary{padding:10px 0;cursor:pointer;min-height:44px;font-weight:650;font-size:14px}.directory-results{min-width:0}.directory-results-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.directory-results-tools label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.directory-results-tools select{min-height:44px;max-width:200px;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--surface);color:var(--text);font-size:16px}.directory-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.directory-active-filters:empty{display:none}.directory-active-filters button{min-height:38px;border:1px solid var(--border);border-radius:20px;padding:8px 12px;color:var(--text);background:var(--surface2);font:13px 'DM Sans',sans-serif;cursor:pointer}.directory-active-filters span{margin-left:6px}#session-screen .session-items{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.directory-session{border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--surface);min-width:0;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}.directory-session>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.directory-state{font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:5px 9px}.directory-state.open{color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent)}.directory-date{font-size:12px;color:var(--muted)}.directory-session h2{font-size:19px;line-height:1.3;margin:2px 0 0}.directory-route{font-size:14px;font-weight:600;color:var(--text)}.directory-document{font-size:13px;color:var(--muted)}.directory-stats{display:flex;flex-wrap:wrap;gap:8px 16px;border-block:1px solid var(--border);padding:12px 0;font-size:12px;color:var(--muted)}.directory-stats strong{display:inline;color:var(--text);font-size:17px}.directory-pending strong{color:var(--yellow)}.directory-people,.directory-session>small{color:var(--muted);font-size:12px;line-height:1.5}.directory-session>footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px}.directory-session button,.directory-pagination button,.directory-detail button,.directory-empty button{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;min-height:44px;padding:10px 12px;font:600 13px 'DM Sans',system-ui;cursor:pointer}.directory-session .directory-primary{background:var(--accent);border-color:var(--accent);color:#fff}.directory-session .directory-delete{background:transparent;color:var(--muted);border-color:transparent;font-size:12px}.directory-matches{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg)}.directory-matches>p{font-size:12px;font-weight:700;margin-bottom:8px}.directory-matches>div{border-top:1px solid var(--border);padding:9px 0}.directory-matches strong,.directory-detail article strong{display:block;font-size:13px}.directory-matches small,.directory-matches span,.directory-detail article small,.directory-detail article span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}.directory-empty{grid-column:1/-1;padding:50px 20px;text-align:center;color:var(--muted);line-height:1.7;background:var(--surface);border:1px dashed var(--border);border-radius:14px}.directory-empty strong{display:block;color:var(--text)}.directory-empty button{margin-top:16px}.directory-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0;font-size:13px}.directory-pagination button:disabled,.directory-detail button:disabled{opacity:.45;cursor:default}.directory-error{padding:12px;border:1px solid var(--red);border-radius:10px;color:var(--red);margin-bottom:16px;line-height:1.5;font-size:14px}.directory-error:empty{display:none}.directory-detail{--bg:#11111b;--surface:#20202c;--surface2:#292939;--border:#46465d;--text:#f2f2fc;--muted:#b5b5cc;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:24px;margin:auto;width:min(820px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;font:16px 'DM Sans',system-ui;overscroll-behavior:contain}.directory-detail::backdrop{background:#070712cf}.directory-detail header{display:flex;justify-content:space-between;gap:16px;align-items:start}.directory-detail h2{font-size:22px;margin:8px 0 14px}.directory-detail>p{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:14px}.directory-detail article{padding:14px;border:1px solid var(--border);border-radius:10px;margin:8px 0}.directory-detail footer{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:15px}.directory-detail [data-close]{font-size:20px;min-width:44px}#session-screen :focus-visible,.directory-detail :focus-visible{outline:3px solid var(--accent,#9785ff);outline-offset:3px}#session-screen [hidden]{display:none!important}
#session-screen,html[data-theme=dark] #session-screen{background:var(--bg)!important}#session-screen>.session-directory-shell{max-width:1480px!important;padding-top:max(24px,env(safe-area-inset-top))}.directory-state,.directory-date{white-space:nowrap}.directory-results-tools{justify-content:flex-end}
.directory-actions{display:flex;gap:16px;align-items:start;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.directory-actions .directory-module-nav{margin:0}.directory-actions #session-create-panel{margin:0;min-width:250px}.directory-actions #session-create-panel:not([open]) summary{padding:10px 14px}.directory-actions #directory-create-slot:has(details[open]){flex-basis:100%}.directory-show-results{display:none}
@media(max-width:1100px){#session-screen .session-items{grid-template-columns:1fr}.directory-layout{gap:16px;grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:800px){.directory-layout{grid-template-columns:1fr}.directory-page-head{flex-wrap:wrap;gap:10px}.directory-page-head img{width:40px;height:40px}.directory-page-head .btn{margin-left:50px}.directory-module-nav{gap:6px}.directory-module-nav a{flex:1;text-align:center;padding:12px 8px;font-size:12px}.directory-results-tools{flex-wrap:wrap}.directory-results-tools label{margin-left:auto}.directory-date-range,.directory-route-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.directory-filters>summary{position:sticky;top:0;background:var(--surface);z-index:1}.directory-session{padding:16px}.directory-session>footer>button:not(.directory-delete){flex:1}.directory-active-filters button{min-height:44px}.directory-top-search input{font-size:16px!important}.directory-detail{padding:18px 14px}.directory-detail h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){#session-screen *, .directory-detail *{scroll-behavior:auto!important;animation:none!important}}
@media(max-width:800px){.directory-actions{gap:10px;margin-bottom:14px}.directory-actions .directory-module-nav{width:100%}.directory-actions #directory-create-slot{width:100%}.directory-actions #session-create-panel{min-width:0;max-width:none}.directory-show-results{display:flex;margin-top:16px}.directory-filters>summary{scroll-margin-top:10px}}
@media(max-width:800px){.directory-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.directory-page-head img{display:none}.directory-page-head>div{display:contents}.directory-page-head h1{grid-column:1;grid-row:1;font-size:24px}.directory-page-head p{grid-column:1/-1;grid-row:2;font-size:13px;line-height:1.5;margin:0}.directory-page-head .btn{grid-column:2;grid-row:1;margin:0;padding:10px;font-size:11px}}

/* Compact directory: one module per page; touch controls retain a usable target. */
body:has(#session-screen[style*="display: flex"]) #theme-widget{top:auto;bottom:max(16px,env(safe-area-inset-bottom))}
#session-screen>.session-directory-shell{max-width:1760px!important;padding:14px 18px max(20px,env(safe-area-inset-bottom))}
.directory-page-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;margin-bottom:10px;align-items:center}
.directory-page-head img{width:32px;height:32px}
.directory-page-head h1{font-size:24px;letter-spacing:-.4px;margin:0}
.directory-page-head p{font-size:12px;line-height:1.4;margin-top:3px}
.directory-page-head #directory-create-slot{display:block;min-width:0}
#directory-create-slot #session-create-panel{margin:0;max-width:none;border-radius:8px;box-shadow:none}
#directory-create-slot #session-create-panel summary{padding:6px 10px;min-height:34px;font-size:12px}
#directory-create-slot #session-create-panel summary span{height:20px;width:20px;font-size:16px;border-radius:5px}
.directory-page-head:has(details[open]) #directory-create-slot{grid-column:1/-1;grid-row:2}
.directory-page-head:has(details[open])>a{grid-column:4;grid-row:1}
#session-screen .session-cloud-context{padding:0;margin-bottom:12px;gap:8px}
#session-screen .session-cloud-context>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#session-screen .session-cloud-context strong{font-size:11px}
#session-screen .session-cloud-context span{font-size:11px;margin:0}
#session-screen .session-browser-head{padding:0 0 8px;gap:8px}
#session-screen .session-browser-head .card-title{font-size:14px;margin-bottom:2px}
#session-results-count{font-size:11px}
.directory-top-search{background:transparent;border:0;border-radius:0;padding:0;gap:6px;margin-bottom:12px}
.directory-top-search label>span{font-size:11px;margin-bottom:4px}
.directory-top-search input{font-size:14px!important;min-height:36px;padding:8px 10px!important;border-radius:8px}
.directory-top-search>button{min-height:36px;min-width:36px}
.directory-layout{grid-template-columns:224px minmax(0,1fr);gap:14px}
.directory-filters{border-radius:9px}
.directory-filters>summary{font-size:13px;min-height:36px;padding:10px 12px}
.directory-filters>div{padding:0 12px 12px}
.directory-filters label{font-size:12px;gap:4px;margin:8px 0}
.directory-filters fieldset{margin-top:12px;padding-top:6px}
.directory-filters legend{font-size:12px}
.directory-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.directory-hint{font-size:11px;line-height:1.4;margin:5px 0}
.directory-help{border-top:1px solid var(--border);margin-top:10px;padding-top:5px}
.directory-help>summary{font-size:11px;cursor:pointer;padding:8px 0;min-height:32px}
.directory-categories{margin-top:10px;padding-top:4px}
.directory-categories summary{font-size:12px;min-height:32px;padding:8px 0}
.directory-results-tools{gap:8px;margin-bottom:8px}
.directory-results-tools label{font-size:11px;gap:6px}
.directory-results-tools select{font-size:12px;min-height:32px;padding:5px 8px;border-radius:7px}
.directory-active-filters{gap:6px;margin-bottom:8px}
.directory-active-filters button{font-size:11px;padding:4px 8px;min-height:28px}
#session-screen .session-items{grid-template-columns:1fr;gap:8px}
.directory-session{padding:12px;gap:6px;border-radius:10px}
.directory-session h2{font-size:15px;margin:0;line-height:1.3}
.directory-state{font-size:11px;padding:3px 7px}
.directory-date,.directory-route,.directory-document,.directory-people,.directory-session>small{font-size:11px}
.directory-route{font-weight:500}
.directory-stats{gap:6px 12px;padding:8px 0;font-size:11px}
.directory-stats strong{font-size:14px}
.directory-session>footer{gap:5px;padding-top:3px}
.directory-matches{padding:8px;border-radius:7px}
.directory-matches>div{padding:6px 0}
.directory-pagination{gap:10px;padding:12px 0;font-size:12px}
.directory-empty{padding:28px 14px;font-size:13px}
.directory-detail{padding:16px;border-radius:12px;font-size:14px}
.directory-detail h2{font-size:18px;margin:4px 0 8px}
.directory-detail>p{font-size:12px;margin-bottom:8px}
.directory-detail article{padding:9px 10px;margin:6px 0;border-radius:7px}

@media(min-width:801px){
  #session-screen .btn,.directory-session button,.directory-pagination button,.directory-detail button,.directory-empty button{min-height:32px;padding:6px 10px;font-size:12px;border-radius:7px}
  .directory-filters select,.directory-filters input:not([type=checkbox]),.directory-detail input{min-height:32px;padding:6px 8px;font-size:12px;border-radius:6px}
  .directory-filters input[type=date]{font-size:11px;padding-inline:4px}
  .directory-filters input[type=date]::-webkit-calendar-picker-indicator{width:12px;padding:0;margin:0}
  .directory-filters .directory-check{min-height:28px;font-size:12px;gap:7px}
  .directory-check input{height:16px;width:16px;flex-basis:16px}
  .directory-filters fieldset:has(input[data-group=states]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6px}
  .directory-detail [data-close]{min-width:32px;font-size:18px}
}
@media(min-width:1100px){
  /* Dense rows keep name, progress and actions visible together on a PC. */
  .directory-session{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);column-gap:16px;row-gap:3px;padding:10px 12px}
  .directory-session>h2{grid-column:1;grid-row:1;font-size:14px}
  .directory-session>header{grid-column:2;grid-row:1;justify-content:flex-end}
  .directory-session>.directory-route{grid-column:1;grid-row:2}
  .directory-session>.directory-stats{grid-column:2;grid-row:2;justify-content:flex-end;border:0;padding:2px 0}
  .directory-session>.directory-people{grid-column:1;grid-row:3}
  .directory-session>small{grid-column:1;grid-row:4;font-size:10px}
  .directory-session>footer{grid-column:2;grid-row:3/5;align-self:center;justify-content:flex-end;margin:0;padding:0}
  .directory-session>.directory-document{grid-column:1;grid-row:3}
  .directory-session:has(.directory-document)>.directory-people{grid-row:4}
  .directory-session:has(.directory-document)>small{grid-row:5}
  .directory-session>.directory-matches{grid-column:1/-1;grid-row:6;margin-top:5px}
}
@media(max-width:800px){
  #session-screen>.session-directory-shell{padding:12px 12px max(20px,env(safe-area-inset-bottom))}
  .directory-page-head{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;margin-bottom:10px}
  .directory-page-head img{display:none}
  .directory-page-head>div:not(#directory-create-slot){display:contents}
  .directory-page-head h1{font-size:20px}
  .directory-page-head p{font-size:12px;line-height:1.4}
  .directory-page-head .btn{font-size:11px;min-height:44px;padding:8px}
  .directory-page-head #directory-create-slot,.directory-page-head:has(details[open]) #directory-create-slot{grid-column:1/-1;grid-row:3}
  .directory-page-head:has(details[open])>a{grid-column:2;grid-row:1}
  #directory-create-slot #session-create-panel summary{min-height:44px;padding:7px 10px}
  #session-screen .session-cloud-context>div{display:block}
  #session-screen .session-cloud-context{margin-bottom:10px}
  .directory-layout{grid-template-columns:1fr;gap:10px}
  .directory-filters>summary{min-height:44px;padding:12px}
  .directory-top-search input{font-size:16px!important;min-height:44px;padding:9px 10px!important}
  .directory-top-search>button,.directory-results-tools select{min-height:44px}
  .directory-results-tools select{font-size:14px}
  .directory-filters input:not([type=checkbox]),.directory-filters select{font-size:16px;min-height:44px;padding:8px}
  .directory-filters .directory-check{min-height:44px}
  .directory-categories summary,.directory-help>summary{min-height:44px}
  .directory-session{padding:11px;gap:5px}
  .directory-session button,.directory-pagination button,.directory-detail button,.directory-active-filters button{min-height:44px;padding:8px 10px}
  .directory-detail{padding:14px 12px}
  .directory-detail input{font-size:16px;min-height:44px}
}
@media(min-width:801px) and (pointer:coarse){
  #session-screen .btn,.directory-session button,.directory-pagination button,.directory-detail button,.directory-filters input:not([type=checkbox]),.directory-filters select,.directory-results-tools select,.directory-filters .directory-check{min-height:44px}
  .directory-filters input:not([type=checkbox]),.directory-filters select,.directory-detail input{font-size:16px}
}
