/* ESN App: Tab-Leiste unten, Unterseiten, Scanner. Gilt für Mandanten- und Kanzlei-Ansicht. */
body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;gap:0;flex-wrap:nowrap;background:var(--bg2);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs[hidden]{display:none}
.tabs .tab{flex:1;min-width:0;border:0;border-top:3px solid transparent;background:none;padding:.8rem .2rem;font-size:.98rem;text-align:center;white-space:nowrap}
.tabs .tab[aria-selected=true]{border-top-color:var(--gold);background:none}
main{padding-top:1.6rem}
h1{font-size:clamp(1.7rem,6vw,2.4rem)}
.card{padding:1.4rem}
@media(max-width:560px){.card{padding:1.1rem}.wrap{padding:0 1rem}}
.btn{min-height:2.9rem}
input,select,textarea{font-size:16px}
.sub{position:fixed;left:0;right:0;top:0;bottom:calc(3.9rem + env(safe-area-inset-bottom,0px));z-index:30;background:var(--bg);display:flex;flex-direction:column}
.sub[hidden]{display:none}
.sub .bar{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:var(--bg2)}
.sub .bar b{font-family:"Newsreader",Georgia,serif;font-size:1.2rem;color:var(--gold2)}
.sub iframe{flex:1;width:100%;border:0;background:var(--bg)}
.sub .body{flex:1;overflow:auto;padding:1.2rem 1rem}
.menu{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.menu button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:var(--bg);border:1px solid var(--line);color:var(--text);padding:1rem 1.1rem;font:600 1.05rem "Source Sans 3",system-ui,sans-serif;min-height:3.4rem;cursor:pointer}
.menu button small{display:block;font-weight:400;color:var(--muted);font-size:.9rem}
.menu button::after{content:"›";color:var(--gold2);font-size:1.5rem}
.cbox{display:grid;gap:1rem}
.cbox h3{margin:0 0 .2rem;font-size:1rem;color:var(--muted);font-weight:600}
.cbox p{margin:0}
.cbox .btn{margin:.2rem .4rem .2rem 0}
.scan{border:1px dashed var(--gold);padding:1rem;margin:0 0 1.4rem;background:rgba(201,162,75,.06)}
.scan h3{margin:0 0 .3rem;font-size:1.1rem;color:var(--gold2)}
.scan .acts{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.6rem;margin:.6rem 0;list-style:none;padding:0}
.thumbs li{position:relative;aspect-ratio:3/4;background:var(--bg);border:1px solid var(--line)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs button{position:absolute;top:2px;right:2px;width:2rem;height:2rem;border-radius:50%;border:0;background:rgba(0,0,0,.7);color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}
.thumbs i{position:absolute;left:3px;bottom:3px;background:rgba(0,0,0,.7);color:#fff;font-style:normal;font-size:.75rem;padding:0 .35rem;border-radius:1rem}
.inst{background:var(--bg2);border:1px solid var(--gold);padding:.9rem 1rem;margin:0 0 1.2rem;font-size:.95rem}
.inst button{margin-top:.5rem}
@media (max-width:700px){.tablewrap{margin-left:-1rem;margin-right:-1rem;padding:0 1rem}}
