/* The window frame is shared with the CRM; OPIU keeps its own content styles. */
html:root #finance-window { padding:0;display:flex;flex-direction:column;overflow:hidden;width:min(1280px,calc(100vw - 56px));height:min(800px,calc(100dvh - 112px));background:var(--surface);color:var(--text-primary); }
html:root #finance-window:not([open]) { display:none; }
html:root #finance-window.window-maximized { inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);max-width:none;max-height:none; }
#finance-window > header { flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface); }
#finance-window > header h2 { margin:0;font-size:1rem; }
#finance-window > header .fincontour-window-heading { display:flex;align-items:center;gap:12px;min-width:0; }
#finance-window .fincontour-window-heading #finance-refresh { flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;border-radius:10px; }
#finance-window #finance-view { flex:1;min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden; }
#finance-window #finance-view > .page-heading { display:none; }
#finance-window #finance-tabs { grid-column:1;grid-row:1/-1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:none;height:100%;padding:14px 10px;margin:0;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface);overflow:auto; }
#finance-window #finance-tabs button { white-space:normal;text-align:left;line-height:1.45;flex:none; }
#finance-window #finance-status { grid-column:2;grid-row:1;margin:0; }
#finance-window #finance-status:empty { display:none; }
#finance-window #finance-content,#finance-window #finance-loading { grid-column:2;grid-row:2;overflow:auto;min-width:0;min-height:0;padding:18px 24px 36px;overscroll-behavior:contain; }
#finance-window #finance-loading[hidden],#finance-window #finance-content[hidden] { display:none; }
#finance-window #finance-loading { display:flex;flex-direction:column;align-items:center;justify-content:center; }
.fc-control-link { margin-bottom:8px; }
.fc-fact-dates { line-height:1.6;overflow-wrap:anywhere;margin:4px 0 14px; }
.fc-director-panel { min-width:0;margin:14px 0;overflow:clip; }
.fc-panel-heading { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 17px;border-bottom:1px solid var(--border); }
.fc-panel-heading h3 { margin:0;font-size:.94rem; }
details.fc-director-panel > summary { cursor:pointer;list-style:none; }
details.fc-director-panel > summary::before { content:'›';color:var(--text-secondary);font-size:1.2rem; }
details.fc-director-panel[open] > summary::before { transform:rotate(90deg); }
details.fc-director-panel > summary h3 { flex:1; }
.fc-panel-body { min-width:0;padding:14px 17px; }
.fc-panel-body > :first-child { margin-top:0; }
.fc-panel-body > :last-child { margin-bottom:0; }
.fc-panel-body .fc-table-wrap { margin:8px 0;border:0;box-shadow:none;border-radius:8px; }
.fc-panel-body p { line-height:1.6; }
.fc-director-table .fc-table th { white-space:normal;min-width:70px;vertical-align:middle;line-height:1.4; }
.fc-director-table .fc-table td { vertical-align:middle;line-height:1.5;white-space:normal; }
.fc-director-table .fc-table :is(.fc-column-number,.fc-column-date) { text-align:right;font-variant-numeric:tabular-nums; }
.fc-director-table.fc-classification-table .fc-table .fc-column-number,
.fc-article-movement .fc-director-table .fc-table .fc-column-number,
.fc-plan-fact-review .fc-director-table .fc-table .fc-column-number { text-align:center; }
.fc-plan-fact-review .fc-director-group > summary div:not(:first-child) { text-align:center; }
.fc-director-table .fc-table td:is(.fc-column-number,.fc-column-date) { white-space:nowrap; }
.fc-director-table .fc-table .fc-column-description { min-width:220px;max-width:360px;overflow-wrap:anywhere; }
.fc-director-table .fc-table .fc-column-text { max-width:260px;overflow-wrap:anywhere; }
.fc-director-table .fc-table .fc-column-actions { min-width:124px; }
.fc-director-table .fc-payment-description { min-width:0;line-height:1.5; }
.fc-table-value { display:grid;gap:4px; }
.fc-table-value small { font-size:.7rem;line-height:1.4; }
.fc-director-table .fc-table tr:has(.fc-table-value) > td { vertical-align:top; }
html:root #finance-view .fc-director-table .fc-table-sort { width:calc(100% + 12px);max-width:none;text-align:inherit;white-space:normal;line-height:1.4; }
html:root #finance-view .fc-director-table :is(.fc-column-number,.fc-column-date) .fc-table-sort { justify-content:flex-end; }
.fc-row-actions { display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;min-width:124px; }
.fc-row-actions button { font-size:.73rem; }
.fc-badges { display:grid;gap:6px; }
.fc-badge { display:inline-block;max-width:max-content;padding:4px 7px;border-radius:8px;background:var(--accent-soft);color:var(--text-primary);font-size:.7rem;line-height:1.35; }
.fc-director-actions { display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:10px 0; }
.fc-director-actions label { display:grid;gap:6px;min-width:0; }
.fc-director-actions .fc-export { margin-left:0; }
.fc-director-group { margin:6px 0;border:1px solid var(--border);border-radius:10px; }
.fc-director-group > summary { display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(100px,1fr));gap:14px;align-items:center;padding:14px;cursor:pointer; }
.fc-director-group > summary div { display:grid;gap:5px;min-width:0;font-size:.82rem; }
.fc-director-group > summary div:not(:first-child) { text-align:right; }
.fc-four-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fc-four-metrics .fc-metric { min-height:130px; }
.fc-metric[role="button"] { cursor:pointer; }
.fc-top-day { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px 0;border-bottom:1px solid var(--border); }
.fc-top-day button { justify-self:start; }
.fc-top-day small { grid-column:1/-1; }
.fc-attention { padding:10px;border-left:3px solid var(--theme-danger,#b83249);background:color-mix(in srgb,var(--theme-danger,#b83249) 8%,var(--surface)); }
.fc-mode-switch { display:flex;align-items:center;flex-wrap:wrap;gap:6px; }
.fc-mode-switch button[aria-pressed="true"] { background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent); }
.fc-day-load { display:block;height:5px;background:var(--border);border-radius:8px;margin-top:auto;overflow:hidden; }
.fc-day-load::before { content:'';display:block;height:100%;width:var(--load);border-radius:inherit;background:var(--accent); }
.fc-day-load[data-high="true"]::before { background:var(--theme-warning,#b3842b); }
html:root .fc-day[data-today="true"] > strong { width:max-content;min-width:26px;padding:3px 5px;border-radius:6px;background:var(--fc-solid);color:white; }
html:root #finance-view .fc-day[data-today="true"] > strong { color:#fff; }
html:root .fc-day[aria-current="date"] { outline:2px solid var(--accent);outline-offset:-2px; }
html:root .fc-editor { padding:0;width:min(780px,calc(100vw - 40px));max-height:calc(100dvh - 80px);background:var(--surface);color:var(--text-primary);overflow:auto; }
.fc-editor > header { position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--surface);border-bottom:1px solid var(--border); }
.fc-editor > header h2 { margin:0;font-size:1.08rem; }
.fc-editor-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px; }
.fc-editor-fields > p,.fc-editor-fields > div,.fc-editor-fields > button { grid-column:1/-1; }
.fc-editor-fields label { display:grid;gap:6px;min-width:0;font-size:.82rem;line-height:1.5; }
.fc-editor-fields label:has(input[type="checkbox"]) { display:flex;align-items:center;grid-column:1/-1; }
.fc-editor-fields :is(input,select,textarea) { width:100%;min-width:0;margin:0; }
.fc-editor-fields input[type="checkbox"] { width:20px;height:20px;flex:none; }
.fc-editor-footer { position:sticky;bottom:0;z-index:1;display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;background:var(--surface);border-top:1px solid var(--border); }
.fc-editor-status { padding:0 18px 10px;margin:0;font-size:.82rem;line-height:1.5; }
.fc-editor-status:empty { display:none; }
.fc-schedule-entries { display:grid;gap:14px;min-width:0; }
.fc-schedule-entry { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;min-width:0;margin:0;border:1px solid var(--border);border-radius:10px; }
.fc-schedule-entry legend { padding:0 6px;font-weight:600;font-size:.84rem; }
.fc-schedule-entry > :is(p,button) { grid-column:1/-1; }
@media(max-width:700px){.fc-schedule-entry{grid-template-columns:minmax(0,1fr);padding:10px;}}
.fc-candidate-list { max-height:430px;overflow:auto; }
.fc-candidate { display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:6px 14px;padding:12px 0;border-top:1px solid var(--border); }
.fc-candidate p { margin:0;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere; }
.fc-candidate small { grid-column:1; }
.fc-candidate label { grid-column:2;grid-row:1/3; }
.fc-candidate[hidden] { display:none; }
.fc-revenue-grid { display:grid;gap:8px; }
.fc-revenue-day { display:grid;grid-template-columns:90px minmax(100px,1fr) minmax(140px,1fr) 100px;align-items:end;gap:10px;padding:10px 0;border-bottom:1px solid var(--border); }
.fc-revenue-day strong { align-self:center;font-size:.78rem; }
@media(max-width:1100px){.fc-four-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}#finance-window #finance-view{grid-template-columns:175px minmax(0,1fr);}#finance-window #finance-content{padding:14px;}}
@media(max-width:700px){
  html:root #finance-window,html:root #finance-window.window-maximized{inset:4px;width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:none;}
  html:root #finance-window > header .fincontour-window-heading{flex-basis:100%;}
  html:root[data-theme="macos"] #finance-window > header .window-controls{order:0;}
  #finance-window #finance-view{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);}
  #finance-window #finance-tabs{grid-column:1;grid-row:1;flex-direction:row;overflow:auto;align-items:center;border-right:0;border-bottom:1px solid var(--border);height:auto;padding:6px;gap:4px;}
  #finance-window #finance-tabs button{white-space:nowrap;text-align:center;min-height:44px;}
  #finance-window #finance-status{grid-column:1;grid-row:2;}
  #finance-window #finance-content,#finance-window #finance-loading{grid-column:1;grid-row:3;padding:10px 8px 25px;}
  .fc-four-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;}
  .fc-four-metrics .fc-metric{padding:12px!important;min-height:135px;}
  .fc-four-metrics .fc-metric strong{font-size:1.02rem!important;}
  .fc-panel-heading,.fc-panel-body{padding:12px;}
  .fc-panel-heading h3{font-size:.86rem;}
  .fc-director-group > summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;}
  .fc-director-group > summary > div:first-child{grid-column:1/-1;}
  .fc-director-group > summary > div:not(:first-child){text-align:left;}
  .fc-director-group > summary strong{font-size:.73rem;overflow-wrap:anywhere;}
  .fc-editor-fields{grid-template-columns:minmax(0,1fr);padding:14px;}
  .fc-revenue-day{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;}
  .fc-revenue-day strong{grid-column:1/-1;}
  .fc-candidate{grid-template-columns:minmax(0,1fr);}
  .fc-candidate label{grid-column:1;grid-row:auto;}
  .fc-director-table:not(.fc-keep-table) .fc-table thead{display:none;}
  .fc-director-table:not(.fc-keep-table) .fc-table,.fc-director-table:not(.fc-keep-table) .fc-table tbody{display:block;}
  .fc-director-table:not(.fc-keep-table) .fc-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px 0;border-bottom:1px solid var(--border);}
  .fc-director-table:not(.fc-keep-table) .fc-table td{display:grid;align-content:start;gap:3px;min-width:0;white-space:normal;text-align:left;border:0;padding:3px 5px;overflow-wrap:anywhere;}
  .fc-director-table:not(.fc-keep-table) .fc-table td::before{content:attr(data-label);color:var(--text-secondary);font-size:.65rem;}
  .fc-director-table:not(.fc-keep-table) .fc-table :is(th,td){max-width:none;min-width:0;}
  .fc-director-table:not(.fc-keep-table) .fc-table td:is(.fc-column-description,.fc-column-actions){grid-column:1/-1;}
  .fc-director-table:not(.fc-keep-table) .fc-table td.fc-column-actions:has(.fc-row-actions:empty){display:none;}
  .fc-director-table:not(.fc-keep-table) .fc-table:has(.fc-table-sort) thead{display:block;}
  .fc-director-table:not(.fc-keep-table) .fc-table:has(.fc-table-sort) thead tr{display:flex;flex-wrap:wrap;gap:2px 12px;padding:8px;border:0;background:var(--fc-tint);}
  html:root #finance-view .fc-director-table .fc-table:has(.fc-table-sort) thead th{display:block;padding:0;border:0;background:transparent;text-align:left;}
  html:root #finance-view .fc-director-table .fc-table:has(.fc-table-sort) thead th:not(:has(.fc-table-sort)){display:none;}
  html:root #finance-view .fc-director-table .fc-table-sort{width:auto;min-height:44px;margin:0;padding:5px 2px;}
  .fc-row-actions{display:flex;flex-wrap:wrap;min-width:0;}
  .fc-row-actions button{flex:1;min-width:124px;}
  .fc-director-table .fc-payment-description{min-width:0;}
  .fc-director-table .fc-table td:has(.fc-payment-description),.fc-director-table .fc-table td:has(.fc-row-actions){grid-column:1/-1;}
  .fc-panel-body .fc-table-wrap{overflow-x:auto;}
}
@media(pointer:coarse),(max-width:700px){#finance-window .fincontour-window-heading #finance-refresh{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;}}
@media(prefers-reduced-motion:reduce){.fc-top-day,.fc-director-panel,.fc-director-group{scroll-behavior:auto;}}
