/* Gästemappe-Verwaltung (m7.3a130). Baut auf den Partner-Tokens (styles/app.css) auf; Gestaltungsrichtung nach Mockup 01/02:
   helle warme Flächen, Oliv/Limone, klare Abstände, große Bedienziele. Keine Hintergrundbilder in der Arbeitsfläche. */
.gm-seite { --gm-flaeche: #FFFFFF; --gm-warm: #FAF8F2; --gm-linie: #E4E1D6; --gm-limone: #F3F2D9; }
.gm-kopfzeile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: 0 0 1rem; }
.gm-kopf-aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.gm-zustand { font-size: .9rem; color: var(--muted, #5F6152); min-height: 1.4em; }
.gm-zustand.ist-gespeichert::before { content: "✓ "; color: var(--olive, #6B7A4B); }
.gm-zustand.ist-fehler, .gm-zustand.ist-konflikt { color: var(--danger, #A3342A); font-weight: 600; }
.gm-zustand.ist-speichert { color: var(--muted, #5F6152); }
.gm-pub-status { font-size: .88rem; padding: .25rem .6rem; border-radius: 999px; background: var(--gm-limone); }
.gm-seite .btn { min-height: 44px; }
.gm-seite .btn-klein { min-height: 40px; }
.gm-h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
.gm-h3 { font-size: 1rem; margin: 1.25rem 0 .5rem; }
.gm-klein { font-size: .88rem; color: var(--muted, #5F6152); }
.gm-meldung { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1rem; }
.gm-tabs { margin: 0 0 1rem; }
.gm-arbeitsflaeche { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.gm-bearbeitung { min-width: 0; }
.gm-vorschau { min-width: 0; background: var(--gm-warm); border: 1px solid var(--gm-linie); border-radius: 14px; padding: 1rem; }
.gm-vorschau-geraet { max-width: 26rem; margin: 0 auto; max-height: 70vh; overflow: auto; border: 8px solid #2A2D24; border-radius: 28px; background: #FBF9F3; }
.gm-vorschau-geraet .ga { min-height: 0; }
.gm-nur-mobil { display: inline-flex; }
@media (max-width: 1023px) {
  .gm-arbeitsflaeche .gm-vorschau { display: none; }
  .gm-arbeitsflaeche.ist-vorschau .gm-vorschau { display: block; }
  .gm-arbeitsflaeche.ist-vorschau .gm-bearbeitung { display: none; }
}
@media (min-width: 1024px) {
  .gm-nur-mobil { display: none; }
  .gm-arbeitsflaeche { grid-template-columns: minmax(0, 1.35fr) minmax(19rem, 1fr); align-items: start; }
  .gm-vorschau { position: sticky; top: 1rem; }
}
.gm-feld { margin: 0 0 .9rem; }
.gm-feld .input, .gm-seite textarea.input, .gm-seite select.input { width: 100%; box-sizing: border-box; min-height: 44px; }
.gm-feld-klein { flex: 1 1 10rem; }
.gm-angaben { display: flex; flex-wrap: wrap; gap: .75rem; margin: .25rem 0 .75rem; }
.gm-abschnitte { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; }
.gm-abschnitt { background: var(--gm-flaeche); border: 1px solid var(--gm-linie); border-radius: 12px; padding: .6rem .75rem; }
.gm-abschnitt.ist-offen { border-color: var(--olive, #6B7A4B); }
.gm-abschnitt.ist-gezogen { opacity: .5; }
.gm-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.gm-griff { cursor: grab; color: var(--muted, #5F6152); font-size: 1.1rem; padding: 0 .25rem; user-select: none; }
.gm-abschnitt-name { flex: 1 1 12rem; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.gm-art { font-weight: 400; color: var(--muted, #5F6152); font-size: .88rem; }
.gm-chip { font-size: .8rem; }
.gm-chip.ist-vorschlag, .gm-chip.ist-veraltet { background: #FBEFD0; color: #6A4A00; }
.gm-chip.ist-angepasst { background: #FFF3B8; color: #5A4A00; }
.gm-chip.ist-erbt, .gm-chip.ist-sichtbar, .gm-chip.ist-aktuell { background: #E7ECD8; color: #3E4A22; }
.gm-chip.ist-ausgeblendet, .gm-chip.ist-leer, .gm-chip.ist-fehlt { background: #ECECE6; color: #4A4A40; }
.gm-sichtbar, .gm-check, .gm-radio { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; }
.gm-reihe { display: inline-flex; gap: .25rem; }
.gm-editor { margin: .75rem 0 .25rem; padding: .75rem 0 0; border-top: 1px solid var(--gm-linie); }
.gm-editor-kompakt { border: 1px solid var(--gm-linie); border-radius: 12px; padding: .75rem; margin: 0 0 .75rem; }
.gm-editor-aktionen { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 0; }
.gm-hinzu { display: flex; flex-wrap: wrap; gap: .5rem; }
.gm-hinzu select { flex: 1 1 14rem; }
.gm-schritte { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; list-style: none; padding: 0; margin: .25rem 0 1rem; }
.gm-schritte li { display: flex; align-items: center; gap: .4rem; padding: .45rem .5rem; border-radius: 10px; background: var(--gm-warm); font-size: .88rem; min-width: 0; }
.gm-schritte li.ist-aktiv { background: var(--gm-limone); font-weight: 700; outline: 2px solid var(--olive, #6B7A4B); }
.gm-schritte li.ist-fertig .gm-schritt-nr::after { content: " ✓"; }
.gm-schritt-nr { display: inline-flex; justify-content: center; min-width: 1.6rem; height: 1.6rem; align-items: center; border-radius: 50%; background: #FFFFFF; font-weight: 700; }
.gm-assistent-nav { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin: 1.25rem 0 0; }
.gm-assistent-vorschlag { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem .75rem; border: 1px dashed var(--gm-linie); border-radius: 12px; margin: 0 0 .6rem; }
.gm-assistent-vorschau { margin: 1rem 0; }
.gm-assistent-vorschau .ga { border: 1px solid var(--gm-linie); border-radius: 14px; }
.gm-daten { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .3rem 1rem; }
.gm-daten dt { font-weight: 600; }
.gm-daten dd { margin: 0; overflow-wrap: anywhere; }
.gm-hindernisse ul { margin: 0; padding-left: 1.2rem; }
.gm-hindernisse a { display: inline-block; min-height: 44px; line-height: 44px; }
.gm-erweiterung { margin: 0 0 1rem; }
.gm-suchzeile { display: flex; flex-wrap: wrap; gap: .5rem; }
.gm-suchzeile .input { flex: 1 1 10rem; min-height: 44px; }
.gm-treffer { list-style: none; padding: 0; margin: .75rem 0; display: grid; gap: .4rem; }
.gm-treffer li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem .6rem; border: 1px solid var(--gm-linie); border-radius: 10px; }
.gm-empf-liste { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .6rem; }
.gm-empf { padding: .6rem .75rem; border: 1px solid var(--gm-linie); border-radius: 12px; background: var(--gm-flaeche); }
.gm-empf.ist-weg { opacity: .75; border-style: dashed; }
.gm-empf textarea { width: 100%; box-sizing: border-box; margin-top: .5rem; }
.gm-extern { margin: 0 0 1rem; }
.gm-ziele { list-style: none; padding: 0; display: grid; gap: .75rem; }
.gm-ziel { padding: .75rem 1rem; border: 1px solid var(--gm-linie); border-radius: 12px; background: var(--gm-flaeche); overflow-wrap: anywhere; }
.gm-ziel code { font-size: .92rem; }
.gm-untertabs { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 1rem; }
.gm-radios { border: 0; padding: 0; margin: 0 0 .9rem; display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.gm-radios legend { font-weight: 600; margin: 0 0 .25rem; width: 100%; }
.gm-staende { list-style: none; padding: 0; display: grid; gap: .4rem; }
.gm-staende li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.gm-ue { padding: .5rem 0; border-bottom: 1px solid var(--gm-linie); }
.gm-quelle { margin: .2rem 0 .4rem; font-style: italic; }
.gm-notfall { border: 1px solid var(--gm-linie); border-radius: 10px; padding: .5rem .75rem; width: 100%; }
.gm-notfall-zeile { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .4rem; margin: .4rem 0; }
.gm-druck { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
@media (min-width: 1024px) { .gm-druck { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.gm-druck-vorschau { background: var(--gm-warm); border: 1px solid var(--gm-linie); border-radius: 14px; padding: 1rem; min-width: 0; }
.gm-druck-canvas { display: block; max-width: 100%; height: auto; margin: 0 auto; box-shadow: 0 2px 10px rgba(0, 0, 0, .12); background: #FFFFFF; }
.gm-druck-probleme { color: var(--danger, #A3342A); padding-left: 1.2rem; }
.gm-weiteres { margin: 0 0 .9rem; }
.gm-seite :focus-visible { outline: 3px solid var(--olive, #6B7A4B); outline-offset: 2px; }
.gm-assistent { padding: 1rem 1.25rem; }
.gm-tabs { flex-wrap: wrap; }
@media (min-width: 1024px) { .gm-arbeitsflaeche.ohne-vorschau { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1023px) { .gm-vorschau-geraet { border: 1px solid var(--gm-linie); border-radius: 14px; max-height: none; } .gm-vorschau { padding: .5rem; } }
/* Stand 2 (0180): Plattformbereich Zusatzmodul und Hinweisliste mit Innenabstand */
.gm-seite .panel.gm-zusatzmodul, .gm-seite .panel.gm-hindernisse { padding: 14px 18px 18px; }
.gm-seite .panel.gm-zusatzmodul { margin: 12px 0 16px; }
.gm-zusatzmodul input[type=date] { max-width: 14rem; }
/* Gesperrter Hauptknopf sichtbar gesperrt: .ag-frame .btn-primary (partner-agentur-design.css) überdeckt sonst .btn-primary:disabled (Befund a127) */
.gm-seite .btn-primary:disabled { background: var(--olive-tint); border-color: var(--olive-border); color: #7E8A63; }
