:root{--green:#315d55;--green2:#4b766b;--cream:#f4f7f3;--orange:#d98236;--red:#a83a3a;--shadow:0 8px 25px rgba(30,50,45,.10)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#26332f;font-family:Arial,sans-serif;line-height:1.45}a{color:var(--green);text-decoration:none}button,.button{display:inline-block;border:0;border-radius:10px;background:var(--green);color:#fff;padding:.8rem 1.05rem;font-weight:700;cursor:pointer}.secondary{background:#e5ece9;color:#284a43}.camera{background:var(--orange)}.top{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 12px #0001;display:flex;align-items:center;gap:1rem;padding:.5rem 1rem}.toplogo{width:240px;max-width:45vw;height:auto}.top nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto}.top nav a{padding:.55rem .7rem;border-radius:8px}.top nav a:hover{background:#edf3f0}.menubtn{display:none;margin-left:auto}.wrap{max-width:1250px;margin:1.5rem auto;padding:0 1rem}.lead{font-size:1.1rem}.card{background:#fff;border-radius:16px;padding:1.25rem;margin:1rem 0;box-shadow:var(--shadow)}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.cards article{background:#fff;border-radius:14px;padding:1.1rem;box-shadow:var(--shadow)}.cards span{display:block;color:#63736e}.cards strong{display:block;font-size:1.65rem;margin-top:.4rem}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}.quick a{background:#fff;border-radius:12px;padding:1rem;text-align:center;font-weight:700;box-shadow:var(--shadow)}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block;font-weight:700;margin:.75rem 0}input,select,textarea{width:100%;padding:.75rem;border:1px solid #cbd7d2;border-radius:9px;background:#fff;font:inherit}textarea{min-height:85px}.check,.checks label{font-weight:400}.checks{display:flex;gap:2rem}.checks input,.check input{width:auto}.actions{display:flex;gap:.7rem;margin-top:1rem}.success,.error{padding:.85rem;border-radius:9px;margin:1rem 0}.success{background:#dcf2e5}.error{background:#f8dddd;color:#7f2626}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e4ebe8;vertical-align:top}th{background:#f0f5f3}.dangerlink{color:var(--red)}.badge{background:#e4eeea;padding:.25rem .5rem;border-radius:20px}.missing{color:var(--red);font-weight:700}.itemrow{display:grid;grid-template-columns:145px 1fr 100px 120px 45px;gap:.5rem;margin:.5rem 0}.upload{background:#edf5f1;padding:1rem;border-radius:12px}.upload small{font-weight:400}.auth{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth .card{width:min(850px,100%)}.logo{max-width:460px;width:100%}footer{text-align:center;padding:2rem;color:#667}.printtools{max-width:900px;margin:1rem auto;display:flex;gap:.6rem;flex-wrap:wrap}.invoice{background:#fff;width:210mm;min-height:297mm;margin:auto;padding:20mm;box-shadow:var(--shadow)}.invoice-logo{width:110mm;max-width:100%}.sender{font-size:9pt;text-decoration:underline;margin-top:15mm}.recipient{margin-top:5mm;min-height:35mm}.invoice-meta{text-align:right;margin-bottom:12mm}.invoice footer{margin-top:25mm;font-size:9pt}.invoice table td,.invoice table th{font-size:10pt}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.menubtn{display:block}.top nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;padding:1rem;flex-direction:column}.menuopen .top nav{display:flex}.toplogo{max-width:65vw}.itemrow{grid-template-columns:1fr 1fr}.itemrow input:nth-child(2){grid-column:1/-1}.titlebar{align-items:flex-start;flex-direction:column}.invoice{width:100%;min-height:auto;padding:8mm}.printtools{padding:0 1rem}}@media(max-width:520px){.cards{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.wrap{padding:0 .65rem}.card{padding:1rem}.top{padding:.45rem .65rem}h1{font-size:1.55rem}button,.button{width:100%;text-align:center}.actions{flex-direction:column}.checks{flex-direction:column;gap:0}}@media print{.printtools{display:none}.invoice{box-shadow:none;margin:0;width:auto;min-height:auto;padding:15mm}body{background:#fff}@page{size:A4;margin:0}}/* PraxisSuite 1.1 */
.dashboardcards{grid-template-columns:repeat(6,1fr)}.dashboardcards small{display:block;margin-top:.35rem;color:#8a3b32}.cameraquick{border:2px solid #d98236}.dashboardgrid{align-items:start}.list{display:flex;flex-direction:column}.listrow{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e5ece9}.listrow:last-child{border-bottom:0}.listrow span:first-child{min-width:0}.listrow strong,.listrow small{display:block}.listrow small{color:#6d7b76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.amount{font-weight:700;white-space:nowrap}.positive{color:#2e6a4b}.negative,.late{color:#a83a3a;font-weight:700}.tabs{display:flex;gap:.5rem;margin:1rem 0}.tabs a{background:#fff;padding:.6rem 1rem;border-radius:9px}.tabs a.active{background:var(--green);color:#fff}.muted{opacity:.6}.filterbar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.filterbar label{margin:0;min-width:170px}.filterbar button,.filterbar .button{width:auto}.reporthead{display:flex;align-items:center;justify-content:space-between;margin:1rem 0;background:#fff;padding:1rem 1.25rem;border-radius:16px}.reporthead img{width:280px;max-width:48%}.reporthead h2,.reporthead p{margin:.15rem 0;text-align:right}.reportcards{grid-template-columns:repeat(3,1fr)}tr.total td{font-weight:700;border-top:2px solid #97aaa3}.legalnote{font-size:.92rem}.mobilebar{display:none}code{background:#eef2f0;padding:.18rem .35rem;border-radius:5px}.noprint{}
@media(max-width:1100px){.dashboardcards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){body{padding-bottom:72px}.top{position:sticky}.mobilebar{position:fixed;z-index:40;left:0;right:0;bottom:0;height:64px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -3px 18px #0002;padding-bottom:env(safe-area-inset-bottom)}.mobilebar a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.15rem}.mobilebar span{font-size:.7rem;margin-top:.1rem}.dashboardcards{grid-template-columns:repeat(2,1fr)}.reporthead{align-items:flex-start}.reporthead img{width:220px}.listrow small{max-width:52vw}}
@media(max-width:520px){.dashboardcards,.reportcards{grid-template-columns:1fr}.reporthead{flex-direction:column}.reporthead img{max-width:100%;width:100%}.reporthead h2,.reporthead p{text-align:left}.filterbar>*{width:100%!important}.listrow small{max-width:58vw}}
@media print{.top,.mobilebar,footer,.noprint,.menubtn{display:none!important}.wrap{max-width:none;margin:0;padding:0}.card,.reporthead,.cards article{box-shadow:none;border:1px solid #d7dfdc;break-inside:avoid}.reportcards{grid-template-columns:repeat(3,1fr)}body{padding:0}.legalnote{margin-top:8mm}}
/* PraxisSuite 1.2 – Schnellzugriff und Kontaktzentrale */
.quickaccesscard{background:linear-gradient(135deg,#fff,#edf5f1)}.quickmain{grid-template-columns:repeat(4,1fr)}.quickmain a{min-height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;border:2px solid transparent}.quickmain a>span{font-size:2rem}.quickmain strong{font-size:1.08rem;margin:.35rem 0}.quickmain small{color:#64746f;font-weight:400}.quickmain .quickincome{border-color:#77a58f}.quickmain .quickexpense{border-color:#dca269}.quickmain .quickreport{border-color:#7596ac}.quickmain .quickcontact{border-color:#9a88b4}.quicksecondary{margin-bottom:0}.institutiongrid{align-items:stretch}.institutioncard{height:100%}.institutionhead{display:flex;gap:1rem;align-items:flex-start;border-bottom:1px solid #e4ebe8;padding-bottom:1rem}.institutionhead h2,.institutionhead p{margin:.1rem 0}.institutionicon{font-size:2.5rem}.contactdetails{display:grid;grid-template-columns:130px 1fr;gap:.55rem 1rem;margin:1.2rem 0}.contactdetails dt{font-weight:700;color:#596b65}.contactdetails dd{margin:0}.contactactions{display:flex;flex-wrap:wrap;gap:.6rem}.contactactions .button{width:auto}.fullwidth{grid-column:1/-1}
@media(max-width:900px){.quickmain{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.quickmain{grid-template-columns:1fr}.quickmain a{min-height:112px}.contactdetails{grid-template-columns:1fr;gap:.15rem}.contactdetails dd{margin-bottom:.65rem}.contactactions .button{width:100%}}
/* PraxisSuite 2.0 – Praxiskalender */
.quickmain{grid-template-columns:repeat(5,1fr)}.quickmain .quickcalendar{border-color:#70a5a0}.calendarhead{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendarhead h2{margin:0}.calendargrid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;margin:1rem 0;overflow:auto}.weekday{font-weight:700;text-align:center;background:#dfe9e5;padding:.65rem;border-radius:8px;min-width:120px}.calday{background:#fff;min-height:145px;border-radius:12px;padding:.45rem;box-shadow:0 3px 12px #0001;min-width:120px}.calday.outside{opacity:.48}.calday.today{outline:3px solid #d98236}.daynum{display:flex;justify-content:flex-end;font-weight:700;margin-bottom:.3rem}.daynum a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%}.daynum a:hover{background:#e9f0ed}.event{display:block;background:#f1f5f3;border-left:5px solid #4b766b;border-radius:7px;padding:.35rem .4rem;margin:.3rem 0;color:#26332f;font-size:.82rem}.event strong,.event small{display:block}.event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event.status-abgesagt{opacity:.55;text-decoration:line-through}.event.status-erledigt{opacity:.65}.appointment-actions{font-size:.88rem;white-space:nowrap}.calendargrid+.grid2{margin-top:1rem}
@media(max-width:1100px){.quickmain{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.quickmain{grid-template-columns:1fr 1fr}.calendarhead{flex-direction:column}.calendarhead .button{width:100%;text-align:center}.calendargrid{grid-template-columns:repeat(7,112px)}.calday{min-height:120px;min-width:112px}.weekday{min-width:112px}.appointment-actions{white-space:normal;text-align:right}}
@media(max-width:520px){.quickmain{grid-template-columns:1fr}.calendargrid{grid-template-columns:repeat(7,105px)}.calday{min-width:105px}.weekday{min-width:105px}}

/* PraxisSuite 2.1 – mobile Rechnungen und Sicherheit */
.mobile-savebar{margin-top:1rem}.securitylist>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #e4ebe8}.secureok{color:#2e6a4b;font-weight:700}.securewarn{color:#a83a3a;font-weight:700}
@media(max-width:700px){.itemrow{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.8rem;border:1px solid #dce6e2;border-radius:12px;background:#f8fbf9}.itemrow input:nth-child(1){grid-column:1/-1}.itemrow input:nth-child(2){grid-column:1/-1}.itemrow button{width:100%;grid-column:1/-1}.mobile-savebar{position:sticky;bottom:68px;z-index:15;background:rgba(244,247,243,.96);padding:.65rem 0 calc(.65rem + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}.mobile-savebar button{width:100%;min-height:52px}.securitylist>div{flex-direction:column;gap:.2rem}}
