/* Shared small-screen behavior, loaded after each feature's styles. */
.mobile-header{display:none}
.table-scroll,.table-wrap,.market-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-scroll:focus-visible,.table-wrap:focus-visible,.market-table-wrap:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #b87986;outline-offset:-3px}
.metric-value,.page-heading,.panel-heading>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
  html{scroll-padding-top:76px}
  .shell{display:block}
  .mobile-header{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--wine);color:#fff5ef;border-bottom:1px solid #ffffff20}
  .mobile-header .brand{padding:0;font-size:34px;letter-spacing:-2px}
  #mobile-menu{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 13px;border:1px solid #ffffff50;border-radius:7px;background:transparent;color:inherit;font-size:14px}
  .sidebar{display:none;position:relative;inset:auto;width:100%;padding:16px;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior-y:contain}
  .navigation-open .sidebar{display:block}
  .sidebar>.brand,.sidebar>.workspace,.sidebar-bottom{display:none}
  .workspace-switcher{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}
  .workspace-choice{min-height:48px;font-size:13px;padding:10px;gap:8px}
  .workspace-choice-indicator{display:none}
  .sidebar-navigation{overflow:visible;padding:0;margin:0}
  .sidebar .sidebar-navigation nav{display:grid;grid-template-columns:1fr;gap:4px;margin:0;overflow:visible}
  .sidebar .nav-label{display:block;font-size:10px;padding:0 12px;margin-bottom:9px}
  .sidebar .nav-item{min-height:48px;padding:12px;font-size:14px;white-space:normal;gap:12px;margin:0}
  .sidebar .nav-item.active{box-shadow:inset 3px 0 0 #d3a2a9}
  .sidebar .nav-item .icon{width:19px;height:19px}
  .sidebar .nav-count{display:inline;margin-left:auto}
  .shared-navigation{margin-top:18px;padding-top:18px;border-top:1px solid #ffffff20}
  .main-shell{min-width:0}
  .topbar{height:auto;min-height:54px;padding:10px 16px;gap:10px;flex-wrap:wrap}
  .breadcrumb{font-size:12px;gap:7px;flex-wrap:wrap}
  .topbar-right{gap:12px;margin-left:auto}
  .topbar-divider,.private-label{display:none}
  main{padding:24px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .page-heading{align-items:stretch;gap:16px}.page-heading p{font-size:14px;max-width:none}
  .heading-actions{max-width:none;width:100%;flex-wrap:wrap;justify-content:flex-start;align-items:stretch}
  .heading-actions>*{flex:1 1 auto}.date-control select{max-width:none;width:100%}
  /* 16px inputs avoid automatic focus zoom in iOS browsers. */
  body input:not([type=checkbox]):not([type=radio]),body select,body textarea{font-size:16px!important;min-height:44px;max-width:100%}
  body input[type=checkbox],body input[type=radio]{width:20px;height:20px;flex:none}
  .button,.text-button,.icon-button,.sort,.segmented button,.market-tabs button,.research-tab,.studio-tabs button,.market-filter-pill,.market-favorite,summary{min-height:44px}
  .button,.text-button{font-size:13px;white-space:normal;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
  .button{padding:11px 14px}.icon-button,.market-favorite{min-width:44px}
  .segmented button{min-width:62px;font-size:12px;padding:10px}
  .text-button{padding-block:8px}.sort{min-width:44px;padding:8px 4px;font-size:12px}
  summary{padding-block:12px;line-height:1.5;cursor:pointer}
  .market-favorite{padding:8px}.research-card h3 button,.studio-draft-card h3 button{min-height:44px}
  .badge{white-space:normal;line-height:1.4;overflow-wrap:anywhere}
  .panel-heading{flex-wrap:wrap;align-items:flex-start}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px}
  .panel-heading>.text-button,.panel-heading>.button{font-size:13px;padding:8px 10px}
  .panel-heading>.badge{align-self:flex-start}
  .table-controls{flex-wrap:wrap}.search-control{max-width:none;flex:1 1 100%}.table-controls select{max-width:none;width:100%}
  .table-scroll[data-scrollable=true]::before,.table-wrap[data-scrollable=true]::before,.market-table-wrap[data-scrollable=true]::before{content:'Scroll sideways to see all columns →';display:block;position:sticky;left:0;width:100%;padding:10px 16px;font-size:12px;color:#6a4652;background:#f8f3ed;white-space:normal}
  table{font-size:13px}th{font-size:11px}td strong{font-size:13px}td small{font-size:11px}
  .work-label{white-space:normal;min-width:190px}.foundation-panel td,.foundation-panel th{white-space:normal;min-width:125px}
  .foundation-panel td:first-child{min-width:190px}
  .metric-label,.metric-note,.method-note,.panel-note,.report-footer{font-size:12px}
  .metric-value{font-size:28px}.metric-grid.three .metric-value{max-width:100%;overflow-wrap:anywhere}
  .chart-wrap text{font-size:12px}.chart-wrap{padding:12px 16px 0 4px}.chart-summary{font-size:12px;flex-wrap:wrap;gap:10px}
  .section-callout>div{min-width:0}.connection-meta{flex-wrap:wrap}.connection-actions{flex-wrap:wrap}
  .connection-help p,.connection-card>p,.behavior-metric dl>div,.analysis-note,.analysis-action p{font-size:13px}
  .report-footer{gap:10px;flex-wrap:wrap}.report-footer a{display:inline-flex;align-items:center;min-height:44px}
  .visit-detail li{flex-wrap:wrap;gap:4px 12px}.visit-detail li span{overflow-wrap:anywhere;min-width:0}
  .work-form-grid,.monitor-change-form{grid-template-columns:minmax(0,1fr)}
  .work-connection{padding:18px}.work-connection-links>div{min-width:0;flex-basis:100%}
  .team-form{padding-inline:18px}.team-form .field{min-width:0;flex-basis:100%}.team-form>.button{width:100%}
  .account-form{padding-inline:18px}.account-form .button{width:100%}
  dialog{width:540px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:52px 20px 24px;overflow-wrap:anywhere;overscroll-behavior:contain}
  .modal-close{top:8px;right:8px}.modal-intro{font-size:14px}.field>span{font-size:13px}.field>small{font-size:12px}
  #toast{bottom:max(16px,env(safe-area-inset-bottom));font-size:13px;line-height:1.5;width:max-content;overflow-wrap:anywhere}
  .studio-source-list li{flex-wrap:wrap}.studio-actions .studio-status-label{white-space:normal;flex-wrap:wrap}
  .studio-body-label textarea{height:55dvh;min-height:320px}
  .studio-actions .studio-status-label select{width:100%}.studio-pagination,.research-pagination{flex-wrap:wrap}
  .market-metrics{grid-template-columns:1fr}.market-metric>span{font-size:13px}.market-metric>small{font-size:12px}
  .market-observation p,.market-idea>p,.research-card>p,.studio-note,.studio-muted{font-size:13px}
  .market-card-meta,.market-dates,.research-card-meta{font-size:12px;flex-wrap:wrap;overflow-wrap:anywhere}
  .market-card-actions{gap:10px}.market-card-actions>.button{width:100%}
  .market-tabs{flex-wrap:wrap;gap:6px 18px;overflow:visible}.market-tabs button{font-size:13px}
  .market-form-heading>.text-button{flex-shrink:0;white-space:nowrap}
  .market-table tbody th,.market-table thead th:first-child{position:sticky;left:0;z-index:1;box-shadow:2px 0 3px #4b151c10}
  .market-filters label{font-size:12px;min-width:0}.market-filters .market-query{min-width:0}
  /* Keep the login form near the top rather than below a full-height story. */
  .team-signin{display:flex;flex-direction:column;margin:0;min-height:100dvh;border:0;border-radius:0;padding:0}
  .signin-story{padding:20px 24px;gap:0}.signin-story>div,.signin-story>small{display:none}
  .signin-story .brand{font-size:34px}.signin-panel{padding:26px 24px}
  .signin-panel .modal-symbol{display:none}.signin-panel h2{font-size:26px}.signin-panel>p{margin-top:10px;font-size:14px}
  .signin-form{margin-top:8px}.signin-panel .signin-note{font-size:12px;margin:16px 0 0}
  .signin-panel .signin-note a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:380px){
  .metric-grid{grid-template-columns:1fr}.metric+.metric{border-top:1px solid var(--line)}.metric:before{display:none}
  .metric-grid.three .metric{display:block}.metric-grid.three .metric-value{margin-top:10px}
  .workspace-choice{font-size:12px}.workspace-choice .icon{width:15px}
  .foundation-panel{padding:16px}.foundation-panel .panel-heading{padding-inline:0}
}
