:root { --bg:#f6f7f9; --card:#fff; --line:#dfe3e8; --ink:#1c1f24; --muted:#6b7280; --acc:#2f6feb; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
       font:15px/1.5 -apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.topbar { display:flex; align-items:center; gap:16px; padding:12px 24px;
          background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:600; text-decoration:none; color:var(--ink); }
.topbar nav { margin-left:auto; display:flex; align-items:center; gap:16px; }
main { max-width:960px; margin:0 auto; padding:24px; }
h1 { font-size:22px; } h2 { font-size:17px; margin-top:28px; }
a { color:var(--acc); }
.hint { color:var(--muted); font-size:13px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:20px; }
.narrow { max-width:380px; }
.card label { display:block; margin-bottom:14px; }
.card input { display:block; width:100%; padding:8px; margin-top:4px;
              border:1px solid var(--line); border-radius:6px; }
button { padding:8px 16px; border:0; border-radius:6px; background:var(--acc);
         color:#fff; cursor:pointer; font-size:14px; }
.linklike { background:none; color:var(--acc); padding:0; }
.inline { display:inline; }
.msg { padding:10px 14px; border-radius:8px; background:#eef4ff; margin-bottom:16px; }
.msg.error { background:#ffeceb; }
.toolbar { display:flex; gap:14px; align-items:center; margin:16px 0; }
.toolbar .spacer { flex:1; }
.toolbar .active { font-weight:600; }
.tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.rows .tile { margin-bottom:12px; }
.tile { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; }
.tile h3 { margin:0 0 8px; font-size:16px; }
.grid { width:100%; border-collapse:collapse; background:var(--card); }
.grid th, .grid td { border:1px solid var(--line); padding:8px 10px; text-align:left; }
ul.plain, ol.stages, ul.feed { list-style:none; padding:0; }
ol.stages li, ul.feed li { background:var(--card); border:1px solid var(--line);
                           border-radius:8px; padding:10px 14px; margin-bottom:8px; }
.stage.approved { border-left:3px solid #2f9e44; }
.stage.active { border-left:3px solid var(--acc); }
.stage.rejected { border-left:3px solid #d64545; }
.tag { background:#eef2f7; border-radius:4px; padding:1px 6px; font-size:12px; color:var(--muted); }

/* Условия согласования и отметка о правке — обязаны бросаться в глаза */
.banner { border-radius:10px; padding:14px 16px; margin:16px 0; border:1px solid; }
.banner ul { margin:8px 0 6px; padding-left:20px; }
.banner.conditions { background:#fff8e6; border-color:#f0c36d; }
.banner.changed { background:#fdeceb; border-color:#e8a09a; }
.banner.info { background:#eef4ff; border-color:#b9cdf5; }
.banner .ok { color:#2f9e44; font-size:13px; }
.banner .warn { color:#b54708; font-size:13px; }
.badge { background:#f0c36d; color:#5c3d00; border-radius:4px; padding:1px 6px; font-size:12px; }
.verdict { font-size:13px; margin-top:4px; }
li.revision { border-left:3px solid #f0c36d; padding-left:8px; }
.feed .ev-condition, .feed .ev-revision { border-left:3px solid #f0c36d; }
.feed .ev-decision { border-left:3px solid #2f9e44; }
.feed .ev-info_requested { border-left:3px solid var(--acc); }
