/* Стиль сайта takipalki.com.ua: Open Sans, белый и светло-серый фон, графитовые кнопки, оранжево-золотой акцент.
   Рост — зелёный, падение — красный (на сайте этих цветов нет, в отчёте они нужны). */
:root{--bg:#f5f5f5;--card:#fff;--text:#0a0a0a;--heading:#282828;--muted:#666;--line:#e8e8e8;--accent:#282828;
  --brand:#dc9814;--brand-text:#a86d00;--hover:#f5f5f5;--up:#2e7d32;--down:#c62828;--warn:#9a6200;--warnbg:#fff6e0}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand-text)}a:hover{color:var(--text)}
.top{background:var(--card);border-bottom:1px solid var(--line);padding:12px 20px;display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
.brand{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:15px;color:var(--text)}
.brand span{text-transform:none;letter-spacing:0;font-weight:400;color:#a0a0a0}
nav{display:flex;flex-wrap:wrap;gap:2px 6px}
nav a{padding:6px 8px;color:#555;text-decoration:none;font-size:14px;border-bottom:2px solid transparent}
nav a.active{color:var(--text);font-weight:700;border-bottom-color:var(--brand)}
nav a:hover:not(.active){color:var(--text);border-bottom-color:var(--line)}
main{max-width:1200px;margin:0 auto;padding:20px 16px}
h1{font-size:26px;font-weight:700;color:var(--heading);margin:8px 0 16px}
h2{font-size:18px;font-weight:700;color:var(--heading);margin:0 0 12px}
h3{color:var(--heading)}
section{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:16px}
.banner{padding:8px 16px;font-size:14px}
.banner.warn{background:var(--warnbg);color:var(--warn)}
.banner.review{background:var(--warnbg);color:var(--warn);border:1px solid #f0d199;border-radius:8px;margin:0 0 16px}
.banner.demo{background:#ffe1e1;color:#9b1c1c;font-weight:700;text-align:center}
.filter{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:end;margin-bottom:16px}
.filter label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:2px}
.filter select,.filter input,.filter button,.login input,.login button{font:inherit;padding:6px 8px;border:1px solid #ddd;border-radius:4px;background:#fff}
.filter button,.login button{background:var(--accent);color:#fff;border-color:var(--accent);cursor:pointer;padding:6px 18px}
.filter button:hover,.login button:hover{background:#000}
.period-label{width:100%;font-weight:600}
.hint{width:100%;font-size:12px;color:var(--muted)}
.hint.warn-text{color:var(--warn);font-size:13px}
#f-cmp-dates{display:contents}#f-cmp-dates[hidden]{display:none}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.tile{border:1px solid #ececec;border-radius:4px;padding:14px;background:#f5f5f5}  /* фон как на фото товаров сайта */
.t-title{font-size:13px;color:var(--muted)}
.t-value{font-size:28px;font-weight:700;margin:4px 0}
.t-base{font-size:13px;color:var(--muted);margin-top:2px}.t-base b{color:var(--text);font-weight:600;white-space:nowrap}
.t-delta span{white-space:normal}.t-delta{font-variant-numeric:tabular-nums}
.t-delta{font-size:14px;margin-top:2px}
td.up,td.down{white-space:nowrap}
.t-note{font-size:12px;color:var(--muted);margin-top:4px}
.na{color:var(--muted);font-style:italic}
.t-value .na{font-size:18px}
.muted{color:var(--muted)}
.up{color:var(--up)}.down{color:var(--down)}
.tag{display:inline-block;font-size:12px;font-weight:400;padding:1px 8px;border-radius:10px;background:#f0f0f0;color:var(--muted);vertical-align:middle}
.tag.warn{background:var(--warnbg);color:var(--warn)}
.method{font-size:13px;color:var(--muted)}
.table-wrap{overflow-x:auto}
details.more{margin-top:8px}
details.more>summary{cursor:pointer;display:inline-block;font-size:13px;color:var(--accent);padding:5px 12px;border:1px solid var(--accent);border-radius:4px;user-select:none;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::before{content:"▸ ";}
details.more[open]>summary::before{content:"▾ ";}
details.more>summary:hover{background:var(--hover)}
details.more[open]>summary{margin-bottom:8px}
details.group{border-top:1px solid var(--line);padding:4px 0}
details.group>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:6px 0;user-select:none}
details.group>summary::-webkit-details-marker{display:none}
details.group>summary h3{display:inline;margin:0}
details.group>summary h3::before{content:"▸ ";color:var(--brand)}
details.group[open]>summary h3::before{content:"▾ "}
details.group>summary:hover h3{color:var(--brand-text)}
details.group>summary .g-sum{font-weight:600}
.sub-h{margin:16px 0 4px}
a.svc-toggle::before{content:"▸ ";color:var(--muted)}
a.svc-toggle.open::before{content:"▾ "}
tr.svc-docs>td{background:#fafafa;padding:8px 12px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;color:var(--muted);font-size:13px}
th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--text)}
th.sortable a{color:inherit;text-decoration:none}
table.rows-10.collapsed>tbody>tr:nth-child(n+11){display:none}
button.show-all{font:inherit;font-size:13px;margin-top:8px;padding:5px 12px;border:1px solid var(--accent);border-radius:4px;background:#fff;color:var(--accent);cursor:pointer}
button.show-all:hover{background:var(--hover)}
a.tile-link.active .tile{border-color:var(--brand);background:#fff}
#year-list{margin-top:12px}
th.sort-asc::after{content:" ▲";color:var(--brand);font-size:10px}th.sort-desc::after{content:" ▼";color:var(--brand);font-size:10px}
td.small{font-size:12px;max-width:420px}
.st{font-size:12px;padding:1px 6px;border-radius:8px}
.st.ok{background:#e3f5ea;color:var(--up)}.st.error{background:#fde8e6;color:var(--down)}.st.skipped{background:var(--warnbg);color:var(--warn)}
.grain{margin:12px 0;font-size:14px}.grain a{margin-left:6px}.grain a.active{font-weight:700;color:var(--text);text-decoration:none}
.chart{width:100%;height:auto;max-height:260px}
.chart .axis{stroke:var(--line)}.chart .lbl{font-size:11px;fill:var(--muted)}
.chart .line{fill:none;stroke-width:2}.chart .cur{stroke:var(--brand)}.chart .base{stroke:#b5b5b5;stroke-dasharray:4 3}
.legend{font-size:12px;color:var(--muted);margin-bottom:12px}
.sw{display:inline-block;width:14px;height:3px;margin:0 4px 3px 10px;vertical-align:middle}.sw.cur{background:var(--brand)}.sw.base{background:#b5b5b5}
tr.overdue td{background:#fdecea}
.filter-inline{display:flex;gap:12px;align-items:center;margin:0 0 10px;font-size:14px}
.filter-inline select{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:6px}
form.inline{display:inline-flex;gap:4px;flex-wrap:wrap;margin:2px 0;align-items:center}
form.inline button,form.inline input{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;cursor:pointer}
form.inline input{background:#fff;color:var(--text);border-color:var(--line);cursor:text}
form.inline button.secondary{background:#fff;color:var(--accent)}
a.tile-link{text-decoration:none;color:inherit;display:block}a.tile-link .tile:hover{border-color:var(--brand)}
a.tile-link .t-title{color:var(--brand-text)}
.login{max-width:340px;margin:40px auto;display:flex;flex-direction:column;gap:10px;background:var(--card);padding:20px;border:1px solid var(--line);border-radius:6px}
.login label{display:flex;flex-direction:column;font-size:13px;gap:4px}
.login label.login-remember{flex-direction:row;align-items:center;gap:8px;cursor:pointer}
.login label.login-remember input{width:16px;height:16px;padding:0;margin:0}
.err{color:var(--down)}
footer{text-align:center;font-size:12px;color:var(--muted);padding:16px}
@media (max-width:600px){.t-value{font-size:22px}main{padding:12px}h1{font-size:20px}}

/* План закупок */
.pp-dates{display:flex;flex-wrap:wrap;gap:6px 28px;margin:0 0 6px;font-size:15px}
table.pp td{vertical-align:top}
table.pp th{font-size:12px;white-space:normal}
.pp-group td{background:#eee;font-weight:700;color:var(--heading)}
.pp-group.lvl1 td{background:#f6f6f6;font-weight:600;padding-left:24px}
.pp-row{cursor:pointer}
.pp-row:hover td{background:var(--hover)}
.pp-row.pp-alert td,.pp-mini tr.pp-alert td{background:#fdeeee}
.pp-row.pp-alert:hover td{background:#fbe2e2}
.pp-toggle{display:inline-block;color:var(--muted);transition:transform .15s}
.pp-row.open .pp-toggle{transform:rotate(90deg)}
.pp-order{font-size:16px;text-align:right;white-space:nowrap}
.pp-detail>td{background:#fafafa;padding:12px 16px}
.pp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.pp-cols h3{margin:0 0 8px;font-size:15px}
table.pp-mini{font-size:13px;margin:0 0 8px;width:auto}
table.pp-mini td,table.pp-mini th{padding:3px 8px}
.pp-form{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:end;margin:8px 0;font-size:13px}
.pp-form label{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:12px}
.pp-form input,.pp-form button,.btn-light{font:inherit;padding:4px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}
.pp-form button[value=save]{background:var(--accent);color:#fff;border-color:var(--accent)}
.warn-text{color:var(--warn)}
/* План закупок — таблица с клетками-месяцами */
table.pp .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.pp td.pp-m,table.pp th.pp-m{min-width:46px;padding-left:6px;padding-right:6px}
table.pp .pp-T{border-left:3px solid var(--heading)}
table.pp th.pp-T{position:relative;padding-top:18px}
.pp-tlabel{position:absolute;top:2px;left:4px;font-size:10px;white-space:nowrap;color:var(--heading);font-weight:700}
td.cell-short{background:#fbe0e0;color:#8f1d1d;font-weight:600}
td.cell-by_new{background:#fff1cc;color:#7a5200}
td.cell-ok{background:#e3f4ec;color:#11553f}
.pp-sd{font-size:11px;font-weight:400}
.pp-row.st-short td:first-child{box-shadow:inset 3px 0 0 var(--down)}
.pp-row.pp-alert td{background:transparent}
.pp-q{display:inline-block;min-width:34px;padding:2px 8px;border-radius:4px;background:#fff1cc;color:#7a5200;font-weight:700;font-size:15px}
.pp-sup div{white-space:nowrap}
.pp-cover{min-width:150px}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}
.pp-chip{font:inherit;font-size:13px;padding:4px 12px;border-radius:14px;border:1px solid #d6d6d6;background:#fff;cursor:pointer;color:var(--text)}
.pp-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pp-chip.c-short:not(.on){color:#8f1d1d;border-color:#efb3b3;background:#fdf0f0}
.pp-chip.c-order:not(.on){color:#7a5200;border-color:#f0d199;background:#fff8e6}
.pp-chip.c-ok:not(.on){color:#11553f;border-color:#a9dcc6;background:#f0faf5}
/* План закупок — «Плывут» и «Прогнозируемый остаток на» */
table.pp th.pp-band{text-align:center;font-size:12px;color:var(--heading);border-bottom:1px solid #ddd}
table.pp .pp-tr{min-width:62px;padding-left:6px;padding-right:6px;background:#f5f8fc}
table.pp th.pp-tr{white-space:nowrap}
table.pp th.pp-tr .small{font-weight:400}
table.pp .pp-tr-start,table.pp .pp-m-start{border-left:2px solid #c9d3df}
table.pp .pp-sticky{position:sticky;left:0;z-index:1;background:var(--bg,#fff);min-width:190px}
.pp-row:hover td.pp-sticky{background:var(--hover)}
.pp-gname{position:sticky;left:12px}
.pp-log{white-space:pre-wrap;background:#fafafa;border:1px solid #eee;padding:8px;max-height:360px;overflow:auto}
table.pp th.pp-s{cursor:pointer;user-select:none}
table.pp th.pp-s:hover{color:var(--accent)}
table.pp th.pp-s::after{content:" ⇅";color:#bbb;font-weight:400}
table.pp th.pp-s.sort-asc::after{content:" ▲";color:var(--accent)}
table.pp th.pp-s.sort-desc::after{content:" ▼";color:var(--accent)}
.pp-sortbar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 6px}
table.pp .pp-ord-start{border-left:2px solid #c9d3df}
.pp-deadline{min-width:120px}
.pp-arrive{min-width:96px;white-space:nowrap}
.pp-arrive div{white-space:normal}
.pp-now{display:inline-block;padding:2px 6px;border-radius:4px;background:#fff1cc;color:#7a5200;font-weight:700}
.pp-newline{margin:0 0 6px;padding:6px 10px;border-left:3px solid var(--accent);background:#f3f7fb;font-size:14px}
.pp-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 18px;color:var(--muted)}
.pp-legend .sw{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-2px}
.pp-legend .sw.cell-short{background:#fbe0e0}.pp-legend .sw.cell-by_new{background:#fff1cc}.pp-legend .sw.cell-ok{background:#e3f4ec}
/* План закупок — цветные месяцы (чем закрыт расход) и закреплённая шапка */
.pp-wrap{max-height:calc(100vh - 24px);overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
table.pp-cov{table-layout:fixed;width:100%;min-width:900px;margin:0}
table.pp-cov thead{position:sticky;top:0;z-index:3}
table.pp-cov thead th{background:#fff;vertical-align:bottom;padding:4px 3px;text-align:center}
table.pp-cov thead th.pp-sticky{text-align:left;z-index:4}
table.pp-cov td{vertical-align:middle;padding:4px 3px}
table.pp-cov col.pp-c-name{width:230px}
table.pp-cov col.pp-c-num{width:58px}
table.pp-cov col.pp-c-cover{width:76px}
table.pp-cov col.pp-c-dl{width:84px}
table.pp-cov .pp-sticky{min-width:0;font-size:13px}
table.pp-cov .pp-cover,table.pp-cov .pp-deadline{min-width:0;text-align:center}
table.pp-cov .pp-order{font-size:14px;text-align:center}
.pp-legend-row th{text-align:left !important;font-weight:400;border-bottom:1px solid var(--line);padding:6px 8px !important}
.pp-key{display:inline-flex;align-items:center;gap:5px;margin:2px 14px 2px 0;font-size:12px;color:var(--text);white-space:nowrap}
.pp-key i{display:inline-block;width:16px;height:12px;border-radius:2px;background:#ddd}
.pp-key-off{color:var(--muted)}
.pp-key-off i{background:repeating-linear-gradient(45deg,#ddd 0 3px,#f4f4f4 3px 6px)}
th.pp-mh{font-size:12px;font-weight:600}
table.pp-cov .pp-mh-T{box-shadow:inset 2px 0 0 #222,inset -2px 0 0 #222}
th.pp-mh.pp-mh-T{box-shadow:inset 2px 0 0 #222,inset -2px 0 0 #222,inset 0 2px 0 #222}
.pp-bar{display:flex;height:20px;border-radius:3px;overflow:hidden;background:#f1f1f1}
.pp-bar span{display:block;height:100%}
.pp-nocells{text-align:left;padding-left:8px !important}
.src-s{background:#b5dd8a !important}
.src-x{background:#ff2a2a !important}
.src-c0{background:#afa9ec !important}
.src-c1{background:#ed93b1 !important}
.src-c2{background:#85b7eb !important}
.src-c3{background:#fac775 !important}
.src-c4{background:#5dcaa5 !important}
.src-c5{background:#f0997b !important}
table.pp-cov .pp-now{background:none;padding:0;color:#d40000;font-weight:700}
