:root{--accent: #0e7c66;--accent-soft: #0e7c661a;--bg: #f5f7f6;--surface: #ffffff;--surface-2: #eef1ef;--text: #14181a;--muted: #6b7280;--border: #e3e7e5;--danger: #b4302a;--radius: 14px;--shadow: 0 1px 2px rgba(16, 24, 20, .05), 0 6px 16px rgba(16, 24, 20, .04);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--accent: #2fa189;--accent-soft: #2fa1891f;--bg: #0f1211;--surface: #171b1a;--surface-2: #1e2322;--text: #e7ecea;--muted: #97a09c;--border: #262c2a;--danger: #e5766f;--shadow: none}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea{font:inherit;color:inherit}.icon{width:20px;height:20px;flex:none}.app{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main" "nav";overflow:hidden}.topbar{grid-area:top;z-index:5;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:var(--bg);border-bottom:1px solid var(--border)}.brand{font-weight:650;letter-spacing:-.01em;color:inherit;text-decoration:none;border-radius:8px}.brand:hover{color:var(--accent)}.status{width:9px;height:9px;flex:none;border-radius:50%;background:var(--muted)}.status-text{margin-right:auto;font-size:12px;font-weight:550;color:var(--muted);white-space:nowrap}.status-text:empty{margin-right:auto}.status[data-state=ok]{background:var(--accent)}.status[data-state=pending]{background:#d99a2b}.status[data-state=syncing]{background:#d99a2b;animation:pulse 1.1s ease-in-out infinite}.status[data-state=offline]{background:var(--muted)}@keyframes pulse{50%{opacity:.25}}.outlet{grid-area:main;min-width:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.outlet>.view{width:100%;max-width:780px;margin:0 auto;padding:18px 14px 28px}.nav{grid-area:nav;display:flex;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:550}.nav-item.active{color:var(--accent);background:var(--accent-soft)}@media(min-width:860px){.app{grid-template-columns:216px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top" "nav main"}.nav{flex-direction:column;gap:2px;padding:14px 10px;border-top:none;border-right:1px solid var(--border);overflow-y:auto}.nav-item{flex:none;flex-direction:row;justify-content:flex-start;gap:10px;font-size:15px;padding:10px 12px}.outlet>.view{padding:26px 24px 40px;margin:0}}.view{display:flex;flex-direction:column;gap:14px}.view-header{display:flex;align-items:center;gap:10px}.view-header h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.02em}.badge{margin-left:auto;font-size:13px;color:var(--muted);background:var(--surface-2);padding:3px 10px;border-radius:999px}.title-input{flex:1;min-width:0;border:none;background:transparent;font-size:22px;font-weight:650;letter-spacing:-.02em;padding:4px 0}.title-input:focus{outline:none;border-bottom:2px solid var(--accent)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list.grid{gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.empty{color:var(--muted);text-align:center;padding:32px 12px;margin:0}.empty.small{padding:14px;font-size:14px}.muted{color:var(--muted);font-size:13px}.section{display:flex;flex-direction:column;gap:10px;margin-top:6px}.section h2{margin:0;font-size:15px;font-weight:600;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;color:var(--muted)}.field input,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.add-form{display:flex;gap:8px;flex-wrap:wrap}.add-input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.add-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;font-weight:550;transition:background .15s ease}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--danger)}.btn.icon-only{padding:9px}.btn.wide{width:100%;padding:12px}.btn:disabled{opacity:.6;cursor:default}.todo-row{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 12px}.check{width:22px;height:22px;flex:none;border:2px solid var(--border);border-radius:50%;background:transparent;cursor:pointer}.check:hover{border-color:var(--accent)}.check.is-done{border-color:var(--accent);background:var(--accent) no-repeat center / 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4 10-10'/%3E%3C/svg%3E")}.todo-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 0;border:none;background:none;text-align:left;cursor:pointer}.todo-title{font-weight:500;overflow-wrap:anywhere}.todo-hint{font-size:13px;color:var(--muted);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo.done .todo-title{text-decoration:line-through;color:var(--muted)}.todo-chevron{display:flex;flex:none;align-items:center;padding:10px 8px;border:none;background:none;color:var(--muted);cursor:pointer}.todo-chevron:hover{color:var(--text)}.todo-chevron .rotated{transform:rotate(180deg)}.todo-details{display:flex;flex-direction:column;gap:12px;padding:12px;border-top:1px solid var(--border)}.todo-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.select-field{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);max-width:100%}.select-field:focus{outline:2px solid var(--accent);outline-offset:-1px}.group-block>summary{display:flex;align-items:center;gap:10px;padding:8px 4px;cursor:pointer;font-size:15px;font-weight:600;list-style:none}.group-block>summary::-webkit-details-marker{display:none}.group-block>summary:before{content:"";width:7px;height:7px;flex:none;margin-left:4px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease}.group-block[open]>summary:before{transform:rotate(45deg)}.group-name{min-width:0;overflow-wrap:anywhere}.group-count{margin-left:auto;flex:none;white-space:nowrap;font-size:13px;font-weight:500;color:var(--muted)}.group-block>.list{margin-bottom:6px}.group-block>.empty.small{padding:0 0 8px 22px;text-align:left}.manage-block{margin-top:10px}.manage-block>summary{cursor:pointer;color:var(--muted);font-size:14px;padding:6px 2px}.manage-block>.list,.manage-block>.empty{margin-top:8px}.manage-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px 4px 12px}.manage-input{flex:1 1 100%;min-width:0;border:none;background:transparent;padding:10px 0;font-weight:500}.manage-input:focus{outline:none;border-bottom:2px solid var(--accent)}.manage-date{flex:0 1 150px;margin-right:auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px}@media(min-width:620px){.manage-input{flex:1 1 140px}.manage-date{margin-right:0}}.done-block{margin-top:4px}.done-block summary{cursor:pointer;color:var(--muted);font-size:14px;padding:6px 2px}.done-block .list{margin-top:8px}.area-main{width:100%;min-width:0;display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:none;background:none;text-align:left;cursor:pointer}.area-name{font-weight:600;overflow-wrap:anywhere}.area-meta{font-size:13px;color:var(--muted);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;border:1.5px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;width:100%}.dropzone:hover,.dropzone.over{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.file{display:flex;align-items:center;gap:4px;padding-right:6px}.file-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.file-main>.icon:first-child{color:var(--accent)}.file-main>.icon:last-child{color:var(--muted);width:16px;height:16px}.file-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:12px;color:var(--muted)}.file-meta.failed{color:var(--danger)}.topbar .btn{color:inherit}.due{font-weight:600}.due.overdue{color:var(--danger)}.due.today{color:var(--accent)}.due.soon{color:var(--text)}.due.later,.due-quelle{color:var(--muted);font-weight:500}.field-grid{display:grid;gap:12px}.field-grid.tight{grid-template-columns:1fr 1fr}.field-grid .select-field,.field-grid input{width:100%}@media(min-width:560px){.field-grid{grid-template-columns:1fr 1fr}}.group-meta{font-size:12px;font-weight:500;color:var(--muted)}.phase-card{display:flex;flex-direction:column;gap:4px;padding:16px}button.phase-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}button.phase-card:hover{background:var(--surface-2)}.phase-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.phase-head .icon{width:16px;height:16px;color:var(--muted)}.phase-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.phase-name{font-size:18px;font-weight:650;letter-spacing:-.01em}.phase-meta{font-size:13px;color:var(--muted)}.bar{margin-top:8px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.panel{display:flex;flex-direction:column;gap:12px;padding:16px}.panel-title{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.panel-value{font-size:16px;font-weight:600}.panel .muted{margin:0}.panel .list{margin-top:2px}.panel .field-grid{gap:10px}.switch-row{display:flex;align-items:center;gap:10px;cursor:pointer}.switch-row input{width:20px;height:20px;accent-color:var(--accent)}.button-row{display:flex;flex-wrap:wrap;gap:8px}.panel>.btn{align-self:flex-start}.reminder-row{display:flex;align-items:center;gap:12px}.reminder-row .phase-name{flex:1;min-width:0}.btn.small{align-self:flex-start;margin-top:8px;padding:7px 12px;font-size:14px}.group-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.group-title.overdue{color:var(--danger)}.group-title.today{color:var(--accent)}.due-row{padding:12px 16px}.results{display:flex;flex-direction:column;gap:10px}.diary-main{width:100%;min-width:0;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.diary-title{font-weight:600;overflow-wrap:anywhere}.diary-meta{font-size:12px;color:var(--muted)}.diary-text{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diary-strip{display:flex;gap:6px;margin-top:4px}.strip-image{width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--border)}.photo-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.photo-tile{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}.photo-open{display:block;padding:0;border:none;background:none;cursor:pointer}.photo-thumb{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;background:var(--border)}.photo-caption{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px}.photo-tile .photo-remove{position:absolute;top:6px;right:6px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow);opacity:.92}.photo-tile .photo-remove:hover{opacity:1;background:var(--surface-2)}.lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#000000f7;backdrop-filter:blur(16px)}.lightbox-image{max-width:100%;max-height:88dvh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:12px;right:12px;color:#fff}.lightbox-caption{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));margin:0;padding:0 16px;color:#fff;text-align:center;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:550;cursor:pointer}.chip .icon{width:15px;height:15px}.chip:hover{background:var(--surface-2)}.chip.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.chip.danger.active{color:var(--danger);border-color:var(--danger);background:transparent}.muster-main{width:100%;min-width:0;display:flex;flex-direction:column;gap:4px;padding:13px 16px;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.muster-head{display:flex;align-items:center;gap:8px;min-width:0}.muster-dot{width:9px;height:9px;flex:none;border-radius:50%;border:1.5px solid var(--border);background:transparent}.muster-dot.entschieden{background:var(--accent);border-color:var(--accent)}.muster-dot.verschoben{background:var(--muted);border-color:var(--muted)}.muster-title{font-weight:600;overflow-wrap:anywhere}.muster-mark{display:inline-flex;flex:none;color:var(--muted)}.muster-mark .icon{width:15px;height:15px}.muster-mark.danger{color:var(--danger)}.muster-choice{font-size:13px;overflow-wrap:anywhere}.muster-meta{font-size:12px;color:var(--muted)}.area-stand{font-size:13px;overflow-wrap:anywhere}.area-flag{margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:550;vertical-align:middle}.card.area.abgeschlossen .area-main{opacity:.6}.brotkrume{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-6px;padding:2px 0;border:none;background:none;color:var(--muted);font-size:13px;cursor:pointer}.brotkrume .icon{width:14px;height:14px}.brotkrume:hover{color:var(--accent)}.stand-form{display:flex;flex-direction:column;gap:8px;padding:12px}.stand-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);resize:vertical}.stand-zeile{display:flex;gap:8px;align-items:center}.stand-zeile input[type=date]{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.verlauf{display:flex;flex-direction:column;gap:4px;padding:12px 14px 8px}.verlauf.aktuell{border-color:var(--accent)}.verlauf-kopf{display:flex;align-items:center;gap:8px}.verlauf-datum{font-size:12px;font-weight:600;color:var(--muted)}.verlauf-marke{padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.verlauf-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.verlauf-aktionen{display:flex;justify-content:flex-end;gap:4px}.verlauf-aktionen .btn.small{align-self:auto;margin-top:0;padding:5px 9px;font-size:13px}.bereich-einstellungen{margin-top:6px;padding-top:14px;border-top:1px solid var(--border)}.unter-gruppe{display:flex;flex-direction:column;gap:8px}.unter-gruppe>summary{cursor:pointer;padding:4px 0;font-size:14px;font-weight:600}.unter-gruppe[open]>summary{margin-bottom:8px}.select-box{width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:6px;color:#fff}.select-box.an{background:var(--accent);border-color:var(--accent)}.select-box .icon{width:14px;height:14px;stroke-width:2.8}.card.gewaehlt{border-color:var(--accent);background:var(--accent-soft)}.auswahl-leiste{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 -6px 18px #0000001a}.auswahl-zahl{flex:1;min-width:0;font-size:14px;font-weight:600}.auswahl-leiste .btn.small{align-self:auto;margin-top:0}.chip.klein{margin-left:8px;padding:3px 9px;font-size:12px;font-weight:550}.btn.aktiv{color:var(--accent);background:var(--accent-soft)}.sums{display:flex;gap:2px;padding:4px}.sum{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px}.sum-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sum-value{font-size:16px;font-weight:650;letter-spacing:-.01em}.sum-hint{font-size:11px;color:var(--muted)}.sum.hervor{background:var(--accent-soft)}.sum.hervor .sum-value{color:var(--accent)}.sum.leise .sum-value{color:var(--muted)}.card.option .muster-choice{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card.option.abgelehnt .muster-title{text-decoration:line-through}.card.option.abgelehnt .muster-main{opacity:.55}.chip.nein.active{color:var(--text);border-color:var(--muted);background:var(--surface-2)}.option-facts{display:flex;flex-direction:column;gap:4px;padding:14px 16px}.option-price{font-size:16px;font-weight:650}.check-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 12px}.section>.check-row{padding:0}.login{height:100dvh;overflow-y:auto;display:grid;place-items:center;padding:24px}.login-form{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 24px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.login-form .icon{width:26px;height:26px;color:var(--accent)}.login-form h1{margin:0;font-size:20px;font-weight:650;letter-spacing:-.02em}.login-form input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);text-align:center}.login-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.login-error{margin:0;color:var(--danger);font-size:14px}
