/* Палитра и шрифтовой стек корпоративного приложения. Локальные системные замены без CDN. */
:root{--olive:#8E8E70;--olive-d:#6E6E55;--ink:#29221C;--beige:#DBD2CA;--milk:#FCF9F9;--berry:#E31E24;--leaf:#009846;--amber:#B8860B;--line:#E6E1DB;--muted:#69635d;--safe-top:calc(var(--tg-content-safe-area-inset-top,0px) + var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)));--safe-bottom:max(var(--tg-safe-area-inset-bottom,0px),env(safe-area-inset-bottom,0px))}

*{box-sizing:border-box}
html,body{margin:0;background:var(--milk);color:var(--ink);font:15px/1.45 "IBM Plex Sans",-apple-system,system-ui,sans-serif}
body{min-width:320px}
/* Пока Telegram обновляет safe-area после разворота, оставляем место под его кнопки. */
body.tg-fs{--safe-top:calc(max(56px,var(--tg-content-safe-area-inset-top,0px)) + var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)))}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600}
button.primary,.button.primary{background:var(--olive-d);color:#fff;border-color:var(--olive-d)}
button.danger{color:var(--berry)}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.brand-title,h1{font-family:"Playfair Display",Georgia,serif}
.brand-title{font-size:22px;font-weight:600}
h1{font-size:29px;line-height:1.2;margin:8px 0 16px}
h2{font-size:18px;margin:14px 0 8px}
h3{font-size:16px;margin:8px 0}
p{margin:8px 0}
.muted,.meta{color:var(--muted);font-size:13px}
#header{position:sticky;top:0;background:var(--milk);z-index:4;border-bottom:1px solid var(--line);padding:calc(10px + var(--safe-top)) 16px 10px}
.header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
#nav{display:flex;gap:8px;margin-top:10px;overflow:auto}
#nav button{white-space:nowrap}
#nav [aria-current=page]{background:var(--ink);color:#fff}
#main{padding:18px 16px calc(32px + var(--safe-bottom))}
#main.has-audit-bar{padding-bottom:calc(128px + var(--safe-bottom))}
.audit-bar{position:fixed;bottom:0;left:0;right:0;z-index:5;max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px calc(12px + var(--safe-bottom));background:var(--milk);border-top:1px solid var(--line)}
.audit-bar span{font-size:13px;font-weight:600}
.audit-bar button{max-width:200px}
.finish-submit{width:100%;min-height:56px;font-size:17px;margin-bottom:16px}
.test-fill{display:block;width:100%;margin-top:24px;border-style:dashed}
#main,#header>*,#notice{max-width:1040px;margin-left:auto;margin-right:auto}
.card,.empty{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:10px 0;overflow-wrap:anywhere}
.empty{border-style:dashed;color:var(--muted)}
.row,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
.actions{margin-top:14px}
.actions>*{flex:1}
.block{width:100%;display:block;text-align:left;margin:8px 0;padding:16px}
.block strong,.block span{display:block}
.block span{font-size:13px;color:var(--muted);margin-top:6px}
.badge{display:inline-block;border-radius:999px;background:#f1f0e9;color:var(--olive-d);padding:4px 9px;font-size:12px;font-weight:600}
.severity-k,.status-overdue,.status-not_done,.status-fill{background:#fde8e9;color:#ac1117}
.severity-z{background:#fff3d5;color:#815c00}
.status-done{background:#e6f4ec;color:#007738}
.criteria{scroll-margin-top:160px}
.criteria .answer-buttons{display:grid;gap:7px;margin:14px 0;grid-template-columns:1fr}
.answer-buttons button{justify-content:flex-start}
.answer-buttons [aria-pressed=true]{background:var(--olive-d);color:#fff;border-color:var(--olive-d)}
.answer-buttons .nc[aria-pressed=true]{background:#b4151b;border-color:#b4151b}
.answer-buttons .na[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
.progress-head{display:flex;justify-content:space-between;gap:12px}
.progress-head strong{font-size:23px}
progress{width:100%;height:14px;accent-color:var(--olive-d);margin:8px 0}
.field{display:block;margin:12px 0}
.field>span{display:block;margin-bottom:5px;font-size:13px;font-weight:600}
input:not([type=file]),select,textarea{display:block;width:100%;min-height:44px;border:1px solid var(--beige);border-radius:9px;background:#fff;color:var(--ink);padding:10px}
textarea{min-height:85px;resize:vertical}
input[type=file]{display:block;max-width:100%;margin:8px 0}
#notice{position:sticky;top:calc(120px + var(--safe-top));z-index:6;background:#fff3d5;padding:12px 16px;border:1px solid var(--amber);border-radius:10px}
#notice button{margin-left:10px}
dialog{color:var(--ink);border:0;padding:0;background:var(--milk)}
dialog::backdrop{background:rgba(41,34,28,.6)}
#sheet{position:fixed;inset:auto 0 0;width:100%;max-width:700px;max-height:90dvh;margin:0 auto;border-radius:18px 18px 0 0;padding:18px 16px calc(24px + var(--safe-bottom));overflow:auto}
body:has(dialog[open]){overflow:hidden}
.photos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.photo{width:92px}
.photo button{width:100%;padding:3px}
.photo img{display:block;width:84px;height:84px;object-fit:cover;border-radius:7px}
.photo .remove{font-size:12px;margin-top:4px}
.category{font-size:64px;font-weight:700;line-height:1}
.category-a{color:#007738}
.category-b{color:var(--olive-d)}
.category-c{color:#815c00}
.category-d{color:#b4151b}
.result{font-size:32px;font-weight:700}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}
td:last-child{white-space:nowrap}
svg.chart{display:block;width:100%;height:auto;margin:12px 0}
.chart text{font:13px system-ui;fill:var(--ink)}
#viewer{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;background:#171412;color:#fff;margin:0;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}
#viewer-content{height:100%;display:flex;flex-direction:column;gap:12px}
#viewer img{width:100%;min-height:0;flex:1;object-fit:contain;touch-action:pan-y}
.viewer-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.viewer-image img{max-height:75dvh}
.hidden,[hidden]{display:none!important}
@media(min-width:600px){.criteria .answer-buttons{grid-template-columns:repeat(3,1fr)}
.answer-buttons button{justify-content:center}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
}
@media(min-width:900px){#main{padding-top:28px}
h1{font-size:34px}
.blocks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.block{margin:0}
.criteria{padding:22px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}


.pdf-secondary{font-size:13px;padding:7px 10px}
