/* Fachoberfläche innerhalb derselben Bildschirm- und Ringarchitektur. */
body.app-live .screen { min-height:100dvh; height:100dvh; }
body.app-live .app-content { display:flex; flex-direction:column; gap:16px; overflow-y:auto; padding:18px 22px 30px; }
.app-content form { display:flex; flex-direction:column; gap:18px; }
.app-content h1 { font-size:25px; line-height:1.25; margin:0; }
.app-content h2 { font-size:19px; margin:4px 0; }
.app-intro,.app-message { margin:0; line-height:1.6; }
.app-message { padding:12px; border-radius:14px; background:rgba(128,128,128,.1); }
.app-field { display:flex; flex-direction:column; gap:7px; font-weight:800; }
.app-field input,.app-field select,.app-field textarea { font:inherit; color:inherit; background:rgba(128,128,128,.08); border:1px solid rgba(128,128,128,.45); border-radius:12px; padding:12px; width:100%; min-height:46px; box-sizing:border-box; }
.app-field textarea { resize:vertical; }
.app-field input:focus-visible,.app-field select:focus-visible,.app-field textarea:focus-visible,.app-content a:focus-visible,.app-content button:focus-visible { outline:3px solid #a855f7; outline-offset:3px; }
.app-options { display:flex; flex-wrap:wrap; gap:9px; margin:0; padding:0; border:0; min-width:0; }
.app-options legend { font-weight:800; padding:0 0 9px; }
.app-option { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid rgba(128,128,128,.3); border-radius:12px; min-height:44px; box-sizing:border-box; cursor:pointer; }
.app-option input { width:19px; height:19px; accent-color:#9333ea; flex-shrink:0; }
.app-option:has(input:checked) { background:rgba(168,85,247,.13); border-color:#a855f7; }
.app-choice-note { flex-basis:100%; }
.app-row,.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.app-link { display:block; color:inherit; text-decoration:none; font-weight:800; padding:16px; border-radius:14px; background:rgba(128,128,128,.1); border:1px solid rgba(128,128,128,.25); }
.app-story { font-size:18px; line-height:1.85; overflow-wrap:anywhere; }
.app-story p { white-space:pre-wrap; margin:0 0 20px; }
.app-error { color:#b42318; font-weight:700; line-height:1.5; }
body.dark .app-error { color:#ffb4ab; }
.app-content .btn { width:100%; min-height:48px; height:auto; padding:12px; white-space:normal; flex-shrink:0; }
.app-content .btn:disabled { opacity:.55; cursor:wait; }
.app-list { display:flex; flex-direction:column; gap:12px; }
.app-confirm { max-width:350px; width:calc(100% - 36px); border:0; border-radius:20px; padding:24px; }
.app-confirm .btn { width:100%; margin-top:12px; }
.app-confirm::backdrop { background:rgba(0,0,0,.55); }
body.app-live .bottomnav { display:none; }
body.app-live { --app-surface:rgba(255,255,255,.85);--app-border:rgba(217,119,6,.25);--app-accent:#b45309;--app-selected:rgba(245,158,11,.13); }
body.app-live.dark { --app-surface:rgba(15,23,42,.75);--app-border:rgba(251,191,36,.27);--app-accent:#fcd34d;--app-selected:rgba(251,191,36,.13); }
body.app-live.violet { --app-surface:rgba(255,255,255,.8);--app-border:rgba(139,92,246,.27);--app-accent:#7e22ce;--app-selected:rgba(168,85,247,.13); }
body.app-live .statusbar,body.app-live .homebar { display:none; }
body.app-live #theme-toggle { top:16px!important; }
body.app-live .header { min-height:64px; padding-top:14px; padding-bottom:10px; }
body.app-live .app-field input,body.app-live .app-field select,body.app-live .app-field textarea,body.app-live .app-link,body.app-live .app-option { background:var(--app-surface);border-color:var(--app-border); }
body.app-live .app-field>span,body.app-live .app-options legend { color:var(--app-accent); }
body.app-live .app-option:has(input:checked) { background:var(--app-selected);border-color:var(--app-accent); }
body.app-live .app-option input { accent-color:var(--app-accent); }
body.app-live .app-grid .app-link { padding:22px 14px;box-shadow:0 5px 18px rgba(120,80,40,.08); }
body.app-live a.backbtn { display:inline-flex;align-items:center;justify-content:center;font-size:30px;text-decoration:none;line-height:1;padding:0; }
.app-admin { display:flex;flex-direction:column;gap:16px;padding-top:20px;border-top:1px solid var(--app-border); }

/* Author display rules must never override semantic hidden states. */
body.app-live .app-content [hidden] { display:none!important; }

.app-offer { display:flex;flex-direction:column;gap:12px;padding:20px;line-height:1.6; }
.app-offer-status { align-self:flex-start;border-radius:20px;padding:4px 12px;background:var(--app-selected);color:var(--app-accent);font-size:12px;font-weight:800; }
.app-offer-price { font-size:18px;font-weight:900;color:var(--app-accent); }
