/* AdminWash/YetiWash — небольшие дополнения поверх YetiWash style.css (Pico 2).
   Базовый дизайн полностью из style.css; здесь только то, чего там нет. */

/* ----- Экран входа ----- */
.aw-login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.aw-login-card { width: 340px; max-width: 100%; }
.aw-login-brand { font-size: 1.9rem; font-weight: 800; text-align: center; letter-spacing: -0.015em; line-height: 1; }
.aw-login-sub { text-align: center; color: var(--cw-muted); margin: 0.4rem 0 1.1rem; }
.aw-pin { text-align: center; font-size: 1.5rem; letter-spacing: 0.55rem; }

/* ----- Сетка постов (KPI-тайлы) ----- */
.aw-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 0.8rem; }
.aw-posts article { margin: 0; padding: 0.85rem 1rem; }
.aw-post-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.15rem; }
.aw-post-name { font-weight: 600; }
.aw-post-id { margin-left: auto; color: var(--cw-muted); font-size: 0.8rem; }
.aw-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.aw-dot-on { background: var(--cw-positive); }
.aw-dot-off { background: var(--cw-negative); }
.aw-post.is-offline { opacity: 0.62; }
.aw-post-meta { color: var(--cw-muted); font-size: 0.85rem; margin-top: 0.35rem; }
.aw-post-meta div { margin-top: 0.1rem; }

/* ----- Заголовок страницы и контролы ----- */
.aw-page-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0.4rem 0 1rem; }
.aw-page-head h2 { margin: 0; }
.aw-controls { display: flex; gap: 1rem; align-items: end; flex-wrap: wrap; margin-bottom: 1rem; }
.aw-controls .dates { display: flex; gap: 0.5rem; align-items: end; }
.aw-controls label { margin: 0; }

/* ----- Флеш-сообщения ----- */
.aw-flash-ok { color: var(--cw-positive); font-weight: 600; }
.aw-flash-err { color: var(--cw-negative); font-weight: 600; }
.aw-ok { color: var(--cw-positive); }

/* ----- HTMX индикатор ----- */
.htmx-indicator { opacity: 0; transition: opacity 0.2s; color: var(--cw-muted); }
.htmx-request .htmx-indicator, .htmx-indicator.htmx-request { opacity: 1; }

/* Компактные инпуты внутри таблиц (правка цен/привязок) */
table .aw-inp { margin: 0; padding: 0.3rem 0.5rem; }
table .aw-inp.cw-num { text-align: right; max-width: 130px; }
.aw-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 760px) { .aw-grid-2 { grid-template-columns: 1fr; } }
