/* Поверх Pico.css: компактнее и удобнее с телефона */
:root { --pico-font-size: 100%; --gm-primary: #1f4e79; }
.brand { font-weight: 700; text-decoration: none; }
.nav-links { flex-wrap: wrap; }
.nav-links a { padding: 0.4rem 0.5rem; }
.inline { display: inline; margin: 0; }
button.small, .button.small { padding: 0.3rem 0.7rem; font-size: 0.85rem; margin: 0; width: auto; }
.muted { color: var(--pico-muted-color); font-size: 0.9rem; }
.badge { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 1rem; font-size: 0.8rem;
         background: var(--pico-secondary-background); color: var(--pico-secondary-inverse); }
.badge.ok { background: #2e7d32; color: #fff; }
.badge.warn { background: #f2a900; color: #1b1f24; }
.flash { padding: 0.6rem 1rem; border-radius: var(--pico-border-radius); margin-bottom: 1rem; }
.flash.ok { background: #e8f5e9; color: #1b5e20; }
.flash.err { background: #fdecea; color: #b71c1c; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.8rem; }
.stats article { margin: 0; padding: 0.8rem 1rem; }
.stats b { display: block; font-size: 1.6rem; }

/* Строки прайса: карточки на телефоне, строка на широком экране */
.rows { display: flex; flex-direction: column; gap: 0.35rem; }
.row { display: grid; grid-template-columns: 1fr; gap: 0.4rem; padding: 0.6rem 0;
       border-bottom: 1px solid var(--pico-muted-border-color); align-items: center; }
.row input, .row select { margin: 0; padding: 0.35rem 0.5rem; height: auto; }
.row .name { font-weight: 500; }
.row .ctrls { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.row .ctrls input[type=text] { width: 7.5rem; }
.row .ctrls select { width: 6rem; }
.row.saved { background: #e8f5e9; transition: background 1.5s; }
.row.disabled .name { color: var(--pico-muted-color); text-decoration: line-through; }
@media (min-width: 768px) { .row { grid-template-columns: 1fr auto; } }
details.group summary { font-weight: 600; }
table.tight td, table.tight th { padding: 0.35rem 0.5rem; font-size: 0.92rem; }
.num { text-align: right; white-space: nowrap; }
.dims { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.dims label { font-size: 0.85rem; margin: 0; }
.dims input { margin: 0.2rem 0 0.6rem; }
