/* Anzeige (Digital Signage) */
.sg_seite   { font-size:9pt; }
.sg_hinweis { color:#888; font-size:8pt; line-height:1.5; }
.sg_punkt   { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:4px; }
.sg_status  { min-height:1.4em; margin-bottom:6px; }
.sg_drop    { width:270px; height:480px; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center;
              border:2px dashed #bbb; border-radius:6px; padding:20px; text-align:center; background:#fafafa; cursor:pointer; }   /* hochkant 9:16 wie die Folie */
.sg_folienseite { display:flex; gap:20px; align-items:flex-start; flex-wrap:wrap; }
.sg_links   { flex:none; width:270px; }
.sg_liste   { flex:1; min-width:420px; }
.sg_neu     { width:100%; margin-top:10px; padding:8px; font-size:10pt; border:none; border-radius:4px; background:#e65100; color:#fff; cursor:pointer; }
.sg_neu:hover { background:#bf360c; }
.sg_folie button.sg_bearb { font-size:9pt; padding:2px 8px; border:1px solid #e65100; border-radius:3px; cursor:pointer; background:#fff; color:#e65100; margin-right:6px; }
.sg_drop_an { border-color:#e65100; }

/* Zeiten */
.sg_tab     { border-collapse:collapse; }
.sg_tab th  { padding:5px 10px; text-align:left; font-weight:normal; color:#444; }
.sg_tab thead th { background:#e65100; color:#fff; }
.sg_tab td  { padding:4px 8px; border-bottom:1px solid #eee; }
.sg_tab input { font-size:9pt; }
.sg_tab tr.sg_sonder th, .sg_tab tr.sg_sonder td { border-top:2px solid #e65100; padding-top:8px; background:#fff8e1; }

/* Folien */
.sg_folie   { display:flex; gap:14px; align-items:flex-start; border:1px solid #ddd; border-radius:6px; padding:10px; margin-bottom:10px; background:#fff; max-width:760px; }
.sg_folie img { width:90px; height:160px; object-fit:cover; background:#000; border:1px solid #999; display:block; }
.sg_nie     { background:#fff8e1; }
.sg_raster  { border-collapse:collapse; }
.sg_raster th { font-weight:normal; color:#444; padding:1px 6px; text-align:center; }
.sg_raster thead th { background:#e65100; color:#fff; }
.sg_raster tbody th { text-align:left; }
.sg_raster td { text-align:center; padding:1px 6px; border-bottom:1px solid #eee; }
.sg_felder  { flex:1; line-height:2.1; }
.sg_felder label { margin-right:12px; white-space:nowrap; }
.sg_felder input[type=number] { width:60px; font-size:9pt; }
.sg_felder input[type=text], .sg_felder select { font-size:9pt; }
.sg_name    { font-family:monospace; color:#333; word-break:break-all; }
.sg_warn    { display:none; font-family:sans-serif; background:#ef6c00; color:#fff; border-radius:3px; padding:1px 6px; margin-left:6px; }
.sg_nie .sg_warn { display:inline; }
.sg_folie button.sg_del { font-size:9pt; padding:2px 8px; border:none; border-radius:3px; cursor:pointer; background:#c62828; color:#fff; }

/* Vorschau */
.sg_vorschau { display:flex; gap:20px; align-items:flex-start; }
.sg_schirm  { position:relative; width:270px; height:480px; background:#000; border:2px solid #111; border-radius:2px; flex:none; }
.sg_schirm img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .6s ease; }
#sg_v_aus   { position:absolute; inset:0; display:none; align-items:center; justify-content:center; color:#555; font-size:10pt; }
.sg_seite .ma_saved { animation: ma_flash_ok 1s ease forwards; }
.sg_uhr_warn { margin-top:6px; padding:4px 6px; background:#c62828; color:#fff; border-radius:3px; }

/* Sondersets */
.sg_set { border:1px solid #ddd; border-radius:6px; padding:10px; margin-top:12px; background:#fff; max-width:900px; }
.sg_set_kopf { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.sg_set_kopf button.sg_del, .sg_set_bild button.sg_del { font-size:9pt; padding:2px 8px; border:none; border-radius:3px; cursor:pointer; background:#c62828; color:#fff; }
.sg_set_bilder { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-start; }
.sg_set_bild { width:110px; font-size:9pt; border:1px solid #ddd; border-radius:4px; padding:5px; }
.sg_set_bild img { width:100px; height:178px; object-fit:cover; background:#000; border:1px solid #999; display:block; margin-bottom:4px; }
.sg_set_bild label { display:block; }
.sg_set_bild button { font-size:9pt; padding:1px 6px; cursor:pointer; }
.sg_set_bild.sg_nie img { opacity:.4; }
.sg_set_drop { width:110px; height:200px; border:2px dashed #aaa; border-radius:6px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; cursor:pointer; font-size:26px; }
.sg_set_drop.sg_drop_an { border-color:#e65100; background:#fff3e0; }
