@import url('./design-tokens.css');
/* INT-03 — all 12 months in available 1366/1440 desktop content width. */
.fd-annual-editor{padding:0 20px 24px;min-width:0}
.fd-annual-toolbar{display:flex;gap:10px;margin:8px 0 14px}
.fd-annual-toolbar>.fd-year{width:95px}
.fd-annual-toolbar>.fd-select{width:240px}
.fd-annual-status{font-size:12px;color:var(--fd-text-muted);min-height:18px}
.fd-annual-matrix{min-width:0;width:100%;border:1px solid var(--fd-line);border-radius:10px;background:#fff}
.fd-annual-sheet{width:100%;min-width:0}
.fd-annual-row{display:grid;grid-template-columns:minmax(135px,165px) repeat(13,minmax(0,1fr));align-items:stretch;border-bottom:1px solid #e1e8ea}
.fd-annual-head{position:sticky;top:0;background:#eaf2f2;z-index:5}
.fd-annual-label{min-width:0;padding:8px 6px;font-size:11px;font-weight:600;overflow-wrap:anywhere;display:flex;align-items:center;background:#fff}
.fd-annual-head .fd-annual-label{background:#eaf2f2}
.fd-annual-month{padding:8px 1px;text-align:center;font-weight:700;font-size:10px;color:var(--fd-navy)}
.fd-annual-category{padding:9px 10px;background:#edf4f3;color:#153e3c;font-weight:700;font-size:12px;border-bottom:1px solid #d6e2e0}
.fd-annual-pair{min-width:0;display:grid;grid-template-rows:repeat(2,minmax(26px,auto));gap:2px;padding:3px 2px;border-left:1px solid #e9eef0}
.fd-annual-cell{position:relative;min-width:0;display:flex;align-items:stretch}
.fd-annual-value{font:inherit;font-size:10px;font-variant-numeric:tabular-nums;min-width:0;width:100%;height:29px;padding:4px 2px;
 border:1px solid transparent;background:transparent;text-align:right;color:var(--fd-text);
 border-radius:4px}
.fd-annual-value[data-scenario="plan"]{color:var(--fd-text-muted);background:#fafbfb}
.fd-annual-value:focus{background:white;border-color:var(--fd-teal);position:relative;z-index:2;min-width:105px;box-shadow:0 1px 9px #142b3229}
.fd-annual-cell[data-state="dirty"] .fd-annual-value{background:#fff9e5;border-color:#c49732}
.fd-annual-cell[data-state="saving"] .fd-annual-value{background:#e7f3fa;border-color:#93b9d5}
.fd-annual-cell[data-state="saved"] .fd-annual-value{background:#e4f4f1;border-color:var(--fd-teal)}
.fd-annual-cell[data-state="failed"] .fd-annual-value,
.fd-annual-cell[data-state="revision_conflict"] .fd-annual-value{background:#fff0f0;border-color:var(--fd-danger)}
.fd-annual-value:disabled{color:#687982;background:#f5f7f7}
.fd-annual-reconcile{display:none;position:absolute;z-index:4;top:29px;right:0;font-size:10px;
 padding:4px 7px;background:#fff;color:var(--fd-danger);border:1px solid var(--fd-danger);border-radius:6px;white-space:nowrap}
.fd-annual-cell[data-state="revision_conflict"] .fd-annual-reconcile{display:block}
.fd-annual-kpi .fd-annual-label{font-weight:750;background:#f0f6f4}
.fd-annual-kpi-value{font-size:10px;white-space:nowrap;text-align:right;padding:5px 2px;font-variant-numeric:tabular-nums;color:#1b4e4b}
.fd-annual-new-line{display:flex;gap:8px;padding:12px;flex-wrap:wrap}
.fd-annual-new-line>input{min-width:150px;flex:1 1 240px}
.fd-annual-new-line>select{min-width:160px;flex:0 1 230px}
.fd-annual-footer{position:sticky;bottom:10px;z-index:8;display:flex;justify-content:flex-end;align-items:center;gap:12px;
 padding:10px 12px;background:#fff;border:1px solid var(--fd-line);border-radius:10px;box-shadow:0 3px 14px #142b3218}
.fd-annual-dirty-count{font-size:12px;color:var(--fd-text-muted)}
@media(max-width:1366px) and (min-width:721px){
 .fd-annual-editor{padding:0 9px 18px}
 .fd-annual-row{grid-template-columns:minmax(122px,145px) repeat(13,minmax(0,1fr))}
 .fd-annual-value,.fd-annual-kpi-value{font-size:9px}
 .fd-annual-label{font-size:10px;padding:6px 4px}
 .fd-annual-pair{padding:2px 1px}
}
@media(max-width:720px){
 .fd-annual-editor{display:none}
}


/* #664: readable first-run monthly editor; 12-month compact layout remains opt-in. */
.fd-annual-sheet[data-layout="month"] .fd-annual-row{
  grid-template-columns:minmax(240px,1fr) minmax(250px,2fr);
}
.fd-annual-sheet[data-layout="month"] .fd-annual-head .fd-annual-month{
  font-size:14px;text-align:center;letter-spacing:.02em;padding:14px;
}
.fd-annual-sheet[data-layout="month"] .fd-annual-label{
  padding:13px 18px;font-size:15px;line-height:1.5;display:block;
}
.fd-annual-sheet[data-layout="month"] .fd-annual-pair{
  grid-template-rows:repeat(2,minmax(48px,auto));
  padding:8px 16px;gap:8px;
}
.fd-annual-sheet[data-layout="month"] .fd-annual-value{
  font-size:16px;height:45px;padding:10px 20px;
  background:#f7fafb;border:1px solid #c5d4db;border-radius:8px;
}
.fd-annual-sheet[data-layout="month"] .fd-annual-value:focus{
  min-width:unset;background:#fff;border-color:var(--fd-teal);
}
.fd-annual-sheet[data-layout="month"] .fd-annual-kpi-value{font-size:16px;padding:10px}
.fd-annual-sheet[data-layout="month"] .fd-annual-category{font-size:16px;padding:15px 18px}
.fd-annual-toolbar{flex-wrap:wrap;align-items:center}
.fd-annual-toolbar>.fd-select{min-height:44px;font-size:14px}
.fd-annual-toolbar>.fd-button{min-height:44px}
.fd-annual-sheet [hidden]{display:none!important}
.fd-source-details{
  display:block;width:100%;font-size:13px;font-weight:400;
  margin:6px 0 0;color:#47616f;line-height:1.45;
}
.fd-source-details summary{cursor:pointer;color:#09675f;font-weight:650}
.fd-source-details p{margin:7px 0;white-space:normal;overflow-wrap:anywhere}
.fd-source-caveat{color:#7b501b;font-size:12px}
.fd-source-reference{
  display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,2fr);
  align-items:start;gap:18px;padding:13px 18px;
  background:#f9fbfc;border-bottom:1px solid #e0e9ec;
  color:#243e4b;font-size:14px;line-height:1.5;
}
.fd-source-reference-name{min-width:0;overflow-wrap:anywhere}
.fd-source-reference-state{
  border:1px solid #dce8e8;border-radius:6px;padding:8px 10px;
  color:#4d6874;background:#fff;font-size:13px;
}
@media (max-width:960px){
 .fd-annual-sheet[data-layout="month"] .fd-annual-row{grid-template-columns:minmax(160px,1fr) minmax(170px,1.2fr)}
 .fd-source-reference{grid-template-columns:minmax(160px,1fr) minmax(130px,1fr)}
 .fd-annual-sheet[data-layout="month"] .fd-annual-label{padding:10px;font-size:14px}
 .fd-annual-sheet[data-layout="month"] .fd-annual-pair{padding:7px}
}

/* #669 Gate B — read-only, source-backed vertical slice status (not bank DDS). */
.fd-annual-cash-preview{margin:10px 0 16px;padding:12px;border:1px solid var(--fd-line);
 border-radius:8px;background:#fff}
.fd-annual-cash-preview h3{font-size:14px;margin:0 0 10px;color:var(--fd-navy)}
.fd-annual-cash-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fd-annual-cash-card{display:flex;flex-direction:column;gap:6px;padding:10px;
 border:1px solid #e4ecee;border-radius:6px;font-size:12px}
.fd-annual-cash-card strong{font-size:15px;font-variant-numeric:tabular-nums}
@media(max-width:960px){.fd-annual-cash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* #669 Gate C — actual independent revisioned forecast, low-fidelity desktop. */
.fd-forecast-mount[hidden],.fd-annual-matrix[hidden],.fd-annual-footer[hidden]{display:none!important}
.fd-forecast-year{min-width:0}
.fd-forecast-year h3{font-size:16px;margin:0 0 8px}
.fd-forecast-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}
.fd-forecast-table th,.fd-forecast-table td{padding:4px 3px;border:1px solid #dce6e8;
 font-size:11px;vertical-align:top;text-align:right}
.fd-forecast-table th:first-child,.fd-forecast-table td:first-child{
 width:175px;text-align:left;overflow-wrap:anywhere}
.fd-forecast-table th:last-child,.fd-forecast-table td:last-child{width:92px}
.fd-forecast-table thead th{background:#edf4f3;position:sticky;top:0;z-index:2}
.fd-forecast-value{width:100%;min-width:0;border:1px solid transparent;text-align:right;
 font-size:11px;font-variant-numeric:tabular-nums;padding:7px 2px;border-radius:3px}
.fd-forecast-value:focus{min-width:90px;background:#fff;outline:2px solid var(--fd-teal);
 position:relative;z-index:3}
.fd-forecast-value:disabled{color:#7d8e96;background:#f4f6f7}
.fd-forecast-table td[data-state="dirty"]{background:#fff4cc}
.fd-forecast-table td[data-state="failed"]{background:#fee6e6}
.fd-forecast-table td[data-state="saved"]{background:#e7f4e9}
.fd-forecast-fill{display:block;margin-top:4px;font-size:10px;cursor:pointer;
 border:1px solid #dce6e8;background:#fff;padding:4px 6px;border-radius:4px}
.fd-annual-total{background:#eff6f5;font-weight:750}
.fd-annual-cell[hidden]{display:none!important}
@media (max-width:1100px){
  .fd-forecast-year{overflow-x:auto}
  .fd-forecast-table{min-width:1120px}
}

/* #702 — native-feeling, one-click year/scenario/month/layout selectors.
   Existing inputs remain the sole API write transport, so permissions, dirty
   guards and revision checks stay unchanged. */
.fd-annual-toolbar .fd-clear-segments{
 display:inline-flex;align-items:center;gap:2px;min-width:0;max-width:100%;
 overflow-x:auto;scrollbar-width:thin;
 background:var(--fd-surface);border:1px solid var(--fd-line);
 border-radius:8px;padding:3px;
}
.fd-annual-toolbar .fd-clear-segment{
 appearance:none;border:0;border-radius:5px;
 background:transparent;color:var(--fd-text-muted);
 padding:9px 11px;min-height:38px;white-space:nowrap;
 font:600 12px/1.2 var(--fd-font);cursor:pointer;
}
.fd-annual-toolbar .fd-clear-segment[aria-pressed="true"]{
 background:var(--fd-navy);color:#fff;
}
.fd-annual-toolbar .fd-clear-segment:hover:not([aria-pressed="true"]):not(:disabled){
 background:var(--fd-teal-soft);color:var(--fd-teal);
}
.fd-annual-toolbar .fd-clear-segment:focus-visible{
 outline:3px solid var(--fd-focus);outline-offset:2px;
}
.fd-annual-toolbar .fd-clear-segment:disabled{opacity:.52;cursor:not-allowed}
.fd-annual-toolbar [hidden]{display:none!important}
@media(max-width:900px){
 .fd-annual-toolbar .fd-clear-segments{
   width:100%;flex:1 1 100%;
 }
 .fd-annual-toolbar .fd-clear-segment{min-height:44px;padding:10px 12px}
}

/* #709: one real editor on desktop and touch, readable numbers over forced fit. */
.fd-annual-editor{display:block;padding:0 20px 24px}
.fd-annual-matrix{overflow-x:auto}
.fd-annual-row{grid-template-columns:190px repeat(var(--fd-month-columns,13),minmax(86px,1fr));min-width:max-content}
.fd-annual-value,.fd-annual-kpi-value{font-size:13px}
.fd-annual-label{font-size:13px;position:sticky;left:0;z-index:2}
.fd-annual-head,.fd-annual-head .fd-annual-label{background:var(--fd-bg)}
.fd-annual-category{background:var(--fd-teal-soft);color:var(--fd-text)}
.fd-annual-pair{grid-template-rows:none;grid-auto-rows:minmax(34px,auto)}
.fd-annual-sheet[data-layout=month] .fd-annual-row{min-width:0;grid-template-columns:minmax(130px,1fr) minmax(140px,1fr)}
.fd-annual-sheet[data-layout=month] .fd-annual-pair{grid-template-rows:none;grid-auto-rows:minmax(44px,auto)}
.fd-annual-toolbar .fd-clear-segment{min-height:44px}
.fd-clear-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.fd-clear-report-card{display:grid;gap:8px;background:#fff;padding:16px;border:1px solid var(--fd-line);border-radius:10px;min-width:0}
.fd-clear-report-card>span{font-size:12px;color:var(--fd-text-muted)}
.fd-clear-report-card>strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fd-annual-cell:has(.fd-annual-value[data-scenario=plan]):before{content:'П';align-self:center;color:var(--fd-text-muted);font-size:10px}
.fd-annual-cell:has(.fd-annual-value[data-scenario=fact]):before{content:'Ф';align-self:center;color:var(--fd-text-muted);font-size:10px}
@media(max-width:720px){
 .fd-annual-editor{display:block;padding:0 10px 16px}
 .fd-clear-report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .fd-clear-report-card{padding:12px}.fd-clear-report-card>strong{font-size:17px}
 .fd-annual-toolbar{gap:8px}.fd-annual-label{font-size:13px}
 .fd-annual-sheet[data-layout=month] .fd-annual-label{font-size:13px;padding:10px 8px}
 .fd-annual-sheet[data-layout=month] .fd-annual-value{padding:8px;font-size:16px}
 .fd-annual-footer{bottom:8px;gap:8px}.fd-annual-footer .fd-button{min-height:44px}
 .fd-annual-dirty-count{font-size:11px}
}


/* #719 Mobile first-data UX. Desktop retains the full 12-month segmented editor. */
.fd-annual-month-stepper,.fd-annual-more-modes{display:none}
.fd-annual-cash-preview[hidden],.fd-annual-cash-preview:empty{display:none!important}
.fd-clear-report-summary:empty{display:none!important}
@media(max-width:720px){
  .fd-clear-workspace .fd-annual-toolbar{
    display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);
    column-gap:8px;row-gap:6px;margin:5px 0 9px;align-items:center
  }
  .fd-clear-workspace .fd-annual-toolbar>[role=group][aria-label="Год"]{
    grid-column:1;min-width:0;width:auto;max-width:100%;flex:auto
  }
  .fd-clear-workspace .fd-annual-toolbar>[role=group][aria-label="Год"] .fd-clear-segment{
    min-height:40px;padding:9px 10px
  }
  .fd-clear-workspace .fd-annual-month-stepper{
    grid-column:2;display:flex;align-items:center;justify-content:space-between;
    gap:4px;min-width:0;min-height:44px;padding:2px 4px;
    border:1px solid var(--fd-line);border-radius:8px;background:#fff
  }
  .fd-clear-workspace .fd-annual-step{
    width:40px;min-width:40px;min-height:40px;border:0;border-radius:6px;
    background:transparent;color:var(--fd-teal);font:700 24px/1 var(--fd-font);
    cursor:pointer
  }
  .fd-clear-workspace .fd-annual-step:disabled{opacity:.28;cursor:default}
  .fd-clear-workspace .fd-annual-month-caption{
    text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;color:var(--fd-text);font:700 13px/1.3 var(--fd-font)
  }
  .fd-clear-workspace .fd-annual-more-modes{
    display:block;grid-column:1/-1;min-height:38px;padding:4px 10px;
    border:1px solid var(--fd-line);background:#fff;border-radius:8px;
    color:var(--fd-text-muted);font:600 12px var(--fd-font);text-align:left;cursor:pointer
  }
  .fd-clear-workspace .fd-annual-more-modes[aria-expanded=true]{
    color:var(--fd-teal);border-color:var(--fd-teal)
  }
  .fd-clear-workspace .fd-annual-toolbar>.fd-clear-segments[role=group][aria-label="Месяц"]{
    display:none!important
  }
  .fd-clear-workspace .fd-annual-editor:not([data-advanced=true])
    .fd-annual-toolbar>[role=group][aria-label="Режим таблицы"],
  .fd-clear-workspace .fd-annual-editor:not([data-advanced=true])
    .fd-annual-toolbar>[role=group][aria-label="Период"]{
    display:none!important
  }
  .fd-clear-workspace .fd-annual-editor[data-advanced=true]
    .fd-annual-toolbar>[role=group][aria-label="Режим таблицы"],
  .fd-clear-workspace .fd-annual-editor[data-advanced=true]
    .fd-annual-toolbar>[role=group][aria-label="Период"]{
    grid-column:1/-1;width:100%;min-width:0
  }
  .fd-clear-workspace .fd-annual-toolbar>[role=group][aria-label="Режим таблицы"]
    .fd-clear-segment,.fd-clear-workspace .fd-annual-toolbar>[role=group][aria-label="Период"]
    .fd-clear-segment{
    flex:1 1 auto;min-width:0;padding:8px 6px;font-size:12px
  }
  .fd-clear-workspace .fd-annual-step:focus-visible,
  .fd-clear-workspace .fd-annual-more-modes:focus-visible{
    outline:3px solid var(--fd-focus);outline-offset:2px
  }
  .fd-clear-workspace .fd-annual-cash-preview{margin-top:4px}
  .fd-clear-workspace .fd-clear-report-summary{margin:8px 0 12px}
}
