/* Morpheus PD Central V134.39 — dark theme + responsive workspace hardening
   Presentation only. No forms, records, permissions, Supabase or workflow logic. */

html[data-theme="light"]{
  color-scheme:light;
  --bg:#edf3f8;
  --card:#ffffff;
  --panel:#f6f8fb;
  --text:#111827;
  --muted:#5f6f84;
  --line:#d8e1ec;
  --line-strong:#c3cfdd;
  --input:#ffffff;
  --hover:#eef4fb;
  --shadow:0 18px 50px rgba(15,23,42,.12);
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07111f;
  --card:#0d1928;
  --panel:#122033;
  --text:#f4f7fb;
  --muted:#a6b6ca;
  --line:#263a52;
  --line-strong:#36506d;
  --input:#101e30;
  --hover:#182a41;
  --shadow:0 22px 58px rgba(0,0,0,.38);
}

/* Reset old light aliases before individual modules resolve their own variables. */
html[data-theme="dark"] body,
html[data-theme="dark"] #app{
  background:var(--bg)!important;
  color:var(--text)!important;
  --surface:var(--card);
  --surface2:var(--panel);
  --border:var(--line);
}

/* Text must stay horizontal. The earlier global "anywhere" wrapping was collapsing words letter by letter. */
#app :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,button,a,span,strong,b,small,em,th,td),
body > :where(.modal-wrap,.modal-layer,.drawer-wrap,.sheet-wrap,.workspace-overlay) :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,button,a,span,strong,b,small,em,th,td){
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
#app :where(code,pre,.mono,.uuid,.file-path,.storage-path,[data-mpd-long-token]){
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
#app :where(.grid,.form-grid,.dashboard-grid,.command-grid,.workspace-grid,.overview-grid,.detail-grid,.project-grid,.company-grid,.finance-grid,.metrics-grid,.stats-grid,.kpi-grid,.split,.split-layout,.two-pane,.master-detail,.workspace-split)>*,
#app :where(.actions,.toolbar,.tabs,.tab-list,.tab-rail,.workspace-tabs,.project-tabs,.company-tabs,.segmented-control)>*{
  min-width:0;
}

/* Theme structural surfaces, including dynamic overlays appended outside #app. */
html[data-theme="dark"] :where(
  #app .card,#app .panel,#app .command-panel,#app .role-home-panel,#app .workspace-card,#app .detail-card,
  #app .metric-card,#app .stat-card,#app .form-card,#app .data-card,#app .timeline-card,#app .activity-card,
  #app .task-card,#app .empty-state,#app .empty-card,#app .info-box,#app .notice-box,#app .summary-box,
  #app .filter-bar,#app .search-bar,#app .filter-panel,#app .quick-panel,#app .meta-panel,
  #app .modal-content,#app .modal-dialog,#app .o2-modal,#app .drawer,#app .drawer-panel,#app .sheet,#app .sheet-panel,
  #app .workspace-modal,#app .workspace-page-shell,#app .project-command-window,#app .project-command-modal,
  #app .project-workspace-window,#app .company-command-window,
  body > .modal-wrap .modal-content,body > .modal-layer .modal-content,body > .workspace-overlay .workspace-modal,
  body > .drawer-wrap .drawer,body > .sheet-wrap .sheet
){
  border-color:var(--line)!important;
  background-color:var(--card)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:currentColor;
}
html[data-theme="dark"] :where(
  #app .modal-header,#app .modal-footer,#app .drawer-header,#app .drawer-footer,#app .sheet-header,#app .sheet-footer,
  #app .workspace-header,#app .workspace-footer,#app .project-workspace-head,#app .company-workspace-head,
  #app .project-section-head,#app .workspace-section-head
){
  border-color:var(--line)!important;
  background-color:var(--card)!important;
  color:var(--text)!important;
}
html[data-theme="dark"] #app :where(.muted,.subtle,.hint,.helper-text,.field-help,.empty-note,.meta,.caption,small){
  color:var(--muted)!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] #app :where(hr,.divider,.separator){border-color:var(--line)!important;}

