body{background:#f6f8fb;color:#233044;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:white;border-right:1px solid #e8edf3;padding:24px 16px;display:flex;flex-direction:column}.brand{font-weight:750;font-size:21px;color:#178568;padding:5px 12px 30px}.brand small{display:block;font-size:11px;color:#8b99a7;font-weight:400}.sidebar nav a{display:block;padding:12px 14px;margin:3px 0;border-radius:9px;text-decoration:none;color:#516071}.sidebar nav a:hover,.sidebar nav a.active{background:#e7f6f0;color:#087a55}.sidebar-bottom{margin-top:auto;padding:12px;color:#687587;font-size:12px}.content{margin-left:235px;padding:26px 34px;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.topbar h1{font-size:25px;font-weight:750}.topbar span{color:#788696}.card{border:1px solid #e7edf3;box-shadow:0 3px 15px rgba(27,42,64,.025);border-radius:12px}.card h2{font-size:17px;font-weight:700;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stats .card{padding:22px}.stats span{display:block;color:#7b8795;margin-bottom:14px}.stats strong{font-size:25px}.positive{color:#128761}.negative{color:#cf5160}.table{--bs-table-bg:transparent;--bs-table-hover-bg:#e9f8f1}.table td,.table th{border-right:1px solid #edf0f4;padding:10px}.table tbody tr:hover{background:#edf9f2}.description{max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth{max-width:480px;margin:10vh auto}.auth-brand{font-size:28px;color:#158361;font-weight:800;text-align:center;margin-bottom:24px}.secret{font-family:monospace;letter-spacing:2px;font-weight:700;word-break:break-all}.wrap{overflow-wrap:anywhere}.edit-form{min-width:210px;display:grid;gap:5px}summary{cursor:pointer;color:#087a55}.btn-primary{background:#138565;border-color:#138565}.btn-primary:hover{background:#0d6b50;border-color:#0d6b50}@media(max-width:850px){.sidebar{position:static;width:auto;padding:12px}.sidebar nav{display:flex;overflow-x:auto;gap:3px}.sidebar nav a{white-space:nowrap;padding:8px}.sidebar-bottom{display:none}.content{margin:0;padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.topbar span{display:none}}
/* 0.1.1 dashboard */
body{background:#f5f7fa;color:#202d3b}.sidebar{width:252px;padding:27px 16px;box-shadow:2px 0 18px rgba(30,50,70,.02)}.brand{font-size:20px;letter-spacing:-.5px;padding:7px 10px 32px}.brand small{font-size:9px;letter-spacing:1.2px;margin-top:5px}.nav-heading{font-size:10px;font-weight:800;color:#9ba7b3;letter-spacing:1.1px;margin:24px 13px 8px}.sidebar nav a{font-size:13px;font-weight:550;padding:11px 13px}.sidebar nav a i{font-size:17px;margin-right:11px}.sidebar-bottom{display:flex;gap:11px;align-items:center;border-top:1px solid #edf0f2;padding-top:18px}.sidebar-bottom small,.profile-copy small{display:block;font-size:11px;color:#8795a3}.avatar-mini{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#e4f4ee;color:#138565;font-weight:800}.content{margin-left:252px;max-width:none;padding:28px 38px}.topbar{margin-bottom:30px}.topbar h1{font-size:25px;margin:4px 0 0;letter-spacing:-.5px}.eyebrow,.section-overline{font-size:10px;letter-spacing:1.2px;color:#9ba6b2;font-weight:800}.profile-button{border:1px solid #e6edf2;background:#fff;border-radius:12px;padding:7px 12px;display:flex;gap:10px;align-items:center}.profile-copy{text-align:left;font-size:12px}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.dashboard-greeting{font-size:21px;font-weight:750;margin:5px 0}.toolbar-actions{display:flex;align-items:center;gap:5px}.month-label{font-weight:700;min-width:70px;text-align:center}.modern-stats{margin-bottom:20px}.modern-stats .card{padding:23px 24px;min-height:155px}.modern-stats strong{display:block;font-size:27px;letter-spacing:-.6px;margin:10px 0 5px}.modern-stats small{color:#9aa7b3}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-top span{margin:0;color:#6d7a89;font-weight:600}.stat-icon{font-size:20px;color:#94a6b5;background:#f0f4f7;padding:7px 10px;border-radius:10px}.income-icon{color:#139b76;background:#e7f8f1}.expense-icon{color:#d95463;background:#fff0f1}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;margin-bottom:20px}.dashboard-panel{padding:23px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:20px}.panel-head h2{font-size:16px;margin:0 0 5px}.panel-head p{font-size:12px;color:#98a5b0;margin:0}.panel-head>a{text-decoration:none;color:#138565;font-weight:650}.panel-head>i{font-size:20px;color:#9daab5}.chart-area{height:260px;position:relative}.bottom-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr)}.account-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3}.account-line:last-child{border-bottom:0}.account-line small{display:block;color:#98a5b0}.account-symbol{background:#edf7f3;color:#138565;border-radius:12px;padding:11px}.muted-empty{color:#9aa5b2;padding:30px 0;text-align:center}.empty-notice{display:flex;align-items:center;gap:17px;background:#eaf8f2;border:1px solid #c9ecdd;border-radius:13px;padding:16px 19px;margin-bottom:20px}.empty-notice strong{color:#176a50}.empty-notice p{color:#6e887e;font-size:12px}.empty-icon{font-size:25px;color:#139b76}.table th{font-size:12px;color:#6f7d8a}.table td{font-size:12px}.dropdown-menu{z-index:1050;box-shadow:0 12px 32px #26394a22;border-color:#e9eef2}@media(max-width:1200px){.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{width:auto}.content{margin:0;padding:18px}.dashboard-toolbar{align-items:flex-start;flex-direction:column}.sidebar-bottom{display:none}.modern-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.modern-stats{grid-template-columns:1fr}.toolbar-actions{flex-wrap:wrap}.empty-notice{flex-wrap:wrap}.empty-notice .btn{margin-left:0!important}.profile-copy{display:none}}

/* 0.1.2: Login & MFA – rein visuelle Anpassungen */
body.auth-page{min-height:100vh;background:#e8f2ed url('auth-background.svg') center center/cover fixed no-repeat;position:relative}
body.auth-page::before{content:"";position:fixed;inset:0;background:linear-gradient(115deg,rgba(244,250,247,.80),rgba(246,250,248,.58));pointer-events:none}
body.auth-page .auth{position:relative;z-index:1;max-width:460px;margin:0 auto;padding:clamp(55px,9vh,110px) 16px 50px}
body.auth-page .auth-brand{color:#107b5d;font-size:28px;letter-spacing:-.6px;margin-bottom:26px;text-shadow:0 1px 0 #fff}
body.auth-page .auth-brand small{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:#638778;margin-top:4px}
body.auth-page .auth-card{border:1px solid rgba(255,255,255,.95);border-radius:20px;box-shadow:0 22px 65px rgba(31,71,56,.14);background:rgba(255,255,255,.96);padding:30px!important;backdrop-filter:blur(9px)}
body.auth-page .auth-card h2{font-size:22px;margin:0 0 8px;color:#22352f}
body.auth-page .auth-card .text-muted{font-size:13px;margin-bottom:24px}
body.auth-page .auth-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e3f5ed;color:#128363;font-size:22px;margin-bottom:18px}
body.auth-page .auth-card .form-label{font-size:13px;font-weight:650;color:#344c43}
body.auth-page .auth-card .form-control{border-radius:10px;min-height:45px;border-color:#d8e4de}
body.auth-page .auth-card .form-control:focus{border-color:#128363;box-shadow:0 0 0 .2rem rgba(18,131,99,.13)}
body.auth-page .auth-card .btn-primary{min-height:45px;border-radius:10px;font-weight:650}
body.auth-page .auth-code{letter-spacing:7px;font-size:20px;text-align:center;font-variant-numeric:tabular-nums}
body.auth-page .password-field{position:relative}
body.auth-page .password-field input{padding-right:46px}
body.auth-page .password-toggle{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#6d8178;width:33px;height:32px;border-radius:8px}
body.auth-page .password-toggle:hover{background:#e8f4ee;color:#087c5b}
body.auth-page .alert{box-shadow:0 4px 20px #244c3818}
@media(max-width:540px){body.auth-page{background-position:55% center}body.auth-page .auth{padding-top:55px}body.auth-page .auth-card{padding:22px!important}}
@media(prefers-reduced-motion:reduce){body.auth-page *{scroll-behavior:auto}}
