:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.4;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f6f6f6;color:#222}a{color:inherit}header,main{max-width:1280px;margin:auto;padding:20px}header{padding-bottom:6px}h1{margin-bottom:0}header p{margin-top:4px}.toolbar{display:flex;gap:14px;align-items:center;margin:12px 0 20px}.toolbar #search{flex:1;margin:0}#search,input,textarea{width:100%;padding:12px 14px;font:inherit;border:1px solid #bbb;border-radius:9px;background:white}.count{white-space:nowrap;color:#555}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.card,.panel{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.09)}.card img{width:100%;height:240px;object-fit:contain;background:#eee;display:block}.image-link{display:block}.body{padding:14px}.body h2{font-size:1.15rem;margin:0 0 8px}.body h2 a{text-decoration:none}.body p{margin:5px 0}.warn{font-weight:700}.meta{font-size:.9rem;color:#555}.button,button{display:inline-block;padding:10px 14px;border:1px solid #999;border-radius:9px;background:#fff;color:#222;text-decoration:none;font:inherit;cursor:pointer}.button.small{padding:7px 10px;margin-top:10px}.primary{background:#222;color:white;border-color:#222}.notice{padding:12px 15px;border-radius:9px;margin:0 0 16px;background:white;border:1px solid #bbb}.notice.ok{border-left:5px solid #555}.notice.error{border-left:5px solid #222;font-weight:700}.edit-layout{display:grid;grid-template-columns:minmax(300px,38%) 1fr;gap:22px;align-items:start}.panel{padding:20px}.art-preview img{width:100%;max-height:520px;object-fit:contain;background:#eee;border-radius:8px}.art-preview h2{margin-bottom:8px}.art-preview p{margin:6px 0}.art-preview details{margin-top:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-weight:600}.form-grid input,.form-grid textarea{margin-top:6px;font-weight:400}.form-grid small{display:block;font-weight:400;color:#666;margin-top:5px}.span-2{grid-column:1/-1}.form-actions{display:flex;gap:10px;margin-top:20px}.topbar a{text-decoration:none}.edit-form h2{margin-top:0}
@media(max-width:800px){header,main{padding:14px}.edit-layout{grid-template-columns:1fr}.art-preview img{max-height:440px}.toolbar{align-items:stretch;flex-direction:column}.count{white-space:normal}}
@media(max-width:600px){.grid{grid-template-columns:1fr}.card{display:grid;grid-template-columns:42% 58%}.card img{height:100%;min-height:190px}.body{padding:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{position:sticky;bottom:0;background:white;padding:12px 0 2px}.panel{padding:15px}}
.app-nav{margin:0 0 14px}.table-panel{margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #ddd;vertical-align:top}th{white-space:nowrap}.filter-check{display:flex;align-items:center;gap:7px;white-space:nowrap}.filter-check input{width:auto}.curation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.curation-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.09);border:2px solid transparent}.curation-card.is-selected{border-color:#777}.curation-card>img{width:100%;height:260px;object-fit:contain;background:#eee}.curation-form{padding:15px}.curation-form h2{margin:0 0 5px}.meta-line{margin:0 0 12px;color:#555}.status-row{display:grid;grid-template-columns:1fr 145px;gap:10px;align-items:center;margin:10px 0}.switch-label{display:flex;gap:8px;align-items:center;font-weight:700}.switch-label input{width:auto}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.curation-form label{font-weight:600}.curation-form label input,.curation-form label textarea{margin-top:5px;font-weight:400}.art-note{padding:9px;background:#f1f1f1;border-radius:8px;font-size:.92rem}.curation-form button{margin-top:10px}
@media(max-width:600px){.curation-grid{grid-template-columns:1fr}.curation-card>img{height:230px}.status-row{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr}.table-panel{padding:10px}th,td{padding:9px 7px}}

/* v0.4: Anmeldung, Sync und Status */
header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.status-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.25rem}
.status-card strong{font-size:1.7rem}.status-card span{font-size:.9rem;color:#555}
.panel{background:#fff;border:1px solid #ddd;border-radius:12px;padding:1rem;margin:1rem 0}
.sync-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem}.sync-panel h2{margin-top:0}
.notice{padding:.85rem 1rem;border-radius:10px;margin:1rem 0;border:1px solid #ccc}.notice.success{background:#eef8ef}.notice.warn{background:#fff4e5}
.login-page{min-height:100vh;display:grid;place-items:center}.login-wrap{width:min(420px,calc(100% - 2rem));margin:0}.login-panel form{display:grid;gap:1rem}.login-panel label{display:grid;gap:.35rem}.login-panel input{width:100%;box-sizing:border-box;padding:.75rem}
@media (max-width:900px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-panel{align-items:stretch;flex-direction:column}.sync-panel form .button{width:100%}}
@media (max-width:520px){header{align-items:flex-start}.status-grid{grid-template-columns:1fr 1fr}.status-card{padding:.8rem}.status-card strong{font-size:1.4rem}}

/* v0.5: komfortablere Kuratierung */
.curation-toolbar select{padding:12px 14px;border:1px solid #bbb;border-radius:9px;background:#fff;font:inherit;min-width:240px}.preview-button{display:block;width:100%;padding:0;border:0;border-radius:0;background:#eee}.preview-button img{display:block;width:100%;height:260px;object-fit:contain}.curation-card.is-prepared{border-color:#333}.image-modal{width:min(94vw,1100px);max-height:94vh;border:0;border-radius:14px;padding:18px;box-shadow:0 10px 50px rgba(0,0,0,.35)}.image-modal::backdrop{background:rgba(0,0,0,.72)}.image-modal img{display:block;width:100%;height:min(76vh,800px);object-fit:contain}.image-modal h2{margin:10px 40px 0 0}.modal-close{position:absolute;right:12px;top:10px;font-size:1.8rem;line-height:1;padding:6px 11px;background:#fff}.curation-card .primary{min-height:44px}
@media(max-width:800px){.curation-toolbar select{width:100%;min-width:0}.preview-button img{height:240px}}
@media(max-width:600px){.preview-button img{height:230px}.curation-form input,.curation-form textarea,.curation-form button{font-size:16px}.switch-label{min-height:44px}.switch-label input{width:22px;height:22px}}
.issue-list{display:grid;gap:12px}.issue-item{border:1px solid #ddd;border-radius:10px;padding:14px;background:#fff}.issue-item h3{margin-top:0}.issue-item p{margin:.4rem 0}

/* v1.1: Kategorien und Verkaufsstatus */
.sold-badge{display:inline-block;font-weight:800;letter-spacing:.04em;padding:5px 9px;border:2px solid #333;border-radius:8px;margin:6px 0;background:#f2f2f2}.status-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:900px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v13: Ausstellungsübersicht */
.summary-thumb{width:92px;height:92px;object-fit:contain;background:#eee;border-radius:6px}.summary-table td{vertical-align:middle}.sold-badge.compact{font-size:.72rem;padding:2px 5px;border-width:1px}.summary-status .status-card strong{font-size:1.35rem}.summary-table small{color:#555}
@media(max-width:700px){.summary-table{min-width:900px}.summary-thumb{width:70px;height:70px}}
@media print{.no-print,.topbar p a{display:none!important}body{background:#fff}header,main{max-width:none;padding:8px}.panel,.status-card{box-shadow:none;border:1px solid #bbb}.summary-status{grid-template-columns:repeat(6,1fr);gap:5px}.status-card{padding:7px}.status-card strong{font-size:1rem}.status-card span{font-size:.7rem}.summary-table{font-size:9pt}.summary-thumb{width:55px;height:55px}th,td{padding:5px}.table-wrap{overflow:visible}}


/* v15: Hängungs- und Raumplanung */
.hanging-room{margin:1.5rem 0 2rem}.hanging-room>h2{border-bottom:2px solid #333;padding-bottom:.4rem}.hanging-wall{margin:1rem 0 1.8rem}.hanging-wall h3{margin:.6rem 0}.hanging-wall h3 small{font-weight:400;color:#666}.hanging-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.hanging-card{position:relative;background:#fff;border:1px solid #ccc;border-radius:10px;overflow:hidden;break-inside:avoid}.hanging-card img{display:block;width:100%;height:190px;object-fit:contain;background:#eee}.hanging-body{padding:10px;display:grid;gap:3px}.hanging-body span{font-size:.9rem;color:#555}.hanging-body p{margin:.4rem 0 0;font-size:.88rem}.hanging-order{position:absolute;top:8px;left:8px;min-width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #333;display:grid;place-items:center;font-weight:800;z-index:2}.hanging-help{font-size:.92rem}
@media(max-width:600px){.hanging-grid{grid-template-columns:1fr 1fr}.hanging-card img{height:150px}}
@media(max-width:420px){.hanging-grid{grid-template-columns:1fr}}
@media print{.hanging-room{page-break-after:auto}.hanging-wall{break-inside:avoid}.hanging-grid{grid-template-columns:repeat(4,1fr);gap:6px}.hanging-card img{height:115px}.hanging-body{padding:6px;font-size:8.5pt}.hanging-body span,.hanging-body p{font-size:7.5pt}.hanging-order{width:24px;height:24px;min-width:24px;font-size:8pt}.hanging-room>h2{font-size:15pt}.hanging-wall h3{font-size:11pt}}

.post-exhibition{border-top:1px solid #ddd;padding-top:.65rem;margin-top:.35rem}

/* v17: Ausstellungsabschluss */
.status-card.status-warning { border: 2px solid currentColor; }
.status-card.status-ok { border: 2px solid currentColor; }
.closeout-banner { margin-bottom: 1rem; }
.closeout-banner h2 { margin-top: 0; }
.closeout-cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); }
.closeout-card { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; border: 1px solid #d7d7d7; border-radius: 12px; padding: .8rem; background: #fff; }
.closeout-card img { width: 110px; height: 110px; object-fit: contain; background: #f4f4f4; border-radius: 8px; }
.closeout-card h3 { margin: 0 0 .35rem; }
.issue-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0; }
.issue-badge { display: inline-block; border: 1px solid currentColor; border-radius: 999px; padding: .25rem .55rem; font-weight: 700; font-size: .9rem; }
@media (max-width: 600px) { .closeout-card { grid-template-columns: 82px 1fr; } .closeout-card img { width:82px; height:82px; } }

/* v18: Auswertungen, Abschlussprotokoll und CSV-Export */
.protocol-grid{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1rem;margin:0}.protocol-grid dt{font-weight:700}.protocol-grid dd{margin:0}.protocol-notes{min-height:250px}.protocol-lines{height:140px;background:repeating-linear-gradient(to bottom,transparent,transparent 27px,#bbb 28px);margin:1rem 0}.topbar p a{white-space:nowrap}
@media(max-width:600px){.protocol-grid{grid-template-columns:1fr}.protocol-grid dd{margin-bottom:.6rem}.topbar{display:block}.topbar .button{margin-top:.7rem}}
@media print{.protocol-notes{page-break-inside:avoid}.protocol-lines{height:110px}.protocol-grid{font-size:10pt}}

/* v19: zentrale kompakte Darstellung – 2026-08-26
   Ziel:
   - Übersichten und Listen deutlich kompakter
   - Kuratierungs-Bildkarten mittelgroß und gut bedienbar
   - Einzelansicht Kunstwerk weiterhin groß
*/

/* Allgemeine Verdichtung */
header, main{
  max-width:1440px;
  padding:14px 16px;
}
header{padding-bottom:4px}
h1{margin-top:.2rem}
.panel{
  padding:.8rem;
  margin:.7rem 0;
}
.button,button{
  padding:8px 11px;
  border-radius:8px;
}
.button.small{
  padding:5px 8px;
  margin-top:6px;
}
input,textarea,#search{
  padding:9px 11px;
}
.toolbar{
  gap:10px;
  margin:8px 0 12px;
}

/* Statuskarten und allgemeine Tabellen kompakter */
.status-grid{
  gap:.4rem;
  margin:.55rem 0;
}
.status-card{
  padding:.55rem .7rem;
  border-radius:10px;
  min-height:0;
}
.status-card strong{
  font-size:1.2rem;
  line-height:1.05;
}
.status-card span{
  font-size:.76rem;
  line-height:1.1;
}
.table-panel{margin-top:.7rem}
th,td{
  padding:6px 8px;
  line-height:1.15;
}
th{font-size:.82rem}
td{font-size:.88rem}

/* Kunstwerk-Übersicht: kleinere Karten */
.grid{
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:12px;
}
.card img{
  height:180px;
}
.body{
  padding:10px;
}
.body h2{
  font-size:1.02rem;
  margin-bottom:5px;
}
.body p{
  margin:3px 0;
  font-size:.88rem;
}
.meta{font-size:.8rem}

/* Kuratierung: bewusst etwas größer als reine Übersichten */
.curation-grid{
  grid-template-columns:repeat(auto-fill,minmax(275px,1fr));
  gap:14px;
}
.curation-card>img,
.preview-button img{
  height:150px;
}
.curation-form{
  padding:12px;
}
.curation-form h2{
  font-size:1.12rem;
}
.meta-line{
  margin-bottom:8px;
  font-size:.84rem;
}
.status-row{
  grid-template-columns:1fr 125px;
  gap:8px;
  margin:7px 0;
}
.mini-grid{
  gap:8px;
}
.curation-form label{
  font-size:.9rem;
}
.curation-form label input,
.curation-form label textarea,
.curation-form select{
  margin-top:4px;
}
.curation-toolbar select{
  padding:9px 11px;
  min-width:200px;
}
.curation-card .primary{
  min-height:38px;
}

/* Ausstellungsübersicht / Listen */
.summary-thumb{
  width:56px;
  height:56px;
}
.summary-status{
  gap:.35rem;
  margin:.35rem 0 .55rem;
}
.summary-status .status-card{
  padding:.45rem .55rem;
}
.summary-status .status-card strong{
  font-size:1.05rem;
}
.summary-status .status-card span{
  font-size:.68rem;
}
.summary-table th,
.summary-table td{
  padding:.3rem .4rem;
}
.summary-table th{
  font-size:.7rem;
}
.summary-table td{
  font-size:.78rem;
}
.summary-table small{
  font-size:.66rem;
}

/* Hängungsplan kompakter */
.hanging-room{margin:1rem 0 1.4rem}
.hanging-wall{margin:.7rem 0 1.2rem}
.hanging-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
}
.hanging-card img{
  height:145px;
}
.hanging-body{
  padding:7px;
}
.hanging-body span,
.hanging-body p{
  font-size:.8rem;
}

/* Abschlusskarten kompakter */
.closeout-cards{
  gap:.65rem;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.closeout-card{
  grid-template-columns:85px 1fr;
  gap:.65rem;
  padding:.6rem;
}
.closeout-card img{
  width:85px;
  height:85px;
}
.issue-badge{
  font-size:.78rem;
  padding:.18rem .42rem;
}

/* Einzelansicht Kunstwerk bewusst groß lassen */
.edit-layout{
  grid-template-columns:minmax(300px,36%) 1fr;
  gap:18px;
}
.art-preview img{
  max-height:520px;
}

/* Desktop: Statuskarten möglichst in einer Reihe */
@media (min-width:1200px){
  .status-grid{
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  }
}

/* Tablet */
@media(max-width:900px){
  header,main{padding:12px}
  .curation-grid{
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  }
  .curation-card>img,
  .preview-button img{
    height:145px;
  }
}

/* Mobil: Bedienbarkeit vor maximaler Verdichtung */
@media(max-width:600px){
  .card img{
    min-height:150px;
  }
  .curation-card>img,
  .preview-button img{
    height:170px;
  }
  .curation-form{
    padding:10px;
  }
  .status-row{
    grid-template-columns:1fr;
  }
  .summary-thumb{
    width:52px;
    height:52px;
  }
}
