/* Dark Flow Futures — mobile responsive presentation layer.
   UI only: no trading, broker, Make, risk or execution behavior. */
.df-mobile-nav-toggle,.df-mobile-backdrop,.df-mobile-bottom-nav{display:none}

@media(max-width:900px){
  :root{--df-mobile-header:66px;--df-mobile-bottom:66px}
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .shell{display:block!important;min-height:100dvh}
  aside{
    position:fixed!important;inset:0 auto 0 0!important;z-index:2147482200!important;
    width:min(86vw,320px)!important;height:100dvh!important;padding:18px 14px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;overscroll-behavior:contain;transform:translate3d(-104%,0,0);
    transition:transform .22s cubic-bezier(.2,.72,.24,1)!important;box-shadow:24px 0 60px rgba(0,0,0,.44)!important;
  }
  html[data-df-mobile-nav="open"] aside{transform:translate3d(0,0,0)}
  aside nav{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
  aside .nav{min-height:44px!important;padding:8px 10px!important;font-size:12px!important}
  aside .status-card{margin-top:16px!important}
  .df-mobile-backdrop{
    display:block;position:fixed;inset:0;z-index:2147482100;background:rgba(1,5,10,.66);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  }
  html[data-df-mobile-nav="open"] .df-mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  main{width:100%!important;max-width:none!important;padding:0 12px calc(var(--df-mobile-bottom) + 24px + env(safe-area-inset-bottom))!important}
  main>header{
    position:sticky!important;top:0!important;z-index:1200!important;min-height:var(--df-mobile-header)!important;
    margin:0 -12px 14px!important;padding:10px 10px 10px 56px!important;gap:8px!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;
  }
  main>header>div:first-child{flex:1 1 auto;min-width:0}
  main>header h1{font-size:17px!important;line-height:1.12!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  main>header p{display:none!important}
  .df-mobile-nav-toggle{
    display:grid;place-items:center;position:absolute;left:10px;top:50%;transform:translateY(-50%);
    width:40px;height:40px;min-height:40px!important;padding:0!important;border:1px solid #273b52;border-radius:10px;
    background:#0b1623;color:#d9e8f8;font-size:20px;line-height:1;z-index:2;
  }
  .df-top-tools{width:auto!important;max-width:52%;margin-left:auto!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:6px!important}
  .df-top-tools>#openAdd{order:0!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;font-size:0!important}
  .df-top-tools>#openAdd::before{content:"+";font-size:19px;line-height:1}
  .df-icon-btn,.df-profile-btn{min-width:38px!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important}
  .df-profile-copy,.df-chevron{display:none!important}
  .df-v2-commandbar{
    position:sticky!important;top:var(--df-mobile-header)!important;z-index:1100!important;
    margin:0 -12px 12px!important;padding:0 12px!important;overflow-x:auto!important;overflow-y:hidden!important;
    scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;
  }
  .df-v2-commandbar::-webkit-scrollbar{display:none}
  .df-v2-command-item{min-width:max-content!important;padding:7px 10px!important;scroll-snap-align:start}
  .df-v2-command-clock{margin-left:0!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}
  .card{padding:13px!important;border-radius:11px!important}
  .card strong{font-size:18px!important;margin:5px 0!important}
  .panel{padding:14px!important;border-radius:12px!important}
  .panel-title{flex-direction:column!important;gap:10px!important}
  .panel-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .panel-actions>*{min-width:0}
  .form-grid{grid-template-columns:1fr!important;gap:10px!important}
  .actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  button,.primary,.secondary,.danger,input,select,textarea{min-height:44px!important}
  .data-table-wrap{max-width:100%;overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .data-table{font-size:11px}
  .ej-toolbar,.ej-filters,.ej-toolbar-meta,.ej-cycle-actions{width:100%!important}
  .ej-filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .ej-stages,.ej-continuity-grid,.ej-health-grid,.ej-comparison-grid{grid-template-columns:1fr!important}
  #crosstradeDashboard{margin-top:10px!important}
  .ctd-shell{gap:10px!important;min-height:auto!important}
  .ctd-head{gap:9px!important}
  .ctd-head h2{font-size:16px!important}
  .ctd-head-actions{display:grid!important;grid-template-columns:1fr auto!important;width:100%!important;gap:7px!important}
  .ctd-source{grid-column:1/-1;min-width:0!important;white-space:normal!important}
  .ctd-sync{min-width:0!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .ctd-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:11px!important}
  .ctd-stat{min-height:76px!important;padding:12px!important}
  .ctd-stat strong{font-size:15px!important}
  .ctd-top-grid,.ctd-bottom-grid{grid-template-columns:1fr!important;gap:10px!important}
  .ctd-card{border-radius:11px!important}
  .ctd-card-head{min-height:48px!important;padding:10px 12px!important}
  .ctd-tabs{overflow-x:auto!important;scrollbar-width:none;white-space:nowrap}
  .ctd-tabs::-webkit-scrollbar{display:none}
  .ctd-account{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:12px!important}
  .ctd-account .name{grid-column:1/-1}
  .ctd-signal-row{grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;padding:10px 12px!important}
  .ctd-signal-row>*{min-width:0;overflow-wrap:anywhere}
  .ctd-table-wrap{max-width:100%;overflow:auto!important;-webkit-overflow-scrolling:touch}
  .ctd-life-drawer{width:min(100vw,470px)!important}

  #accountSections{min-width:0!important}
  #accountSections .dynamic-firm{overflow:visible!important}
  #accountSections .df-account-canonical-rows{min-width:0!important;width:100%!important}
  #accountSections .df-account-main-header{display:none!important}
  #accountSections .account-row.account-control-row.df-account-main-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
    min-width:0!important;width:100%!important;margin:10px 0!important;padding:12px!important;
    border:1px solid #1b3047!important;border-radius:11px!important;background:#0a131f!important;
  }
  #accountSections .df-account-main-row>*{grid-column:auto!important;grid-row:auto!important;min-width:0!important}
  #accountSections .df-cell-account,#accountSections .df-cell-status,#accountSections .df-cell-risk,#accountSections .df-cell-actions{grid-column:1/-1!important}
  #accountSections .df-account-main-row>*::before{
    content:attr(data-df-label);display:block;margin-bottom:4px;color:#647991;font-size:8px;font-weight:850;
    letter-spacing:.08em;text-transform:uppercase;
  }
  #accountSections .df-cell-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;justify-content:flex-start!important}
  #accountSections .df-cell-actions>*{flex:1 1 120px;min-height:40px!important}
  .df-mobile-bottom-nav{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:8px;right:8px;
    bottom:calc(8px + env(safe-area-inset-bottom));z-index:2147482000;min-height:56px;padding:5px;
    border:1px solid #1f344b;border-radius:15px;background:rgba(6,13,22,.94);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(0,0,0,.38);
  }
  .df-mobile-bottom-nav button{
    min-width:0!important;min-height:46px!important;padding:5px 3px!important;border:0!important;border-radius:10px!important;
    background:transparent!important;color:#8195aa!important;font-size:9px!important;font-weight:800!important;line-height:1.1!important;
    display:grid!important;place-items:center!important;gap:2px!important;
  }
  .df-mobile-bottom-nav button::before{font-size:16px;line-height:1;color:#8ba6c3}
  .df-mobile-bottom-nav button[data-tab="dashboard"]::before{content:"▦"}
  .df-mobile-bottom-nav button[data-tab="accounts"]::before{content:"◎"}
  .df-mobile-bottom-nav button[data-tab="orders"]::before{content:"≡"}
  .df-mobile-bottom-nav button[data-tab="trades"]::before{content:"⇄"}
  .df-mobile-bottom-nav button[data-action="more"]::before{content:"☰"}
  .df-mobile-bottom-nav button.active{background:#10243a!important;color:#e6f2ff!important;box-shadow:inset 0 0 0 1px #244d79}
  .df-mobile-bottom-nav button.active::before{color:#6fb4ff}
}

@media(max-width:680px){
  .data-table.df-mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  .data-table.df-mobile-card-table thead{display:none!important}
  .data-table.df-mobile-card-table tbody{display:grid!important;gap:9px!important;width:100%!important}
  .data-table.df-mobile-card-table tr{
    display:block!important;width:100%!important;margin:0!important;padding:9px 10px!important;
    border:1px solid #1b3047!important;border-radius:11px!important;background:#0a131f!important;
  }
  .data-table.df-mobile-card-table td{
    display:grid!important;grid-template-columns:minmax(92px,38%) minmax(0,1fr)!important;gap:10px!important;
    width:100%!important;max-width:none!important;min-height:34px!important;padding:7px 2px!important;
    border-right:0!important;border-bottom:1px solid #15283b!important;white-space:normal!important;
    overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;
  }
  .data-table.df-mobile-card-table td:last-child{border-bottom:0!important}
  .data-table.df-mobile-card-table td::before{
    content:attr(data-df-label);color:#6d8198;font-size:8px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;
  }
  .data-table-wrap:has(.df-mobile-card-table){border:0!important;background:transparent!important;max-height:none!important;overflow:visible!important}
  .ctd-empty{min-height:110px!important;padding:20px 14px!important}
  .ctd-note{margin:10px!important}
}

@media(max-width:420px){
  .stats{grid-template-columns:1fr!important}
  main{padding-left:9px!important;padding-right:9px!important}
  main>header{margin-left:-9px!important;margin-right:-9px!important}
  .ctd-overview{grid-template-columns:1fr!important}
  .ctd-stat{border-right:0!important}
  #accountSections .account-row.account-control-row.df-account-main-row{grid-template-columns:1fr!important}
  #accountSections .df-account-main-row>*{grid-column:1/-1!important}
  .df-mobile-bottom-nav{left:5px;right:5px;bottom:calc(5px + env(safe-area-inset-bottom))}
}

@media(prefers-reduced-motion:reduce){
  aside,.df-mobile-backdrop{transition:none!important}
}

@media(max-width:560px){
  .df-top-tools{width:auto!important;max-width:none!important;flex:0 0 auto!important}
  .df-top-tools>#openAdd{display:none!important}
}

/* 2026-09-23 mobile v2: full-site responsive hardening. Presentation only. */
@media(max-width:900px){
  html[data-df-mobile-nav="open"],html[data-df-mobile-nav="open"] body{overflow:hidden!important}
  .tab,.tab.active,.panel,.grid,.rows,.dynamic-firm{min-width:0!important;max-width:100%!important}
  .tab.active{overflow:visible!important}
  .panel>*{max-width:100%}
  .panel-title h2,.panel-title h3,.panel-title p{overflow-wrap:anywhere}
  .panel-actions{display:flex!important;flex-wrap:wrap!important}
  .panel-actions>*{flex:1 1 128px!important}
  .notice,.preview,.result{overflow-wrap:anywhere}
  .modal,.dialog,[role="dialog"]{max-width:calc(100vw - 18px)!important}
  .drawer,.ctd-life-drawer{max-width:100vw!important}
  #executionHistory .exa-panel{gap:10px!important}
  .exa-head,.exa-account-head{gap:10px!important}
  .exa-actions{width:100%!important;justify-content:flex-start!important}
  .exa-actions button{flex:0 0 auto!important}
  .exa-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important}
  .exa-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .exa-account-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .exa-account-stats .exa-stat{min-width:0!important}

  .exa-table-wrap,.sig-life-table-wrap,.ej-cycle-table-wrap,.di-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .sig-life-toolbar{gap:10px!important}
  .sig-life-toolbar>button,.sig-life-toolbar .primary{width:100%!important}
  .sig-life-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sig-life-note{gap:7px!important}
  .ej-cycle-head,.ej-section-title,.ej-health-title{align-items:flex-start!important;gap:10px!important}
  .ej-cycle-actions{display:grid!important;grid-template-columns:1fr!important}
  .ej-cycle-actions>*{width:100%!important}
  .di-head{gap:10px!important}
  .di-command-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .di-grid.hero,.di-grid.two,.di-grid.three,.di-grid.insight-row{grid-template-columns:1fr!important}
  .di-grid .span2{grid-column:auto!important}
  .di-performance{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .di-timeline{min-width:0!important}
  .di-event{grid-template-columns:7px 72px minmax(0,1fr) auto!important}
  .di-event>b{display:none!important}
  .ctd-head-actions,.ctd-toolbar,.ctd-filters{max-width:100%!important}
  [class*="filter"],[class*="toolbar"]{min-width:0}
}

@media(max-width:680px){
  .exa-filters,.exa-summary,.exa-account-stats,.sig-life-summary{grid-template-columns:1fr!important}
  .exa-search{grid-column:auto!important}
  .exa-stat{padding:10px!important}
  .di-command-strip,.di-performance,.di-risk-summary,.di-quality,.di-mode-grid,.di-latest-grid{grid-template-columns:1fr!important}
  table.df-mobile-card-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  table.df-mobile-card-table thead{display:none!important}
  table.df-mobile-card-table tbody{display:grid!important;gap:10px!important;width:100%!important}
  table.df-mobile-card-table tr{display:block!important;width:100%!important;margin:0!important;padding:9px 10px!important;border:1px solid #1b3047!important;border-radius:11px!important;background:#0a131f!important}
  table.df-mobile-card-table td{display:grid!important;grid-template-columns:minmax(92px,36%) minmax(0,1fr)!important;gap:10px!important;width:100%!important;max-width:none!important;min-height:34px!important;padding:7px 2px!important;border-right:0!important;border-bottom:1px solid #15283b!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
  table.df-mobile-card-table td:last-child{border-bottom:0!important}
  table.df-mobile-card-table td::before{content:attr(data-df-label);color:#6d8198;font-size:8px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;align-self:start}
  .exa-table-wrap:has(.df-mobile-card-table),.sig-life-table-wrap:has(.df-mobile-card-table),.ej-cycle-table-wrap:has(.df-mobile-card-table),.di-table-wrap:has(.df-mobile-card-table){overflow:visible!important;border:0!important;background:transparent!important}
  .exa-table td strong,.exa-table td span,.exa-table td small{white-space:normal!important;overflow-wrap:anywhere!important}
  .sig-life-reason{max-width:none!important;white-space:normal!important}

  .di-event{grid-template-columns:7px minmax(0,1fr) auto!important}
  .di-event>span{display:none!important}
  main>header{min-height:60px!important}
  .df-v2-commandbar{top:60px!important}
  .df-mobile-bottom-nav{min-height:58px!important}
}
@media(max-width:560px){
  input,select,textarea{font-size:16px!important}
  .panel{padding:11px!important}
  .panel-actions{display:grid!important;grid-template-columns:1fr!important}
  .panel-actions>*{width:100%!important}
  .df-top-tools{gap:4px!important}
  .df-icon-btn,.df-profile-btn{width:36px!important;min-width:36px!important;height:36px!important}
  .exa-head h2{font-size:18px!important}
  .exa-account-head{padding:11px!important}
  .exa-truth-note{font-size:9px!important}
  .di-head h2{font-size:20px!important}
  .df-mobile-bottom-nav button{font-size:8px!important}
}
@media(max-width:390px){
  :root{--df-mobile-bottom:62px}
  main{padding-left:7px!important;padding-right:7px!important}
  main>header{margin-left:-7px!important;margin-right:-7px!important}
  table.df-mobile-card-table td{grid-template-columns:1fr!important;gap:3px!important}
  table.df-mobile-card-table td::before{margin-bottom:2px}
}