/* Inputs and native menus. */
html[data-theme="dark"] #app :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,textarea
),
html[data-theme="dark"] body > :where(.modal-wrap,.modal-layer,.workspace-overlay,.drawer-wrap,.sheet-wrap) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,textarea
){
  border-color:var(--line)!important;
  background:var(--input)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
}
html[data-theme="dark"] #app :where(input,textarea)::placeholder{color:var(--muted)!important;opacity:.72;}
html[data-theme="dark"] #app select option{background:#101e30!important;color:#f4f7fb!important;}
html[data-theme="dark"] #app input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--input) inset!important;
  -webkit-text-fill-color:var(--text)!important;
}

/* Project and company command workspaces. */
#app :where(.workspace-page-shell,.project-command-window,.project-command-modal,.project-workspace-window,.company-command-window){
  min-width:0!important;
  width:min(100%,1600px);
  max-width:100%!important;
  overflow:hidden;
}
#app :where(.workspace-page-content,.workspace-content,.project-workspace-body,.company-workspace-body){
  min-width:0!important;
  max-width:100%!important;
}
#app :where(.workspace-page-content,.project-workspace-body,.company-workspace-body) > *{
  min-width:0;
  max-width:100%;
}
html[data-theme="dark"] #app :where(
  .workspace-page-content,.workspace-content,.project-workspace-body,.company-workspace-body,
  .project-overview,.company-overview,.project-tab-content,.company-tab-content,.workspace-tab-content,
  .project-summary,.project-details,.company-details,.project-finance,.project-files,.project-timeline
){
  color:var(--text)!important;
}
html[data-theme="dark"] #app :where(
  .workspace-card,.project-card,.company-card,.project-overview-card,.company-overview-card,
  .project-summary-card,.project-detail-card,.project-section-card,.workspace-section-card,
  .project-metric,.company-metric,.project-stat,.company-stat,.project-kpi,.company-kpi,
  .project-file-card,.project-finance-card,.project-update-card,.project-shipment-card,
  .project-task-card,.project-timeline-card,.workspace-info-card,.workspace-data-card
){
  border-color:var(--line)!important;
  background:var(--card)!important;
  color:var(--text)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
html[data-theme="dark"] #app :where(
  .project-overview-card,.company-overview-card,.project-summary-card,.project-detail-card,
  .project-section-card,.workspace-section-card,.workspace-info-card,.workspace-data-card
) :where(header,footer){
  border-color:var(--line)!important;
}
html[data-theme="dark"] #app :where(
  .project-overview-card,.company-overview-card,.project-summary-card,.project-detail-card,
  .project-section-card,.workspace-section-card,.workspace-info-card,.workspace-data-card
) :where(.soft,.subpanel,.inner-panel,.meta-row,.detail-row,.summary-row,.status-row){
  border-color:var(--line)!important;
  background:var(--panel)!important;
  color:var(--text)!important;
}

/* Workspace tabs/actions must scroll, not compress their labels. */
#app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control){
  display:flex!important;
  flex-wrap:nowrap!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:7px!important;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
#app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control)::-webkit-scrollbar{display:none;}
#app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control)>:where(button,a,[role="tab"]){
  flex:0 0 auto!important;
  min-width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}
html[data-theme="dark"] #app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control){
  border-color:var(--line)!important;
  background:var(--panel)!important;
}
html[data-theme="dark"] #app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control)>:where(button,a,[role="tab"]){
  color:var(--muted)!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] #app :where(.workspace-tabs,.project-tabs,.project-room-tabs,.company-tabs,.command-tabs,.tab-rail,.segmented-control)>:where(.active,[aria-selected="true"],[aria-current="page"]){
  border-color:var(--line-strong)!important;
  background:var(--card)!important;
  color:var(--text)!important;
}

