:root{--bg: #f2f2f7;--card: #ffffff;--text: #1c1c1e;--muted: #6c6c70;--line: rgba(60, 60, 67, .16);--accent: #007aff;--accent-soft: rgba(0, 122, 255, .1);--danger: #ff3b30;--green: #34c759;--orange: #ff9500;--fill: rgba(118, 118, 128, .12);--bar: rgba(249, 249, 251, .82);--sidebar-w: 280px;--radius: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #000000;--card: #1c1c1e;--text: #f2f2f7;--muted: #98989f;--line: rgba(84, 84, 88, .55);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .18);--danger: #ff453a;--fill: rgba(118, 118, 128, .24);--bar: rgba(28, 28, 30, .82)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.35 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.text-danger{color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon-svg{display:inline-block;flex:none;vertical-align:middle}.shell{display:flex;height:100%;overflow:hidden}.sidebar{flex:none;width:var(--sidebar-w);display:flex;flex-direction:column;gap:12px;padding:calc(var(--safe-top) + 16px) 12px 16px;background:var(--bg);border-right:1px solid var(--line);transition:margin-left .2s ease}.shell.is-collapsed .sidebar{margin-left:calc(var(--sidebar-w) * -1)}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 8px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff}.brand-name{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:none;text-align:left;font-size:1rem}.nav-item svg{color:var(--muted)}.nav-item.is-active{background:var(--fill);color:var(--accent);font-weight:600}.nav-item.is-active svg{color:var(--accent)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{flex:none;display:flex;align-items:center;gap:8px;height:calc(52px + var(--safe-top));padding:var(--safe-top) 12px 0;background:var(--bar);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}.topbar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:none;color:var(--accent)}.icon-button:active{background:var(--fill)}.account-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px 0 10px;border:0;border-radius:22px;background:none}.account-text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.account-text strong{font-size:.9rem;font-weight:600}.account-text small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.content{flex:1;min-height:0;overflow:hidden}.scrim{display:none}@media(max-width:899px){.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;margin-left:calc(var(--sidebar-w) * -1);box-shadow:none}.shell.menu-open .sidebar{margin-left:0;box-shadow:0 0 40px #00000040}.shell.menu-open .scrim{display:block;position:fixed;z-index:20;inset:0;background:#0000004d}.account-text{display:none}}.page{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.page-inner{max-width:860px;margin:0 auto;padding:20px 16px calc(32px + var(--safe-bottom))}.page-head,.pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.page-head h1,.pane-head h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.page-sub{margin-top:2px;color:var(--muted);font-size:.95rem}.page-actions{display:flex;gap:8px;padding-top:4px}.page-actions .text-link,.fab{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--accent);color:#fff}.fab:active,.page-actions .text-link:active{opacity:.8}.master-detail{display:flex;height:100%;container-type:inline-size}.md-list{flex:0 0 min(420px,42%);min-width:320px;overflow-y:auto;padding:20px 16px calc(32px + var(--safe-bottom));border-right:1px solid var(--line);-webkit-overflow-scrolling:touch}.md-detail{flex:1;min-width:0;overflow-y:auto;padding:20px 20px calc(32px + var(--safe-bottom));-webkit-overflow-scrolling:touch}.md-back{display:none;align-items:center;gap:12px;margin-bottom:8px;font-weight:600}.detail-empty{display:grid;place-items:center;min-height:50%;padding:24px;color:var(--muted);text-align:center}@media(max-width:899px){.md-list{flex:1 1 auto;min-width:0;border-right:0}.md-detail,.master-detail.has-detail .md-list{display:none}.master-detail.has-detail .md-detail{display:block}.md-back{display:flex}}.pane-tools{margin-bottom:8px}.pane-tools .text-link{display:inline-flex;align-items:center;gap:6px}.detail-panel{max-width:720px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.detail-head h2{font-size:1.6rem;font-weight:700;letter-spacing:-.015em}.detail-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.action-stack{display:flex;flex-direction:column;gap:10px;margin:16px 0}li>.action-stack,li>.block{margin:12px 16px}.group{margin:0 0 18px}.group-header{margin:0 16px 6px;color:var(--muted);font-size:.85rem;font-weight:600}.group-list{margin:0;padding:0;list-style:none;overflow:hidden;border-radius:var(--radius);background:var(--card)}.group-list>li+li{border-top:1px solid var(--line)}.group-footer{margin:6px 16px 0;color:var(--muted);font-size:.82rem}.group-media .group-list{display:flex;flex-direction:column;gap:8px;overflow:visible;background:none}.group-media .group-list>li{overflow:hidden;border:0;border-radius:var(--radius);background:var(--card)}.row{list-style:none}.row-button,.row-static{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 16px;border:0;background:none;text-align:left}.row-button:active{background:var(--fill)}.row.is-selected{box-shadow:inset 0 0 0 2px var(--accent)}.row.is-selected .row-button{background:var(--accent-soft)}.row-media{display:flex;flex:none;align-items:center}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.row-header{color:var(--muted);font-size:.78rem}.row-title{font-weight:600;overflow-wrap:anywhere}.row-subtitle,.row-text,.row-footer{color:var(--muted);font-size:.88rem}.row-subtitle{overflow-wrap:anywhere}.row-after{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px;max-width:50%;color:var(--muted);font-size:.9rem;text-align:right}.row-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.row-chevron{flex:none;color:#3c3c4359;font-size:1.5rem;line-height:1}.row:not(.row-link)>.row-static .row-title{font-weight:500}.row-action .row-button{justify-content:center;color:var(--accent);font-weight:500}.link-row .row-title{color:var(--accent)}.credential-value .row-title{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.1rem;-webkit-user-select:all;user-select:all}.note-text .row-title{font-weight:400;white-space:pre-wrap}.list-count{margin:6px 0 12px;color:var(--muted);font-size:.82rem;text-align:center}.field-row label{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 16px}.field-label{flex:0 0 38%;max-width:200px;font-weight:500}.field-input{flex:1;min-width:0;padding:8px 0;border:0;background:none;text-align:right;outline:none}.field-input:focus-visible{outline:none}.field-row:focus-within{background:var(--accent-soft)}.field-input::placeholder{color:#3c3c4366}.field-select{appearance:none;-webkit-appearance:none;color:var(--accent)}.field-row-area{padding:8px 16px}.field-row-area textarea{width:100%;min-height:80px;resize:vertical;text-align:left}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.searchfield{display:flex;align-items:center;gap:8px;height:40px;margin-bottom:12px;padding:0 12px;border-radius:12px;background:var(--fill);color:var(--muted)}.searchfield input{flex:1;min-width:0;border:0;background:none;color:var(--text);outline:none;-webkit-appearance:none;appearance:none}.searchfield-clear{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--muted);color:var(--card);font-size:1rem;line-height:1}.segment{display:flex;gap:2px;margin-bottom:14px;padding:2px;border-radius:10px;background:var(--fill)}.segment button{flex:1;min-height:34px;padding:0 6px;border:0;border-radius:8px;background:none;font-size:.88rem;font-weight:500}.segment button.is-active{background:var(--card);box-shadow:0 1px 3px #00000026;font-weight:600}.text-link{padding:4px 2px;border:0;background:none;color:var(--accent);font-weight:500}.text-link:disabled,.text-link.disabled{opacity:.4;cursor:default}.action-link{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:12px;background:var(--fill);color:var(--accent);font-weight:600}.btn:active{opacity:.75}.btn:disabled{opacity:.4;cursor:default}.btn-large{width:100%;min-height:50px;font-size:1.02rem}.btn-small{min-height:34px;padding:0 12px;font-size:.9rem}.btn-outline{border-color:currentColor;background:none}.btn-fill{background:var(--accent);color:#fff}.btn-red{color:var(--danger)}.btn-green{color:#1f9d46}.btn-orange{color:#c76f00}.btn-fill.btn-green{background:var(--green);color:#fff}.btn-fill.btn-red{background:var(--danger);color:#fff}.btn .icon-svg{margin-right:2px}.form-button{margin:16px 0}.form-button .btn{width:100%}.pdf-actions,.photo-buttons,.building-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pdf-actions{justify-content:flex-start;padding:4px 16px 12px}.count-badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600;line-height:18px;text-align:center}.error-note{margin:8px 0 12px;padding:10px 14px;border-radius:12px;background:#ff3b301f;color:var(--danger);font-size:.92rem}.empty-state{padding:28px 16px;color:var(--muted);text-align:center}.empty-state strong{display:block;margin-bottom:4px;color:var(--text)}.toast{position:fixed;z-index:100;top:calc(var(--safe-top) + 12px);left:50%;max-width:min(92vw,480px);padding:12px 18px;border-radius:14px;background:#28282cf2;color:#fff;font-size:.95rem;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.overlay{position:fixed;z-index:60;inset:0;display:flex;align-items:stretch;justify-content:center;background:#00000059}.overlay-center{align-items:center;padding:24px}.overlay-bottom{align-items:flex-end;padding:0 8px calc(8px + var(--safe-bottom))}.dialog{display:flex;flex-direction:column;width:100%;background:var(--bg);animation:rise .22s ease-out}@media(min-width:700px){.overlay:not(.overlay-center):not(.overlay-bottom){align-items:center;padding:32px}.dialog{max-width:640px;max-height:min(880px,100%);border-radius:22px;overflow:hidden;box-shadow:0 20px 60px #00000059}}.dialog-bar{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:52px;padding:calc(var(--safe-top) * 0) 16px;background:var(--bar);border-bottom:1px solid var(--line)}.dialog-bar h2{max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:600}.dialog-right{text-align:right}.dialog-body{flex:1;min-height:0;overflow-y:auto;padding:16px 16px calc(24px + var(--safe-bottom));-webkit-overflow-scrolling:touch}.alert{width:min(100%,300px);overflow:hidden;border-radius:16px;background:var(--card);text-align:center;animation:pop .16s ease-out}.alert h2{padding:18px 16px 0;font-size:1.05rem}.alert p{padding:6px 16px 16px;color:var(--muted);font-size:.88rem}.alert-buttons{display:flex;border-top:1px solid var(--line)}.alert-buttons button{flex:1;min-height:46px;border:0;background:none;color:var(--accent)}.alert-buttons button+button{border-left:1px solid var(--line);font-weight:600}.alert-buttons .danger,.sheet .danger{color:var(--danger)}.sheet{width:min(100%,420px);display:flex;flex-direction:column;gap:8px;animation:rise .2s ease-out}.sheet-group{overflow:hidden;border-radius:14px;background:var(--card)}.sheet-group button{display:block;width:100%;min-height:52px;border:0;border-top:1px solid var(--line);background:none;color:var(--accent);font-size:1.05rem}.sheet-group button:first-child,.sheet-label+button{border-top:0}.sheet-group button:active{background:var(--fill)}.sheet-group .bold{font-weight:600}.sheet-label{display:flex;flex-direction:column;padding:12px 16px;color:var(--muted);font-size:.82rem;text-align:center}.sheet-label strong{color:var(--text)}@keyframes rise{0%{transform:translateY(18px);opacity:0}}@keyframes pop{0%{transform:scale(.94);opacity:0}}.auth-screen{position:fixed;inset:0;overflow:auto;background:var(--bg)}.center-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;text-align:center}.auth-block{width:100%;max-width:420px;text-align:left}.auth-head{margin-bottom:20px;text-align:center}.auth-head img{width:72px;height:72px;border-radius:18px}.auth-head h1{margin:12px 0 2px;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}.avatar{display:block;flex:none;overflow:hidden;border-radius:50%;background:#b9c0cb}.avatar img,.avatar svg{display:block;width:100%;height:100%;object-fit:cover}.photo-field{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 12px}.photo-error{margin:4px 16px 0;color:var(--danger);font-size:.85rem;text-align:center}.building-field{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 0 12px}.building-photo,.view-photo{overflow:hidden;border-radius:14px;background:#e5e7ec}.building-photo{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4 / 3;max-height:46dvh;color:#9aa1ae}.building-photo img{display:block;width:100%;height:100%;object-fit:contain}.view-photo{margin:0 0 16px}.view-photo img{display:block;width:100%;max-height:46dvh;object-fit:contain}.thumb{display:flex;align-items:center;justify-content:center;width:56px;height:42px;overflow:hidden;border-radius:8px;background:#e5e7ec;color:#9aa1ae}.thumb img{display:block;width:100%;height:100%;object-fit:cover}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge i{width:8px;height:8px;border-radius:50%;background:currentColor}.status-badge.status-offen{background:#ff3b3021;color:#d70015}.status-badge.status-rueckfragen{background:#ff950029;color:#b25f00}.status-badge.status-abgerechnet{background:#34c75929;color:#187a36}@media(prefers-color-scheme:dark){.status-badge.status-offen{color:#ff6961}.status-badge.status-rueckfragen{color:#ffb340}.status-badge.status-abgerechnet{color:#4cd964}}.status-dot{display:block;width:12px;height:12px;border-radius:50%}.status-dot.status-offen{background:var(--danger)}.status-dot.status-rueckfragen{background:var(--orange)}.status-dot.status-abgerechnet{background:var(--green)}.done-badge{padding:2px 8px;border-radius:999px;background:var(--fill);color:var(--muted);font-size:.75rem;font-weight:600}.pdf-scroll{overflow-x:auto}.pdf-pages{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:40px}.pdf-page{display:block;max-width:none;background:#fff;box-shadow:0 1px 6px #0000002e}.pdf-download{margin:16px;text-align:center;font-size:.9375rem}.zoom-link{font-size:1.4rem;font-weight:400}.dialog-right,.dialog-left{display:flex;gap:8px;align-items:center}.dialog-right{justify-content:flex-end}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sheet-text{margin:0 0 14px;color:var(--muted);font-size:.95rem}a.external{color:var(--accent)}@media(max-width:699px){.dialog-bar{padding-top:var(--safe-top);min-height:calc(52px + var(--safe-top))}}
