.push-wrap { width:min(1200px,100%); color:#293e37; font-family:Arial,sans-serif; }
.push-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:18px; align-items:start; }
.push-card { min-width:0; background:#fff; border:1px solid #d9e0da; border-radius:12px; padding:14px; box-shadow:0 8px 25px #233e3308; }
.push-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.push-toolbar p { color:#82735b; font-size:13px; margin:0; }
.push-wrap button { font:inherit; cursor:pointer; border:1px solid #d9cfbe; border-radius:7px; padding:8px 12px; background:#f5f1e9; color:#514535; }
.push-wrap .push-add { background:#ad744c; border-color:#99633e; color:#fff; white-space:nowrap; font-size:12px; }
.push-wrap button:hover { filter:brightness(.96); }
.push-wrap button:disabled { opacity:.35; cursor:default; }
.push-scroll { overflow-x:auto; }
.push-table { width:100%; min-width:650px; border-collapse:separate; border-spacing:0; font-variant-numeric:tabular-nums; }
.push-table th { font-size:11px; background:#314d42; color:#f1f5ed; padding:10px 5px; text-align:center; }
.push-table th:first-child { text-align:left; border-radius:8px 0 0 0; }
.push-table th:last-child { border-radius:0 8px 0 0; }
.push-table td { padding:4px; border-bottom:1px solid #e8ece6; text-align:center; }
.push-table tbody tr:nth-child(even) { background:#faf8f3; }
.push-table input { box-sizing:border-box; width:100%; min-width:72px; height:29px; border:1px solid #dbe2d9; border-radius:5px; background:#fff; color:#293e37; font:inherit; font-size:12px; text-align:right; padding:4px 5px; }
.push-table input[type=text] { min-width:105px; text-align:left; }
.push-table input:focus-visible, .push-wrap button:focus-visible { outline:2px solid #a58244; outline-offset:2px; }
.push-table input:invalid { border-color:#b94545; }
.push-table output { font-size:12px; font-weight:700; white-space:nowrap; }
.push-table tbody button { padding:4px 8px; height:27px; }
.push-table tfoot th, .push-table tfoot td { background:#e8efdf; color:#3a4b2f; padding:14px 8px; font-weight:700; }
.push-table tfoot td:nth-last-child(2) { background:#314d42; color:white; }
.push-table tfoot td, .push-table tfoot th { font-size:12px; padding:12px 5px; }
.push-reader { background:#eeeae1; border:1px solid #dfd7c8; border-top:3px solid #ad744c; border-radius:12px; padding:16px; }
.push-reader h2 { font-size:16px; margin:0 0 22px; }
.push-reader input { box-sizing:border-box; width:100%; padding:9px; margin-bottom:16px; border:1px solid #d9d3c7; border-radius:7px; font:inherit; font-size:13px; }
.push-reader-expanded { position:fixed; inset:65px 24px 24px; z-index:10000; overflow:auto; box-shadow:0 12px 80px #0006; }
.push-reader-expanded textarea { height:calc(100vh - 400px); min-height:150px; }
.push-status:empty { display:none; }
.push-wrap .push-repeats { width:100%; margin-bottom:16px; background:#f6d9d6; border-color:#c77a70; color:#7c2922; font-size:12px; line-height:1.5; white-space:nowrap; padding-inline:6px; }
.push-wrap .push-repeats[aria-pressed="true"] { background:#dcefd7; border-color:#79a76b; color:#2d5821; }
.push-reader label { display:block; color:#6d7266; font-size:11px; font-weight:700; margin-bottom:8px; }
.push-reader textarea { box-sizing:border-box; width:100%; min-height:180px; resize:vertical; border:1px solid #d9d3c7; border-radius:7px; background:#fffcf7; padding:10px; font:12px/1.6 Arial,sans-serif; color:#293e37; }
.push-reader-actions { display:flex; gap:8px; margin-top:10px; }
.push-reader-actions button:first-child { flex:1; background:#314d42; color:white; }
.push-reader p { color:#727366; font-size:11px; line-height:1.6; margin:14px 0 0; }
@media(max-width:1150px) { .push-layout { grid-template-columns:minmax(0,1fr); } .push-reader textarea { min-height:90px; } }
.push-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:800px) { .push-card { padding:12px; } .push-toolbar { flex-wrap:wrap; } }

.push-mode-tabs { display:flex; justify-content:center; gap:8px; margin:-8px 0 18px; }
.push-mode-tabs button { min-width:150px; font-weight:700; background:#eeeae1; }
.push-mode-tabs button.active { background:#314d42; border-color:#314d42; color:#fff; }