/* Finance command: define complete dark variables instead of changing only the accent. */
html[data-theme="dark"] .mpd-finance-command-v13434{
  --fc-accent:#4ade80;
  --fc-accent-soft:rgba(74,222,128,.12);
  --fc-ink:#f4f7fb;
  --fc-muted:#a6b6ca;
  --fc-card:#0d1928;
  --fc-panel:#122033;
  --fc-line:#2a405a;
  border-color:var(--fc-line)!important;
  background:linear-gradient(145deg,#0d1928,#101f32)!important;
  color:var(--fc-ink)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.34)!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 :where(
  .mpd-fc-summary article,.mpd-fc-panel,.mpd-fc-ledger,.mpd-fc-detail-grid,.mpd-fc-lines,
  .mpd-fc-project-grid>article
){
  border-color:var(--fc-line)!important;
  background-color:var(--fc-card)!important;
  color:var(--fc-ink)!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 :where(
  .mpd-fc-tabs,.mpd-fc-filters,.mpd-fc-column-head,.mpd-fc-mini-row,.mpd-fc-row-main:hover,
  .mpd-fc-row-detail
){
  border-color:var(--fc-line)!important;
  background-color:var(--fc-panel)!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 .mpd-fc-tabs button.active{
  background:var(--fc-card)!important;
  color:var(--fc-ink)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 :where(input,select,textarea,.mpd-fc-filters>button,.btn.ghost){
  border-color:var(--fc-line)!important;
  background:var(--fc-card)!important;
  color:var(--fc-ink)!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 .mpd-fc-row{
  border-color:var(--fc-line)!important;
}
html[data-theme="dark"] .mpd-finance-command-v13434 .mpd-fc-row-detail{
  background:linear-gradient(180deg,transparent,var(--fc-panel))!important;
}
.mpd-finance-command-v13434 :where(.mpd-fc-copy,.mpd-fc-date,.mpd-fc-type,.mpd-fc-bar-money,.mpd-fc-panel>header>div){
  min-width:0!important;
}
.mpd-finance-command-v13434 :where(.mpd-fc-copy b,.mpd-fc-copy small,.mpd-fc-date b,.mpd-fc-date small,.mpd-fc-type small){
  max-width:100%;
}

/* Tables and list rows. */
html[data-theme="dark"] #app table{
  background:var(--card)!important;
  color:var(--text)!important;
}
html[data-theme="dark"] #app table :where(th,td){border-color:var(--line)!important;}
html[data-theme="dark"] #app table th{background:var(--panel)!important;color:var(--muted)!important;}
html[data-theme="dark"] #app table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018);}
html[data-theme="dark"] #app table tbody tr:hover td{background:rgba(96,165,250,.07)!important;}
#app :where(.table-scroll,.table-responsive,.data-table-wrap,.report-table-wrap,.invoice-table-wrap,[data-mpd-scroll-host="true"]){
  max-width:100%!important;
  overflow-x:auto!important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* Buttons that inherited fixed light fills. */
html[data-theme="dark"] #app :where(
  .btn.ghost,.btn.secondary,.btn.outline,.button.ghost,.button.secondary,
  .workspace-action,.project-action,.company-action,.icon-button,.close-button
){
  border-color:var(--line)!important;
  background:var(--card)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] #app :where(
  .btn.ghost,.btn.secondary,.btn.outline,.button.ghost,.button.secondary,
  .workspace-action,.project-action,.company-action,.icon-button,.close-button
):hover{
  background:var(--hover)!important;
}

/* Compact desktop and square-monitor layouts. */
@media(max-width:1280px){
  #app :where(
    .workspace-grid,.project-overview-grid,.company-overview-grid,.project-summary-grid,.company-summary-grid,
    .project-section-grid,.company-section-grid,.project-metrics,.company-metrics,.project-kpi-grid,.company-kpi-grid
  ){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #app :where(.workspace-page-shell,.project-command-window,.project-workspace-window,.company-command-window){
    width:100%!important;
  }
}

/* Tablet and phone: stack content while preserving horizontal action/tab rails. */
@media(max-width:980px){
  #app :where(
    .workspace-layout,.workspace-grid,.project-overview-grid,.company-overview-grid,.project-summary-grid,.company-summary-grid,
    .project-section-grid,.company-section-grid,.project-detail-grid,.company-detail-grid,.project-finance-grid,
    .project-files-grid,.project-timeline-grid,.project-update-grid,.project-shipment-grid,.project-task-grid,
    .workspace-overview-grid,.workspace-detail-grid,.workspace-content-grid,.workspace-split,.project-split,.company-split
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }
  #app :where(.project-workspace-head,.company-workspace-head,.workspace-section-head,.project-section-head){
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
  }
  #app :where(.project-workspace-head,.company-workspace-head,.workspace-section-head,.project-section-head)>*{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;}
  #main,.main,.main-content{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  #app :where(.workspace-page-shell,.project-command-window,.project-command-modal,.project-workspace-window,.company-command-window){
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-radius:20px 20px 0 0!important;
  }
  #app :where(.workspace-page-content,.workspace-content,.project-workspace-body,.company-workspace-body){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  /* All project/company workspace grids become one readable column. */
  #app :where(
    [class*="project-"][class*="-grid"],[class*="company-"][class*="-grid"],
    .workspace-grid,.overview-grid,.detail-grid,.metrics-grid,.stats-grid,.kpi-grid,
    .form-grid,.form-row,.field-row,.input-row
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  #app :where(
    .workspace-card,.project-card,.company-card,.project-overview-card,.company-overview-card,
    .project-summary-card,.project-detail-card,.project-section-card,.workspace-section-card,
    .project-file-card,.project-finance-card,.project-update-card,.project-shipment-card,
    .project-task-card,.project-timeline-card
  ){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #app :where(
    .actions,.action-row,.action-bar,.toolbar,.command-toolbar,.project-toolbar,.workspace-toolbar,
    .card-actions,.mast-actions,.project-admin-actions,.project-command-actions,.command-room-actions,
    .workbench-actions,.project-control-strip,.mpd-fc-actions
  ){
    display:flex!important;
    flex-wrap:nowrap!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  #app :where(
    .actions,.action-row,.action-bar,.toolbar,.command-toolbar,.project-toolbar,.workspace-toolbar,
    .card-actions,.mast-actions,.project-admin-actions,.project-command-actions,.command-room-actions,
    .workbench-actions,.project-control-strip,.mpd-fc-actions
  )::-webkit-scrollbar{display:none;}
  #app :where(
    .actions,.action-row,.action-bar,.toolbar,.command-toolbar,.project-toolbar,.workspace-toolbar,
    .card-actions,.mast-actions,.project-admin-actions,.project-command-actions,.command-room-actions,
    .workbench-actions,.project-control-strip,.mpd-fc-actions
  )>:where(button,.btn,a){
    flex:0 0 auto!important;
    min-width:max-content!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
  }

  /* Prevent labels, values and headings from becoming one-letter columns. */
  #app :where(
    .workspace-page-shell,.project-command-window,.project-command-modal,.project-workspace-window,.company-command-window,
    .mpd-finance-command-v13434
  ) :where(h1,h2,h3,h4,h5,h6,p,label,legend,button,a,span,strong,b,small,em,dt,dd){
    max-width:100%!important;
    min-width:0!important;
    white-space:normal;
    writing-mode:horizontal-tb!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  #app :where(
    .workspace-page-shell,.project-command-window,.project-command-modal,.project-workspace-window,.company-command-window,
    .mpd-finance-command-v13434
  ) :where(.chip,.pill,.tag,.badge,.status-pill){
    display:inline-flex;
    width:auto;
    max-width:100%;
    white-space:nowrap!important;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mpd-finance-command-v13434{
    width:100%!important;
    min-width:0!important;
    margin:8px 0 14px!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-row-main{
    grid-template-columns:38px minmax(0,1fr) auto 22px!important;
    gap:8px!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-copy :where(b,small){
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-row-detail{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

@media(max-width:520px){
  #app :where(.workspace-page-content,.workspace-content,.project-workspace-body,.company-workspace-body){
    padding-left:9px!important;
    padding-right:9px!important;
  }
  #app :where(.project-workspace-head,.company-workspace-head,.workspace-section-head,.project-section-head){
    padding:14px 12px!important;
  }
  #app :where(.project-workspace-head,.company-workspace-head,.workspace-section-head,.project-section-head) :where(h1,h2){
    font-size:clamp(23px,8vw,31px)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-summary{gap:7px!important;}
  .mpd-finance-command-v13434 .mpd-fc-summary article{
    min-width:0!important;
    min-height:96px!important;
    padding:11px!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-summary article>strong{
    font-size:clamp(15px,5vw,20px)!important;
    overflow-wrap:normal!important;
  }
  .mpd-finance-command-v13434 .mpd-fc-detail-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:380px){
  .mpd-finance-command-v13434 .mpd-fc-summary{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-height:560px) and (orientation:landscape){
  #app :where(.modal-content,.modal-dialog,.o2-modal,.workspace-modal,.project-workspace-window,.company-command-window){
    max-height:100dvh!important;
    border-radius:0!important;
  }
  #app :where(.workspace-page-content,.project-workspace-body,.company-workspace-body){
    max-height:calc(100dvh - 94px)!important;
    overflow-y:auto!important;
  }
}
