/**
 * Grundgeruest: Farben, Grundschrift, Anmeldefenster, Knoepfe, Hinweise.
 *
 * ERZEUGT - nicht von Hand bearbeiten.
 *   python3 tools/basis-css-bauen.py
 * Quelle: app/assets/style.css
 *
 * Warum es diese Datei gibt: Drei Seiten (Wissen, Fotogalerie,
 * Projekte) laden die grosse
 * Stilvorlage der Aufmass-App und benutzen davon rund fuenf Prozent.
 * Das waren pro Seitenaufruf rund 20 KB komprimiert, nur um an die
 * Knoepfe und das Anmeldefenster zu kommen - auf der Baustelle mit
 * schwachem Netz merkt man das.
 *
 * Das Aufmass selbst laedt weiterhin die vollstaendige Datei; die ist
 * unveraendert geblieben. Diese hier ist ein Auszug daraus, in
 * derselben Reihenfolge, damit jede spaetere Ueberschreibung an ihrem
 * Platz bleibt.
 */

:root { --brand: #2f6b43; --brand-dark: #234f31; --dark: #23201d; --bg: #f6f4f1; --green: #3c9a5f; --yellow: #d6a92c; --red: #c94f4f; --purple: #8a6fb0; --border: #e0dcd4; }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html,
body { margin: 0; padding: 0; height: 100%; overscroll-behavior-y: contain; /* iOS vergroessert Schriften sonst eigenmaechtig - dadurch wirkte die Fusszeile groesser als im Backend, obwohl derselbe Wert eingestellt war. */ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; background: var(--bg); color: var(--dark); font-size: 16px; }
.hint { color: #777; font-size: 0.9rem; padding: 16px; text-align: center; }
.login-screen { display: none; min-height: 100%; align-items: center; justify-content: center; background: var(--dark); padding: 24px; }
.login-box { width: 100%; max-width: 340px; background: white; border-radius: 14px; padding: 28px 24px; text-align: center; }
.login-logo { width: 72px; height: auto; margin-bottom: 10px; }
.login-box h1 { font-size: 1.15rem; margin: 0 0 20px; }
.login-box input { width: 100%; padding: 13px 14px; margin-bottom: 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 1rem; }
.btn { border: none; border-radius: 8px; padding: 13px 18px; font-size: 1rem; font-weight: 600; cursor: pointer; font-family: inherit; }
.btn-primary { width: 100%; background: var(--brand); color: white; }
.login-error { margin-top: 12px; color: var(--red); font-size: 0.88rem; }
.app-screen { display: none; flex-direction: column; /* Mindestens bildschirmhoch, damit der Inhaltsbereich darunter den restlichen Platz ausfuellt. Sonst war er nur so hoch wie sein Inhalt - und seitliches Wischen wurde ausserhalb gar nicht erkannt. */ min-height: 100vh; }
.login-logo { background: transparent; }
.btn-secondary { background: var(--bg); color: var(--dark); border: 1px solid var(--border); }
.link-btn { background: none; border: none; color: var(--brand); font-weight: 600; text-decoration: underline; cursor: pointer; font-family: inherit; font-size: 0.88rem; }
.link-btn-danger { color: var(--red, #b5342c); font-size: 1.05rem; line-height: 1; /* Die Trefferfläche wird über die Polsterung auf 44 Pixel gebracht, ohne das Zeichen selbst größer zu machen. */ min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.link-btn-danger:hover { color: #8f251e; }
.link-btn-danger + .link-btn,
.link-btn + .link-btn-danger { margin-left: 10px; }
.titel-benutzer { font-weight: 400; opacity: 0.75; }
html,
body { overscroll-behavior-x: contain; }
.btn { border: 1px solid transparent; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18); }
.btn-secondary { background: #ffffff; color: var(--dark); border: 2px solid var(--dark); font-weight: 700; }
.btn-secondary:active { background: #ececec; }
.btn-primary { border: 2px solid var(--brand); font-weight: 700; }
.btn:disabled { opacity: 0.5; box-shadow: none; }
:root { --knopf-gruen: #4a7c59; --knopf-gruen-rand: #3c6449; --knopf-blau: #4a6b8a; --knopf-blau-rand: #3b5670; --knopf-gelb: #b8894a; --knopf-gelb-rand: #966d39; --knopf-rot: #a85450; --knopf-rot-rand: #8a4340; --knopf-lila: #6f5b8e; --knopf-lila-rand: #5a4874; }
.btn { color: #fff; border: 1px solid transparent; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); font-weight: 600; }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: 0.45; box-shadow: none; }
.btn-primary { background: var(--knopf-gruen); border-color: var(--knopf-gruen-rand); color: #fff; }
.btn-secondary { background: var(--knopf-blau); border-color: var(--knopf-blau-rand); color: #fff; }
.btn:disabled { background: #d3cfc9; border-color: #bdb9b2; color: #4f4b46; opacity: 1; }
:root { --knopf-gelb: #e0b83c; --knopf-gelb-rand: #c39c28; }
a.btn { display: inline-block; text-decoration: none; text-align: center; }
html { scrollbar-gutter: stable; }
.titel-seite { font-weight: 400; opacity: 0.75; }
