@import url('./design-tokens.css');
.fd-app{box-sizing:border-box;max-width:100%;margin:0 auto;padding:20px 22px 32px;background:#f6f8fb;color:#142234;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.4}
.fd-app *{box-sizing:border-box}
.fd-header{margin-bottom:20px}
.fd-title{font-size:clamp(20px,2vw,28px);font-weight:750;letter-spacing:-.02em;margin:0 0 16px}
.fd-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.fd-control{display:grid;gap:4px;min-width:90px}
.fd-control-caption{color:#596a7b;font-size:12px;font-weight:600}
.fd-select,.fd-year,.fd-entry-amount{min-height:38px;max-width:100%;width:100%;background:#fff;color:#172739;border:1px solid #b8c6d5;border-radius:7px;padding:7px 9px;font:inherit}
.fd-year{width:96px}
.fd-control:nth-child(2){min-width:210px}
.fd-control:nth-child(3){min-width:145px}
.fd-control:nth-child(4){min-width:96px}
.fd-control:nth-child(5){min-width:116px}
.fd-status{font-size:12px;color:#566779;margin:10px 0 0;min-height:18px}
.fd-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.fd-kpi{background:#fff;border:1px solid #dce3ec;border-radius:10px;padding:14px 16px;min-width:0;box-shadow:0 2px 9px #1c33400a}
.fd-kpi-label{font-weight:700;font-size:13px;color:#506174}
.fd-kpi-time{font-size:11px;color:#788797;margin-top:4px}
.fd-kpi-description,.fd-mobile-kpi-description{font-size:12px;line-height:1.45;color:#526a75;margin:8px 0 0;font-weight:400}
.fd-kpi-values{margin-top:10px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}
.fd-kpi-values>div+div{margin-top:5px}
.fd-warning{margin:6px 0;color:#755007;padding:8px 12px;background:#fff9e9;border:1px solid #f1daa6;border-radius:6px;font-size:12px}
.fd-section-title{font-size:17px;font-weight:700;margin:22px 0 10px}
.fd-report,.fd-editor{min-width:0}
.fd-table-scroll{max-width:100%;overflow-x:auto;overflow-y:visible;background:#fff;border:1px solid #d8e1ea;border-radius:9px;outline-offset:4px}
.fd-year-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:1260px;width:100%;font-variant-numeric:tabular-nums}
.fd-year-table caption{text-align:left;font-size:12px;color:#526476;padding:9px 12px;border-bottom:1px solid #e5eaf0}
.fd-year-table thead th{background:#eaf0f7;color:#243c56;text-align:center;position:sticky;top:0;z-index:1;padding:10px 4px;font-size:12px}
.fd-year-table .fd-stick{position:sticky;left:0;z-index:2;min-width:196px;width:196px;max-width:196px;text-align:left;padding:10px 12px;background:#fff;box-shadow:1px 0 0 #e2e7ee}
.fd-year-table thead .fd-stick{background:#eaf0f7;z-index:3}
.fd-year-table th.fd-month-heading{width:calc((100% - 196px)/12);min-width:88px}
.fd-year-table tbody td{border-top:1px solid #edf0f5;border-left:1px solid #edf0f5;padding:7px 4px;vertical-align:middle}
.fd-year-table tbody th{border-top:1px solid #edf0f5;font-size:12px;font-weight:550}
.fd-year-table tbody tr:nth-child(even) td,.fd-year-table tbody tr:nth-child(even) .fd-stick{background:#fafbfd}
.fd-year-table tbody tr:hover td,.fd-year-table tbody tr:hover .fd-stick{background:#eef4fa}
.fd-year-table .fd-current{box-shadow:inset 0 0 0 1px #7d9fc4}
.fd-month-values{display:grid;gap:3px;text-align:right;font-size:11px;white-space:nowrap;overflow:visible}
.fd-month-values span{display:block;overflow:hidden;text-overflow:ellipsis}
.fd-plan{color:#738293}
.fd-fact{font-weight:700;color:#22354e}
.fd-delta{color:#3f678b}
.fd-entry-list{display:grid;gap:7px}
.fd-entry{display:grid;grid-template-columns:minmax(210px,1fr) 165px 160px 115px auto;gap:9px;align-items:center;background:#fff;border:1px solid #dce3ec;border-radius:8px;padding:9px}
.fd-entry-name{display:grid;gap:3px;min-width:0}
.fd-entry-name strong{font-weight:600;overflow-wrap:anywhere}
.fd-subtle{font-size:12px;color:#708194}
.fd-button{appearance:none;min-height:38px;padding:7px 12px;border-radius:7px;border:1px solid #aec1d4;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.fd-button:hover{filter:brightness(.94)}
.fd-button:disabled,.fd-app select:disabled,.fd-app input:disabled{cursor:not-allowed;opacity:.58}
.fd-primary{background:#284e78;border-color:#284e78;color:#fff}
.fd-secondary{background:#eaf2fa;color:#284e78}
.fd-quiet{background:#fff;color:#536678}
.fd-add-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 0}
.fd-add-line .fd-entry-amount{max-width:340px;flex:1 1 220px}
.fd-add-line .fd-select{max-width:320px;flex:1 1 185px}
.fd-app :is(button,select,input,.fd-table-scroll):focus-visible{outline:3px solid #3277bb;outline-offset:2px}
@media(max-width:1200px){.fd-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-entry{grid-template-columns:minmax(160px,1fr) 130px 140px auto}.fd-entry .fd-quiet{grid-column:4}}
@media(max-width:720px){.fd-app{padding:12px}.fd-title{font-size:20px}.fd-summary{grid-template-columns:1fr}.fd-control,.fd-control:nth-child(2){min-width:calc(50% - 5px);flex:1}.fd-year-table{min-width:1260px}.fd-entry{grid-template-columns:1fr 1fr;gap:8px}.fd-entry-name{grid-column:1/-1}.fd-entry .fd-quiet{grid-column:auto}.fd-kpi-values{font-size:15px}}


/* Mobile is a true SINGLE MONTH surface; the 12-column desktop grid is hidden. */
.fd-mobile-report{display:none}
@media(max-width:720px){
  .fd-table-scroll{display:none}
  .fd-summary{display:none}
  .fd-mobile-report{display:block;min-width:0}
  .fd-mobile-month{font-size:17px;margin:2px 0 12px}
  .fd-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:14px}
  .fd-mobile-tab{min-width:0;min-height:44px;border-radius:8px;padding:8px 4px;background:#fff;
    color:#233e5d;border:1px solid #b9c7d7;font-size:13px;cursor:pointer}
  .fd-mobile-tab.fd-mobile-selected{background:#284e78;color:#fff;border-color:#284e78;font-weight:700}
  .fd-mobile-highlights{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}
  .fd-mobile-kpi{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;
    background:#fff;border:1px solid #dce3ec;border-radius:10px;padding:12px;min-width:0}
  .fd-mobile-kpi-name{font-size:13px;color:#64788d;font-weight:600}
  .fd-mobile-kpi-value{font-size:15px;overflow-wrap:anywhere}
  .fd-mobile-metrics{display:grid;gap:6px}
  .fd-mobile-metric{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;
    gap:10px;padding:12px 10px;border:1px solid #dde5ed;background:#fff;border-radius:9px;min-width:0}
  .fd-mobile-metric-label{font-weight:600;font-size:13px}
  .fd-mobile-metric-values{display:grid;gap:4px;text-align:right;font-size:13px;min-width:0}
  .fd-mobile-metric-values span,.fd-mobile-metric-values strong{overflow-wrap:anywhere}
  .fd-entry-list{gap:10px}
  .fd-entry{grid-template-columns:1fr;padding:12px;gap:9px}
  .fd-entry .fd-quiet{grid-column:auto}
  .fd-entry .fd-button,.fd-entry .fd-select,.fd-entry .fd-entry-amount{width:100%;min-height:44px}
  .fd-add-line{display:grid;grid-template-columns:1fr}
  .fd-add-line .fd-entry-amount,.fd-add-line .fd-select,.fd-add-line .fd-button{max-width:none;width:100%;min-height:44px}
  .fd-control .fd-select,.fd-control .fd-year{min-height:44px}
  .fd-mobile-report .fd-mobile-tab:focus-visible{outline:3px solid #3277bb;outline-offset:2px}
}

.fd-coverage{margin-top:20px;padding-top:10px;border-top:1px solid #dce5ee}
.fd-coverage-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:10px;
 align-items:center;padding:9px 11px;background:#fff;border:1px solid #dce5ee;border-radius:7px;margin-top:7px}
.fd-coverage-label{font-size:13px;font-weight:600}
.fd-coverage-status{font-size:12px;color:#63778c}
.fd-coverage-row>.fd-button{min-height:42px}
@media(max-width:720px){
 .fd-coverage-row{grid-template-columns:minmax(0,1fr);gap:8px}
 .fd-coverage-row>.fd-button{width:100%;min-height:44px}
}

/* INT-03: compact true 12-month report at desktop width after sidebar. */
@media (min-width:721px){
 .fd-workspace .fd-table-scroll{overflow-x:visible;max-width:100%;border-radius:9px}
 .fd-workspace .fd-year-table{
   width:100%;min-width:0;table-layout:fixed;font-size:10px;
 }
 .fd-workspace .fd-year-table .fd-stick{
   width:155px;min-width:0;max-width:155px;padding:7px 5px;
   font-size:10px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;
 }
 .fd-workspace .fd-year-table th.fd-month-heading{
   width:calc((100% - 155px)/12);min-width:0;
   padding:9px 1px;font-size:10px;
 }
 .fd-workspace .fd-year-table tbody td{padding:5px 1px}
 .fd-workspace .fd-month-values{font-size:9px;gap:2px;white-space:normal}
 .fd-workspace .fd-month-values span{
   overflow:visible;text-overflow:clip;overflow-wrap:anywhere;white-space:normal;
 }
 .fd-workspace .fd-month-values .fd-delta{display:none}
}
@media (min-width:721px) and (max-width:1390px){
 .fd-workspace .fd-year-table .fd-stick{
   width:140px;max-width:140px;font-size:9px;padding:6px 4px;
 }
 .fd-workspace .fd-year-table th.fd-month-heading{
   width:calc((100% - 140px)/12);font-size:9px;
 }
 .fd-workspace .fd-month-values{font-size:8.5px}
}

/* INT-04/05 touch-safe month Save. The keyboard overlap is supplied by visualViewport. */
.fd-mobile-save-bar{display:none}
.fd-entry-reconcile{display:none;border:1px solid var(--fd-danger);background:#fff;color:var(--fd-danger);border-radius:7px;min-height:36px;padding:7px 12px;font:inherit}
.fd-entry[data-state="revision_conflict"] .fd-entry-reconcile{display:inline-flex}
.fd-entry[data-state="dirty"]{border-color:#BE8B24;background:#FFFBED}
.fd-entry[data-state="saving"]{border-color:#A0C6D4;background:#F1F8FC}
.fd-entry[data-state="saved"]{border-color:#7CB9AA;background:#F2FAF7}
.fd-entry[data-state="failed"],.fd-entry[data-state="revision_conflict"]{border-color:var(--fd-danger);background:#FFF5F5}
@media(max-width:720px){
 .fd-workspace-pane[data-activity="analysis"] .fd-mobile-save-bar{display:none!important}
 .fd-mobile-save-bar{
   display:flex;align-items:center;justify-content:space-between;gap:10px;
   position:fixed;z-index:110;left:12px;right:12px;
   bottom:calc(var(--fd-keyboard-overlap,0px) + var(--fd-nav-offset,136px) + 8px);
   padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
   border:1px solid #AACDC8;border-radius:13px;
   background:#fff;box-shadow:0 5px 22px rgba(20,43,50,.22);
 }
 .fd-mobile-save-count{font-size:11px;color:var(--fd-text-muted);min-width:0}
 .fd-mobile-save-bar .fd-button{min-height:48px;padding:10px 15px;flex:0 0 auto}
 .fd-entry>.fd-primary{display:none}
 .fd-entry .fd-entry-reconcile{width:100%;min-height:44px}
 .fd-app{padding-bottom:85px}
}
@media(max-width:359px){
 .fd-mobile-save-bar{left:6px;right:6px;padding:9px 8px}
 .fd-mobile-save-bar .fd-button{font-size:12px}
}

/* #664 typed operational measures: counts/days are not currency */
.fd-operational-panel{
  padding:18px 20px;margin:16px 20px;
  background:#fff;border:1px solid #d5e2e5;border-radius:12px;
  max-width:100%;box-sizing:border-box
}
.fd-operational-panel h3{font-size:17px;margin:0 0 8px}
.fd-operational-panel>.fd-subtle{font-size:14px;line-height:1.5;margin:0 0 12px}
.fd-operational-status{font-size:13px;color:#596e79;line-height:1.4}
.fd-operational-row{
  display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr)
  minmax(120px,1fr) auto;gap:9px;
  align-items:center;padding:14px 0;border-top:1px solid #e4ecef
}
.fd-operational-label{min-width:0;font-weight:650;font-size:15px;line-height:1.4;color:#203e49}
.fd-operational-row select,.fd-operational-row input{
  padding:10px;border:1px solid #bdcccf;border-radius:7px;
  font-size:15px;min-width:0;min-height:44px;max-width:100%;box-sizing:border-box
}
.fd-operational-row .fd-button{min-height:44px;white-space:normal;font-size:13px}
.fd-operational-row-status{
  grid-column:1/-1;font-size:12px;color:#536b70
}
.fd-operational-row[data-state="dirty"]{background:#fffaf1}
@media (min-width:721px){
 .fd-workspace-pane[data-view="annual"][data-activity="entry"]
   .fd-dashboard-operational{display:none}
}
@media (max-width:920px){
 .fd-operational-row{grid-template-columns:1fr 1fr}
 .fd-operational-label{grid-column:1/-1}
 .fd-operational-row .fd-button{grid-column:1/-1}
}
@media (max-width:720px){
 .fd-operational-panel{margin:12px 12px 130px;padding:13px}
 .fd-operational-row{grid-template-columns:1fr}
 .fd-operational-label,.fd-operational-row .fd-button{grid-column:auto}
 .fd-operational-panel h3{font-size:16px}
}

/* #700 — Clear Cabinet / Ясный кабинет: approved option 01. Financial work surfaces. */
.fd-workspace .fd-app{
  background:transparent;
  color:var(--fd-text);
  font-family:var(--fd-font);
  padding:18px 22px 36px;
}
.fd-workspace .fd-toolbar{gap:12px;align-items:center;margin:0 0 15px}
.fd-workspace .fd-control-caption{color:var(--fd-text-muted);font-size:11px}
.fd-workspace .fd-select,
.fd-workspace .fd-year,
.fd-workspace .fd-entry-amount{
  background:#fff;border:1px solid #c7d3e6;border-radius:7px;
  color:var(--fd-text);min-height:42px;font-family:var(--fd-font);
}
.fd-workspace .fd-kpi{
  background:#fff;border:1px solid var(--fd-line);
  border-radius:var(--fd-radius-card);
  padding:18px;
}
.fd-workspace .fd-kpi-label{font-size:12px;color:var(--fd-text-muted);font-weight:600}
.fd-workspace .fd-kpi-values{font-size:19px;letter-spacing:-.02em;line-height:1.5}
.fd-workspace .fd-table-scroll{
  background:#fff;border:1px solid var(--fd-line);
  border-radius:var(--fd-radius-card);
}
.fd-workspace .fd-year-table thead th{background:#f4f7fd;color:var(--fd-text)}
.fd-workspace .fd-year-table tbody tr:nth-child(even) td,
.fd-workspace .fd-year-table tbody tr:nth-child(even) .fd-stick{background:#fafbff}
.fd-workspace .fd-year-table tbody tr:hover td,
.fd-workspace .fd-year-table tbody tr:hover .fd-stick{background:var(--fd-teal-soft)}
.fd-workspace .fd-fact{color:var(--fd-navy)}
.fd-workspace .fd-delta{color:var(--fd-teal)}
.fd-workspace .fd-entry{border-color:var(--fd-line);border-radius:8px}
.fd-workspace .fd-entry[data-state="dirty"]{border-color:#d1a65b}
.fd-workspace .fd-entry[data-state="saved"]{border-color:#8ac4ae}
.fd-workspace .fd-button:focus-visible,
.fd-workspace :is(input,select):focus-visible{outline:3px solid var(--fd-focus);outline-offset:2px}
.fd-workspace .fd-mobile-save-bar{border-color:#c7d8f9;box-shadow:0 4px 20px rgba(23,43,77,.13)}
@media(max-width:720px){.fd-workspace .fd-app{padding:12px 12px 90px}}
