:root{--color-peach:#e7baa0;--color-sand:#e5dace;--color-sage:#b2b2a2;--color-green:#6d7973;--color-chocolate:#3f3931;--color-bg:var(--color-sand);--color-surface:#f4efe9;--color-text:var(--color-chocolate);--color-primary:var(--color-green);--color-on-primary:#fff;--color-accent:var(--color-peach);--color-muted:var(--color-sage);--color-field:#fff;--color-error:#8a3b2c;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:12px;--space:16px}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;line-height:1.5}h1{color:var(--color-primary);margin:0 0 var(--space)}.page{max-width:960px;padding:var(--space);margin:0 auto}.muted{color:var(--color-primary);opacity:.8}.topbar{margin-bottom:var(--space);justify-content:space-between;align-items:center;display:flex}.login{min-height:100dvh;padding:var(--space);place-items:center;display:grid}.card{background:var(--color-surface);border-radius:var(--radius);padding:calc(var(--space) * 1.5);gap:var(--space);width:100%;max-width:380px;display:grid}label{gap:4px;font-size:.95rem;display:grid}input{font:inherit;border:1px solid var(--color-muted);background:var(--color-field);color:var(--color-text);border-radius:8px;padding:12px}input:focus{outline:2px solid var(--color-primary);outline-offset:1px}button{font:inherit;background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:0;border-radius:8px;padding:12px 16px}button:disabled{opacity:.6}button.link{color:var(--color-primary);background:0 0;padding:4px 0;text-decoration:underline}.error{color:var(--color-error);margin:0}h2{margin:0;font-size:1.15rem}a{color:var(--color-primary)}.topnav{gap:var(--space);align-items:center;display:flex}.page .card{max-width:none}button.secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.signature{gap:6px;display:grid}.signature-canvas{background:var(--color-field);border:1px dashed var(--color-muted);touch-action:none;border-radius:8px;width:100%;height:180px}.signature-row{justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shell{min-height:100dvh}.mainnav{padding:8px var(--space);background:var(--color-primary);align-items:center;gap:4px;display:flex}.mainnav a,.mainnav .signout{color:var(--color-on-primary);border-radius:8px;padding:10px 12px;text-decoration:none}.mainnav a.active{background:#ffffff29}.mainnav .signout{margin-left:auto;text-decoration:none}@media (width<=700px){.mainnav{z-index:10;padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.mainnav .signout{margin-left:0}.mainnav a,.mainnav .signout{padding:10px 4px;font-size:.82rem}.shell-content{padding-bottom:80px}}.practice-name{margin:0 0 4px}.titlebar{justify-content:space-between;align-items:center;gap:var(--space);margin-bottom:var(--space);flex-wrap:wrap;display:flex}.titlebar h1{margin:0}a.button{background:var(--color-primary);color:var(--color-on-primary);border-radius:8px;padding:12px 16px;text-decoration:none;display:inline-block}a.button.secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}input[type=search]{width:100%;margin-bottom:var(--space)}textarea{font:inherit;border:1px solid var(--color-muted);background:var(--color-field);color:var(--color-text);resize:vertical;border-radius:8px;padding:12px}.rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rows a{padding:12px var(--space);background:var(--color-surface);border-radius:var(--radius);color:var(--color-text);gap:2px;text-decoration:none;display:grid}.grid2,.grid3{gap:var(--space);display:grid}@media (width>=700px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:2fr 1fr 2fr}}.details{margin:0}.details div{gap:2px;display:grid}.details dt{color:var(--color-primary);font-size:.85rem}.details dd{white-space:pre-wrap;margin:0}select{font:inherit;border:1px solid var(--color-muted);background:var(--color-field);color:var(--color-text);border-radius:8px;padding:12px}.filters{margin-bottom:var(--space);grid-template-columns:1fr 1fr;gap:8px;display:grid}.row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge{white-space:nowrap;background:var(--color-sand);color:var(--color-text);border:1px solid var(--color-muted);border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.badge-erstgespraech{background:var(--color-peach);border-color:var(--color-peach)}.badge-einzelsession{background:var(--color-sage);border-color:var(--color-sage)}.badge-intensivbegleitung{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.badge-abgeschlossen{background:var(--color-surface);color:var(--color-primary)}.bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bars a{padding:10px var(--space);background:var(--color-surface);border-radius:var(--radius);color:var(--color-text);grid-template-columns:minmax(110px,1fr) 2fr auto;align-items:center;gap:10px;text-decoration:none;display:grid}.bar-track{background:var(--color-sand);border-radius:999px;height:10px;overflow:hidden}.bar-fill{background:var(--color-primary);border-radius:999px;height:100%;display:block}.bar-count{font-variant-numeric:tabular-nums;font-weight:600}section{margin-top:calc(var(--space) * 1.5)}.notice{background:var(--color-peach);padding:10px var(--space);border-radius:8px}.clamp{-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.signing{max-width:760px}.form-sections{gap:var(--space);display:grid}.question{border:0;gap:6px;margin:0;padding:0;display:grid}.question legend{margin-bottom:4px;padding:0}.choices{gap:calc(var(--space) * 1.5);display:flex}label.choice{align-items:flex-start;gap:10px;font-size:1rem;display:flex}label.choice input{width:22px;height:22px;accent-color:var(--color-primary);flex:none;margin:1px 0 0}.actions{justify-content:space-between;gap:var(--space);margin-top:var(--space);flex-wrap:wrap;display:flex}.row-button{text-align:left;width:100%;padding:12px var(--space);background:var(--color-surface);border-radius:var(--radius);color:var(--color-text);gap:2px;display:grid}
