:root{--bg: #ffffff;--bg-side: #f6f6f6;--bg-hover: #ececec;--bg-input: #ffffff;--border: #e3e3e3;--text: #222222;--muted: #6b6b6b;--faint: #9a9a9a;--accent: #705dcf;--accent-soft: #ece9fb;--on-accent: #ffffff;--danger: #c8352b;--ok: #2e8b57;--graph-bg: #ffffff;--graph-link: #cfcfcf;--graph-text: #333333;--shadow: 0 8px 30px rgb(0 0 0 / .12);--c-green: #008300;--c-orange: #eb6834;--c-teal: #1baf7a;--c-yellow: #eda100;--c-pink: #e87ba4;--c-blue: #2a78d6;--c-purple: #4a3aa7;--c-gray: #898781;--c-red: #e34948;--st-good: #0ca30c;--st-warning: #fab219;--st-critical: #d03b3b;--radius: 8px;--ribbon: 46px;--sidebar: 272px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Inter", sans-serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1e1e1e;--bg-side: #262626;--bg-hover: #303030;--bg-input: #1b1b1b;--border: #363636;--text: #dcddde;--muted: #a3a3a3;--faint: #6d6d6d;--accent: #8b7cf6;--accent-soft: #2d2a45;--on-accent: #ffffff;--danger: #ef7d74;--ok: #6cc28f;--graph-bg: #1e1e1e;--graph-link: #4a4a4a;--graph-text: #c9c9c9;--shadow: 0 8px 30px rgb(0 0 0 / .5);--c-green: #008300;--c-orange: #d95926;--c-teal: #199e70;--c-yellow: #c98500;--c-pink: #d55181;--c-blue: #3987e5;--c-purple: #9085e9;--c-gray: #898781;--c-red: #e66767;color-scheme:dark}}:root[data-theme=dark]{--bg: #1e1e1e;--bg-side: #262626;--bg-hover: #303030;--bg-input: #1b1b1b;--border: #363636;--text: #dcddde;--muted: #a3a3a3;--faint: #6d6d6d;--accent: #8b7cf6;--accent-soft: #2d2a45;--on-accent: #ffffff;--danger: #ef7d74;--ok: #6cc28f;--graph-bg: #1e1e1e;--graph-link: #4a4a4a;--graph-text: #c9c9c9;--shadow: 0 8px 30px rgb(0 0 0 / .5);--c-green: #008300;--c-orange: #d95926;--c-teal: #199e70;--c-yellow: #c98500;--c-pink: #d55181;--c-blue: #3987e5;--c-purple: #9085e9;--c-gray: #898781;--c-red: #e66767;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}kbd{font:12px var(--mono);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 5px}.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.small{font-size:13px}.center{display:grid;place-items:center;height:100%}.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100dvh}.ribbon{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;background:var(--bg-side);border-right:1px solid var(--border)}.ribbon-spacer{flex:1}.ribbon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;border:0;background:none;color:var(--muted);cursor:pointer}.ribbon-btn:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.ribbon-btn.active{color:var(--accent);background:var(--accent-soft)}.sidebar{background:var(--bg-side);border-right:1px solid var(--border);overflow:hidden;display:flex;min-height:0}.main{overflow:auto;min-width:0;position:relative}.app.graph-mode .main{overflow:hidden}.bottom-nav,.drawer-backdrop{display:none}.explorer{display:flex;flex-direction:column;width:100%;min-height:0}.explorer-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 6px 14px}.vault-name{font-weight:700;font-size:14px;letter-spacing:.01em}.explorer-actions{display:flex;gap:2px}.explorer-filter{width:auto!important;margin:4px 10px 8px;padding:5px 9px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);font-size:13px}.tree{overflow:auto;padding:0 6px 24px;flex:1}.tree-row{display:flex;align-items:center;gap:6px;width:100%;min-height:27px;padding:2px 8px;border:0;border-radius:5px;background:none;color:var(--text);font-size:13.5px;text-align:left;cursor:pointer}.tree-row:hover{background:var(--bg-hover);text-decoration:none}.tree-row.folder{color:var(--muted);font-weight:600}.tree-row.folder svg{flex:none;opacity:.7}.tree-row.file{color:var(--text)}.tree-row.file.active{background:var(--accent-soft);color:var(--accent)}.tree-row.file.done .tree-label{color:var(--faint);text-decoration:line-through}.tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count{font-size:11.5px;color:var(--faint);font-weight:500}.tree-children{margin-left:13px;padding-left:6px;border-left:1px solid var(--border)}.tree-date{font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}.tree-empty{font-size:12.5px;color:var(--faint);padding:2px 10px}.graph-view{position:absolute;inset:0;background:var(--graph-bg)}.graph-canvas{position:absolute;inset:0}.graph-canvas canvas{display:block}.graph-stats{position:absolute;left:14px;bottom:12px;font-size:12px;pointer-events:none}.graph-panel-toggle{position:absolute;top:12px;right:12px;z-index:2;background:var(--bg-side);border:1px solid var(--border)}.graph-panel{position:absolute;top:54px;right:12px;width:248px;max-height:calc(100% - 70px);overflow:auto;padding:12px;background:color-mix(in srgb,var(--bg-side) 94%,transparent);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(6px);z-index:2}.graph-panel input[type=search]{width:100%}.panel-section{margin-top:14px}.panel-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.graph-panel input[type=range]{width:100%;accent-color:var(--accent)}.check-row{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:2px 0;cursor:pointer}.check-row .muted{margin-left:auto;font-size:12px}.check-row input{accent-color:var(--accent);margin:0}.check-row.inline{display:inline-flex}.ring{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--muted);display:inline-block;flex:none}.dot-space{width:9px;display:inline-block;flex:none}.local-graph{position:relative;height:300px;border:1px solid var(--border);border-radius:var(--radius);background:var(--graph-bg);overflow:hidden}.local-graph.empty{display:grid;place-items:center;font-size:13px}.c-green{--dot: var(--c-green)}.c-orange{--dot: var(--c-orange)}.c-teal{--dot: var(--c-teal)}.c-yellow{--dot: var(--c-yellow)}.c-pink{--dot: var(--c-pink)}.c-blue{--dot: var(--c-blue)}.c-purple{--dot: var(--c-purple)}.c-gray{--dot: var(--c-gray)}.c-red{--dot: var(--c-red)}.dot{width:9px;height:9px;border-radius:50%;background:var(--dot, var(--c-gray));display:inline-block;flex:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--dot, var(--muted)) 16%,transparent);white-space:nowrap}.badge.vis-alle{--dot: var(--c-green)}.badge.vis-team{--dot: var(--c-blue)}.badge.vis-finanzen{--dot: var(--c-red)}.badge.danger{--dot: var(--danger)}.pill{display:inline-block;padding:0 8px;border-radius:999px;background:var(--bg-hover);font-size:13px}.chip,.mini-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;color:var(--text);background:var(--bg)}.chip{padding:3px 11px;font-size:13.5px}.chip:hover{border-color:var(--accent);text-decoration:none}.mini-chip{padding:0 8px;font-size:12px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:6px;border:1px solid var(--border);background:var(--bg-side);color:var(--text);font-size:14px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--accent);text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:none}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:none}.btn.small{padding:3px 9px;font-size:13px}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;border:0;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.icon-btn.small{width:24px;height:24px}input[type=text],input[type=search],input[type=date],input[type=number],input[type=password],input:not([type]),select,textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);font-size:14.5px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:0;border-color:var(--accent)}textarea{resize:vertical;line-height:1.5}.form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form-row{display:flex;flex-direction:column;gap:4px;min-width:0}.form-row.wide{grid-column:1 / -1}.form-row label,.void-form label,.login-card label{font-size:12.5px;font-weight:600;color:var(--muted)}.form-hint{align-self:end;font-size:13px;color:var(--muted);padding-bottom:8px}.form-block{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 12px;margin:0}.form-block legend{font-size:12.5px;font-weight:600;color:var(--muted);padding:0 6px}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.inline-form{margin-top:18px;padding-top:6px;border-top:1px solid var(--border)}.type-picker,.status-switch{display:flex;flex-wrap:wrap;gap:6px}.seg{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:13.5px;cursor:pointer}.seg:hover{border-color:var(--accent)}.seg.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.page{max-width:860px;margin:0 auto;padding:30px 32px 72px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.page-head h1,.form-page h1{margin:0 0 6px;font-size:26px}.note-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:100%}.note-side{border-left:1px solid var(--border);padding:18px 16px;background:var(--bg)}.note-side .local-graph{position:sticky;top:18px}.side-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.note{width:100%}.note-crumbs{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:6px}.note-title{font-size:30px;margin:0 0 10px;letter-spacing:-.01em;overflow-wrap:anywhere}.note-badges,.note-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.note-actions{margin-top:4px}.note-section{margin-top:26px}.note-section h2{font-size:15px;text-transform:none;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}h3.sub{font-size:13.5px;color:var(--muted);margin:16px 0 8px}.note-body{font-size:15.5px;line-height:1.7}.richtext{white-space:pre-wrap;overflow-wrap:anywhere}.wikilink{color:var(--accent)}.wikilink.unresolved{color:var(--faint);text-decoration:underline dotted}.note.voided .note-title{text-decoration:line-through;color:var(--muted)}.props{display:grid;gap:0;margin:10px 0 0;border-top:1px solid var(--border)}.prop{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding:7px 2px;border-bottom:1px solid var(--border);font-size:14px}.prop dt{color:var(--muted)}.prop dd{margin:0;overflow-wrap:anywhere}.link-groups{display:flex;flex-direction:column;gap:8px}.link-group{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start}.link-rel{font-size:13px;padding-top:4px}.link-items{display:flex;flex-wrap:wrap;gap:6px}.backlink-events{display:flex;flex-direction:column;gap:8px}.voided-note{color:var(--danger);font-size:13.5px;margin:4px 0 10px}.void-form{display:grid;gap:6px;max-width:440px;margin-bottom:14px}.filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px;align-items:center;margin-bottom:18px}.timeline-day{margin-bottom:22px}.timeline-date{font-size:13px;color:var(--muted);font-weight:600;margin:0 0 8px;position:sticky;top:0;background:var(--bg);padding:6px 0;z-index:1}.timeline-day .event-card+.event-card{margin-top:8px}.event-card{display:block;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--bg)}.event-card:hover{border-color:var(--accent);text-decoration:none}.event-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.event-card-title{font-weight:600;margin-top:4px}.event-card-body{color:var(--muted);font-size:14px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.event-card-foot{font-size:12px;margin-top:6px}.event-card.voided{opacity:.6}.event-card.voided .event-card-title{text-decoration:line-through}.amount{font-weight:600;font-variant-numeric:tabular-nums}.hours{font-weight:600;color:var(--c-green)}.file-count{display:inline-flex;align-items:center;gap:3px}.link-chips{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.link-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border:1px solid var(--border);border-radius:999px;font-size:13.5px}.link-chip select{width:auto;padding:0 2px;border:0;background:none;color:var(--muted);font-size:12.5px}.link-chip-name{font-weight:500}.link-search{position:relative}.link-results{position:absolute;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:4px;background:var(--bg-side);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:10;max-height:320px;overflow:auto}.link-results button,.switcher-list button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer}.link-results button .muted,.switcher-list button .muted{margin-left:auto;font-size:12.5px}.link-results button.active,.switcher-list button.active{background:var(--accent-soft)}.link-create{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--border);font-size:13.5px}.link-create select{width:auto}.pad{padding:8px 10px}.files{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.thumb{position:relative;margin:0;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:var(--bg-side)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-remove{position:absolute;top:4px;right:4px;background:#0000008c;color:#fff}.file-list,.pending-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.file-list li,.pending-files li{display:flex;align-items:center;gap:8px;font-size:14px}.file-list li a{overflow-wrap:anywhere}.file-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.file-picker .pending-files{flex-basis:100%}.history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.history>li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:6px 0;border-bottom:1px dashed var(--border)}.history-when{color:var(--muted);font-variant-numeric:tabular-nums}.history-who{font-weight:600}.history-diff{flex-basis:100%;margin:2px 0 0;padding-left:18px;color:var(--muted)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.table select{width:auto}.table tr.inactive td{opacity:.55}.role-hints{margin:10px 0 0;padding-left:18px}.backup-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.backup-list li{display:flex;flex-wrap:wrap;gap:4px 12px}.notice{padding:10px 12px;border-radius:6px;background:var(--accent-soft);font-size:14px}.notice-warning{background:var(--bg-side);border:1px solid var(--st-warning);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.backup-offsite{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;margin:10px 0 0}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;z-index:50}.modal{width:min(620px,100%);background:var(--bg-side);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.switcher-input{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding:14px 16px!important;font-size:16px!important;background:transparent!important;outline:none!important}.switcher-list{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.switcher-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-text{display:flex;flex-direction:column;min-width:0;gap:1px}.switcher-snippet{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-hint{flex-shrink:0;text-align:right}.snippet mark{background:var(--accent-soft);color:var(--text);border-radius:2px;padding:0 1px}.meaning-tag{font-style:italic}.link-suggest{display:flex;align-items:center;gap:6px;margin:0 0 8px;height:30px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.link-suggest>*{flex-shrink:0}.suggest-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;border:1px dashed var(--accent);border-radius:999px;background:none;color:var(--text);font-size:13px;cursor:pointer}.suggest-chip:hover,.suggest-chip:focus-visible{background:var(--accent-soft)}.similar{margin-top:18px}.similar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.similar a{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;color:var(--text);text-decoration:none;font-size:13.5px}.similar a:hover{background:var(--bg-hover)}.similar-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dupes{flex-direction:column;align-items:flex-start}.dupe-list{margin:4px 0 0;padding-left:18px;font-size:13.5px}.sem-status{font-size:14px;margin:10px 0 0}.inbox-add .form-actions{margin-top:10px}.inbox-tabs{margin:18px 0 12px}.inbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.inbox-item{display:flex;gap:14px;padding:12px}.inbox-thumb{width:84px;height:84px;flex-shrink:0;border-radius:6px;object-fit:cover;background:var(--bg-side);border:1px solid var(--border)}.inbox-icon{display:grid;place-items:center;font-weight:800;color:var(--muted);font-size:15px}.inbox-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.inbox-title{font-weight:600;overflow-wrap:anywhere}.inbox-note{margin:4px 0 0;font-size:14px;white-space:pre-wrap;max-height:7.5em;overflow:hidden}.inbox-files{list-style:none;margin:2px 0 0;padding:0;font-size:13.5px}.inbox-item .form-actions{margin-top:6px}.inbox-attach{margin:6px 0 0}.fin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:1100px){.fin-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.fin-inputs .form-block,.fin-results .card{margin-top:0;margin-bottom:14px}.input-suffix{display:flex;align-items:center;gap:6px}.input-suffix input{flex:1;min-width:0}.fin-table th{font-weight:500;text-align:left}.fin-table td.num,.fin-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fin-table .sum-row th,.fin-table .sum-row td{font-weight:700;border-top:1px solid var(--border)}.fin-table tr.muted th,.fin-table tr.muted td{color:var(--muted);font-size:13px}.fin-compare .chosen{background:var(--accent-soft)}.fin-gewerke input{max-width:130px;text-align:right}.fin-table tbody th,.fin-gewerke tbody th,.fin-gewerke tfoot th{text-transform:none;letter-spacing:normal;font-size:14px;color:var(--text);font-weight:500}.finanzierung .kpis{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.kpi-sub .status-tag{white-space:normal}@media(max-width:640px){.finanzierung .page-head{flex-direction:column;align-items:stretch}.finanzierung .page-head select{width:100%}}.bm-toolbar{margin-bottom:18px}.bm-toolbar h1{margin:0 0 6px;font-size:26px}.bm-doc{border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;background:var(--bg)}.bm-cover{border-bottom:2px solid var(--text);padding-bottom:14px;margin-bottom:8px}.bm-title{font-size:22px;margin:2px 0 8px}.bm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 16px;margin-top:10px}.bm-facts div{display:flex;flex-direction:column}.bm-facts span{font-size:12px;color:var(--muted)}.bm-facts strong{font-size:16px;font-variant-numeric:tabular-nums}.bm-section{margin-top:18px}.bm-section h3{font-size:16px;margin:0 0 8px;padding-bottom:3px;border-bottom:1px solid var(--border)}.bm-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.bm-doc caption{text-align:left;font-weight:700;padding:0 0 4px}.bm-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.bm-fotos figure{margin:0}.bm-fotos img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.bm-fotos figcaption{font-size:11.5px;color:var(--muted)}.bm-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 20px}.bm-checklist h4{margin:4px 0;font-size:13.5px}.bm-checklist ul{list-style:none;margin:0;padding:0;font-size:13.5px}.bm-checklist li{margin:2px 0}.bm-notiz{white-space:pre-wrap}.bm-footer{margin-top:22px;padding-top:8px;border-top:1px solid var(--border)}@media print{@page{size:A4;margin:14mm 14mm 16mm}html,body,#root,.app,.main{height:auto!important;overflow:visible!important;display:block!important;background:#fff!important}.sidebar,.bottom-nav,.toasts,.drawer-backdrop,.no-print{display:none!important}.page{max-width:none!important;padding:0!important;margin:0!important}body{color:#000;font-size:10.5pt}.bm-doc{border:0;padding:0}.bm-doc .table th,.bm-doc .table td{padding:4px 6px}.bm-section{break-inside:avoid}.bm-doc a{color:inherit;text-decoration:none}}.aemter-stand{margin:6px 0 4px;font-size:14.5px}.aemter-vollmacht{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 12px}.aemter-kontakt{margin:-4px 0 6px;line-height:1.35}.anfrage-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.anfrage{display:flex;flex-direction:column;gap:3px;font-size:14px}.anfrage-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.anfrage-name{min-width:0;font-weight:600}.anfrage-hint{line-height:1.35}.anfrage-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:2px}.anfrage-actions select{width:auto}.aemter-stelle .form-actions{margin-top:12px}.aemter-card-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0}.briefkopf>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;cursor:pointer;list-style:none}.briefkopf>summary::-webkit-details-marker{display:none}.briefkopf>summary h2{margin:0;padding:0;border:0}.briefkopf:not([open])>summary:after{content:"ändern";color:var(--accent);font-size:13.5px}.briefkopf[open]>summary:after{content:"einklappen";color:var(--accent);font-size:13.5px}.briefkopf-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:10px}.briefkopf-form label{display:flex;flex-direction:column;gap:3px;font-size:13.5px}.briefkopf-form .wide{grid-column:1 / -1}@media(max-width:640px){.briefkopf-form{grid-template-columns:1fr}}mark.luecke{background:color-mix(in srgb,var(--st-warning) 32%,transparent);color:inherit;border-radius:2px;padding:0 2px}.brief{max-width:170mm;margin:0 auto;padding:32px 36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:15px;line-height:1.5}.brief p{margin:0 0 10px}.brief-absender{display:inline-block;font-size:11.5px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:2px;margin-bottom:8px}.brief-empfaenger{font-style:normal;min-height:28mm;margin-bottom:14px}.brief-datum{text-align:right;margin-bottom:18px}.brief-betreff{font-size:16px;margin:0 0 4px}.brief-objekt{color:var(--muted)}.brief-bitten{margin:0 0 10px;padding-left:20px}.brief-bitten li{margin-bottom:4px}.brief-unterschriften{display:flex;flex-wrap:wrap;gap:24px 48px;margin:36px 0 18px}.brief-unterschriften>div{display:flex;flex-direction:column;min-width:170px}.brief-linie{border-top:1px solid currentColor;margin-bottom:3px}.brief-anlagen{font-size:13px}@media(max-width:640px){.brief{padding:18px 16px;font-size:14.5px}}@media print{.brief{border:0;padding:0;max-width:none;font-size:11pt}.brief-absender{font-size:8pt;color:#000}.brief-empfaenger{min-height:40mm}.brief-objekt{color:#000}mark.luecke{background:none}}.begehung-stand{margin:6px 0 4px;font-size:14.5px}.punkt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.punkt{border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);padding:8px 10px}.punkt-ok{border-left-color:var(--st-good)}.punkt-mangel{border-left-color:var(--st-critical)}.punkt-unklar{border-left-color:var(--st-warning)}.punkt-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.punkt-name{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 220px}.punkt-editor{margin-top:8px;display:flex;flex-direction:column;gap:6px}.punkt-fields{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.punkt-fields input{max-width:190px}.punkt-fields select{width:auto}.punkt-fotos{display:flex;flex-wrap:wrap;gap:6px}.punkt-fotos img{width:72px;height:72px;object-fit:cover;border-radius:4px}.punkt-link{display:inline-block;margin-top:4px}.maengel-text{white-space:pre-wrap}.maengel-table td,.maengel-table th{vertical-align:top}.haushalt-ampel{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0}.nachweis-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.nachweis-list li{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:start;font-size:14px}.nachweis-name{display:flex;flex-direction:column;gap:1px;min-width:0}.nachweis-hint{line-height:1.35}@media(max-width:640px){.nachweis-list li{grid-template-columns:1fr;gap:2px}}.beleg-read{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:6px 12px}@media(max-width:640px){.inbox-item{flex-direction:column}.inbox-thumb{width:100%;height:160px}}.switcher-hints{padding:8px 14px;border-top:1px solid var(--border);font-size:12px}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{padding:9px 14px;border-radius:8px;background:var(--bg-side);border:1px solid var(--border);box-shadow:var(--shadow);font-size:14px}.toast.error{border-color:var(--danger);color:var(--danger)}.error-box{padding:10px 12px;border:1px solid var(--danger);border-radius:6px;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);font-size:14px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:24px auto}@keyframes spin{to{transform:rotate(360deg)}}.login{min-height:100dvh;display:grid;place-items:center;padding:16px;background:var(--bg-side)}.login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:8px;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--bg);box-shadow:var(--shadow)}.login-card h1{margin:6px 0 0;font-size:22px}.login-card p{margin:0 0 8px}.login-card .btn{justify-content:center;margin-top:8px;padding:9px}@media(max-width:1100px){.note-layout{grid-template-columns:minmax(0,1fr)}.note-side{border-left:0;border-top:1px solid var(--border);padding:18px 32px 40px}.note-side .local-graph{position:relative;top:0;height:260px}}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr);height:100dvh}.ribbon{display:none}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);z-index:40;transform:translate(-102%);transition:transform .2s ease;padding-top:env(safe-area-inset-top)}.sidebar.open{transform:none;box-shadow:var(--shadow)}.drawer-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:35}.main{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.app.graph-mode .main{padding-bottom:0}.app.graph-mode .graph-view{bottom:calc(58px + env(safe-area-inset-bottom))}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);background:var(--bg-side);border-top:1px solid var(--border);justify-content:space-around;align-items:center;z-index:30}.bottom-nav>a,.bottom-nav>button{display:grid;place-items:center;width:48px;height:44px;border:0;background:none;color:var(--muted);border-radius:10px}.bottom-nav>.active{color:var(--accent)}.bottom-nav .bottom-add{background:var(--accent);color:var(--on-accent);width:52px;height:40px;border-radius:12px}.page{padding:18px 16px 40px}.note-side{padding:16px}.note-title{font-size:25px}.form-grid{grid-template-columns:minmax(0,1fr)}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters input[type=search]{grid-column:1 / -1}.prop{grid-template-columns:120px minmax(0,1fr)}.link-group{grid-template-columns:minmax(0,1fr);gap:4px}.graph-panel{left:12px;right:12px;width:auto;max-height:60%}.toasts{left:16px;right:16px;bottom:calc(70px + env(safe-area-inset-bottom))}.table:not(.fin-table,.fin-gewerke) thead{display:none}.table:not(.fin-table,.fin-gewerke),.table:not(.fin-table,.fin-gewerke) tbody,.table:not(.fin-table,.fin-gewerke) tr,.table:not(.fin-table,.fin-gewerke) td{display:block;width:100%}.table:not(.fin-table,.fin-gewerke) tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:6px 4px}.table:not(.fin-table,.fin-gewerke) td{border:0;padding:4px 8px}}.page.wide{max-width:1080px}.quick-links{padding:0 6px 6px;border-bottom:1px solid var(--border);margin-bottom:6px}.quick-links .tree-row{color:var(--muted)}.quick-links .tree-row:hover{color:var(--text)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:6px 0 4px}.kpi{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--bg);min-width:0}.kpi-label{font-size:13px;color:var(--muted)}.kpi-value{font-size:25px;font-weight:650;letter-spacing:-.01em;margin-top:2px;overflow-wrap:anywhere}.kpi-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 12px}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.card-head h2{margin:0;padding:0;border:0;font-size:15px}.card .note-section{margin-top:0}.meter{--fill: var(--c-blue);height:10px;border-radius:4px;background:color-mix(in srgb,var(--fill) 20%,var(--bg));overflow:hidden}.meter>span{display:block;height:100%;background:var(--fill);border-radius:0 4px 4px 0}.meter.st-good{--fill: var(--st-good)}.meter.st-warning{--fill: var(--st-warning)}.meter.st-critical{--fill: var(--st-critical)}.status-tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap}.status-icon{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:11px;font-weight:800;color:#fff}.st-good .status-icon,.status-tag.st-good .status-icon{background:var(--st-good)}.status-tag.st-warning .status-icon{background:var(--st-warning);color:#1b1b1b}.status-tag.st-critical .status-icon{background:var(--st-critical)}.grenze{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.grenze-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.grenze-figure{font-size:22px;font-weight:650}.grenze .meter{height:12px}.budget-table .num,.bars .num,.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.budget-table tfoot th,.budget-table tfoot td{font-weight:650;border-top:2px solid var(--border);border-bottom:0}.meter-cell{min-width:170px}.meter-text{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.bars{width:100%;border-collapse:collapse;font-size:14px}.bars th{text-align:left;font-weight:500;padding:5px 10px 5px 0;width:38%;overflow-wrap:anywhere}.bars td{padding:5px 0}.bar-cell{width:100%;padding-right:10px!important}.hbar{display:block;height:10px;min-width:2px;background:var(--c-blue);border-radius:0 4px 4px 0}.due-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.due-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px}.due-date{font-variant-numeric:tabular-nums;font-weight:600;min-width:88px}.due-type{font-size:12.5px;min-width:64px}.question-groups details{padding:4px 0}.question-groups summary{cursor:pointer;font-size:14px}.question-groups ul{margin:6px 0 4px;padding-left:20px;font-size:14px}.settings-form{margin:6px 0 10px;padding-top:10px;border-top:1px dashed var(--border)}@media(max-width:860px){.two-col{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:20px}.budget-table .num{text-align:left}}.side{display:flex;flex-direction:column;width:100%;min-height:0;padding:12px 8px 8px;gap:4px}.side-head{display:flex;align-items:center;gap:8px;padding:2px 8px 8px}.side-add{justify-content:center;margin:0 4px 8px}.side-nav{display:flex;flex-direction:column;gap:1px}.side-link{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:6px;background:none;color:var(--text);font-size:14.5px;text-align:left;cursor:pointer}.side-link svg{color:var(--muted);flex:none}.side-link:hover{background:var(--bg-hover);text-decoration:none}.side-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side-link.active svg{color:var(--accent)}.side-link.small{font-size:13.5px;padding:5px 10px}.side-kbd{margin-left:auto;font-size:11px;color:var(--faint)}.side-badge{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11.5px;font-weight:700;text-align:center;line-height:18px}.side-section{margin-top:10px;display:flex;flex-direction:column;min-height:0}.side-section.grow{flex:1}.side-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 10px 4px}.side-foot{border-top:1px solid var(--border);padding-top:6px;display:flex;flex-direction:column;gap:1px}.side .explorer{flex:1;min-height:0}.side .explorer-filter{margin:0 4px 6px}.side .tree{padding:0 0 12px}.tree-row.folder .dot,.tree-row.folder .ring{margin-right:2px}.year-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 10px}.list-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.list-filters input[type=search]{width:auto;flex:1 1 220px}.facet,.cols{position:relative}.facet>summary,.cols>summary{list-style:none;cursor:pointer}.facet>summary::-webkit-details-marker,.cols>summary::-webkit-details-marker{display:none}.facet>summary{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:13.5px}.facet>summary:hover{border-color:var(--accent)}.facet>summary.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:600}.facet-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px}.facet-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:220px;max-height:340px;overflow:auto;padding:8px 10px;background:var(--bg-side);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.facet-panel .check-row{padding:3px 0}.active-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.active-filters .mini-chip{cursor:pointer;padding:2px 9px;font-size:12.5px}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:6px 0 10px}.inline-label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}.inline-label select{width:auto}.list-count{margin-left:auto}.th-sort{border:0;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort:hover{color:var(--text)}.list-table td{vertical-align:top}.list-table .row-title{display:inline-flex;align-items:baseline;gap:7px;color:var(--text);font-weight:500}.list-table tr.voided td{opacity:.55}.list-table tr.voided .row-title{text-decoration:line-through}.group-row th{background:var(--bg-side);font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--text);padding:8px}.group-label{font-weight:700}.group-sum{margin-left:16px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}.list-table tfoot td{font-weight:650;border-top:2px solid var(--border);border-bottom:0}.list-page .page-head{align-items:flex-start}@media(max-width:860px){.list-count{margin-left:0;flex-basis:100%}.facet-panel{position:fixed;left:12px;right:12px;top:auto;bottom:calc(70px + env(safe-area-inset-bottom));max-height:50vh}.group-row th{display:block}.list-table .group-row{border:0;padding:0;margin:14px 0 6px;background:none}}.page-head select{width:auto}.list-table th,.list-table td.nowrap{white-space:nowrap}.list-table td.col-title{min-width:240px}.facet-row{display:contents}.filter-toggle{display:none}@media(max-width:860px){.filter-toggle{display:inline-flex}.list-filters .facet-row{display:none}.list-filters.open .facet-row{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}.list-filters input[type=search]{flex:1 1 0}.list-table td{padding:2px 10px}.list-table td.col-title{min-width:0;font-size:15.5px;padding-top:6px}.list-table td:empty{display:none}.list-table td[data-label]:not(.col-title):before{content:attr(data-label) ": ";color:var(--muted);font-size:13px}.list-table td.num{text-align:left}.list-table td.nowrap{white-space:normal}.list-table tfoot tr{border:0}.list-table tfoot td:not(.num){display:none}}@media(max-width:860px){.list-table tbody tr:not(.group-row){display:flex;flex-direction:column}.list-table td.col-title{order:-1}}
