/* Hauskonto: nur Aufbau, Farben und Tabellen kommen aus hms-stil.css */
body { margin: 0; padding: 16px 20px 40px; background: #fff; }
.kopf { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 28px; margin-bottom: 14px; }
.kopf > div:first-child { flex: 1 1 320px; }
nav button, .knoepfe button, .leiste select, .leiste input, .leiste button {
  font: 400 13px/1 var(--hs-schrift); color: var(--hs-tinte); background: #fff; border: 1px solid var(--hs-gitter);
  height: 30px; padding: 0 12px; cursor: pointer; }
nav { display: flex; }
nav button { margin-right: -1px; }
nav button.an { background: var(--hs-flaeche); font-weight: 700; box-shadow: inset 0 -2px 0 var(--hs-kopf); }
.knoepfe { display: flex; gap: 6px; }
.rahmen { overflow-x: auto; max-width: 100%; }
.zwei { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 20px; align-items: start; }
@media (max-width: 900px) { .zwei { grid-template-columns: 1fr; } .zwei aside { order: -1; } }
aside .hs-kenn { display: flex; flex-direction: column; width: 100%; }
aside .hs-kenn > div { min-width: 0; margin: 0 0 -1px 0; }
.leiste { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; align-items: center; }
.leiste input[type=search] { cursor: text; min-width: 220px; }
.leiste label { font-size: 13px; display: flex; align-items: center; gap: 5px; cursor: pointer; }
table.hs td.zelle { cursor: pointer; }
table.hs td.zelle:hover { background: var(--hs-stell); }
table.hs td.null { color: var(--hs-gitter); }
table.hs th.sort { cursor: pointer; user-select: none; }
table.hs th.sort.auf::after { content: " ▲"; font-size: 9px; }
table.hs th.sort.ab::after { content: " ▼"; font-size: 9px; }
table.hs tr.aussen td { color: #6b6b6b; }
table.hs td.text { max-width: 520px; overflow: hidden; text-overflow: ellipsis; }
a { color: var(--hs-summe); }
.belegt { background: var(--hs-schalter); }
.fehlt { background: var(--hs-rot); }
h2 { font: 700 14px/1.2 var(--hs-schrift); color: var(--hs-tinte); margin: 22px 0 6px; }
@media print {
  body { padding: 0; }
  nav, .knoepfe, .leiste { display: none; }
  .zwei { grid-template-columns: 1fr; }
  .rahmen { overflow: visible; }
  table.hs { font-size: 8pt; }
  table.hs td.text { max-width: none; white-space: normal; }
}
