.app-shell{min-height:100vh;display:flex;flex-direction:column}.dashboard-kundenbereich .card{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.dashboard-kundenbereich .card:hover{box-shadow:0 .5rem 1.5rem #0000001f;transform:translateY(-3px)}.dashboard-kundenbereich .card:hover .text-success{color:#198754!important}.dashboard-contact-icon{position:relative;width:56px;height:56px;border-radius:14px;border:2px solid #9cc200;color:#9cc200;display:inline-flex;align-items:center;justify-content:center}.dashboard-contact-icon i{position:absolute;line-height:1}.dashboard-contact-icon .bi-envelope{font-size:1.85rem;transform:translate(-2px,-2px)}.dashboard-contact-icon .bi-telephone{font-size:1.35rem;transform:translate(10px,10px);background:#fff;padding:2px;border-radius:10px}.app-main{flex:1}.header .sitename,.footer .sitename{letter-spacing:.4px}.site-header .topbar a{color:#1d1d1f}.site-header .topbar a:hover{color:#198754}.header .btn-getstarted{border-radius:50px;font-weight:600}.site-header .logout-link{display:inline-flex;align-items:center;transition:color .2s ease,transform .2s ease}.site-header .logout-link i{transition:transform .2s ease}.site-header .logout-link:hover{color:#198754;transform:translateY(-1px)}.site-header .logout-link:hover i{transform:rotate(-12deg)}.topbar-inner{position:relative}.topbar-logo{position:absolute;left:42%;transform:translate(-50%)}.site-header .navmenu a.active{color:#9cc200;font-weight:600}.linked-account-modal{z-index:1000000!important;pointer-events:auto}.linked-account-modal .modal-dialog{pointer-events:auto}body.modal-open .modal-backdrop{z-index:999999!important}.contact-person-card{display:flex;align-items:center;gap:.85rem;border:1px solid #e6e6e6;background:#fff;padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 .4rem 1.25rem #00000014}.contact-person-card--header{min-width:240px;padding:.6rem .85rem;box-shadow:0 .35rem 1rem #00000014}.contact-person-card--page{width:100%;padding:3rem 3.5rem}.contact-person-avatar{width:64px;height:64px;border-radius:.85rem;overflow:hidden;flex:0 0 64px;background:#f1f1f1;display:flex;align-items:center;justify-content:center;border:1px solid #ececec}.contact-person-card--header .contact-person-avatar{width:48px;height:48px;border-radius:.65rem;flex:0 0 48px}.contact-person-card--page .contact-person-avatar{width:192px;height:192px;border-radius:2.2rem;flex:0 0 192px}.contact-person-avatar img{width:100%;height:100%;object-fit:cover;display:block}.contact-person-fallback{font-weight:600;color:#5f687b}.contact-person-title{font-size:.72rem;color:#8c8c8c}.contact-person-name{font-size:1.05rem;font-weight:600;color:#9cc200}.contact-person-card--header .contact-person-name{font-size:.95rem}.contact-person-card--page .contact-person-name{font-size:2.5rem}.contact-person-actions{display:flex;flex-direction:column;gap:.25rem;margin-top:.2rem}.contact-person-email{background:#9cc200;color:#fff;border-radius:999px;padding:.2rem .75rem;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;width:fit-content}.contact-person-card--page .contact-person-email{font-size:1.5rem;padding:.6rem 1.9rem}.contact-person-email:hover{background:#7fa000;color:#fff}.contact-person-phone{color:#5f687b;font-size:.82rem;text-decoration:none}.contact-person-card--page .contact-person-phone{font-size:1.9rem}.contact-person-card--page .contact-person-title{font-size:1.44rem}.contact-person-phone:hover{color:#9cc200}.footer a{color:inherit;text-decoration:none}.footer a:hover{color:var(--accent-color)}.footer .footer-meta{font-size:.8rem;line-height:1.3;font-weight:400}.footer .footer-contact .footer-meta{font-size:.8rem!important;line-height:1.3!important}.footer .footer-contact strong{font-size:.8rem;font-weight:600;line-height:1.2}.footer .footer-contact span{font-size:.8rem;line-height:1.3}.footer .footer-contact p{align-items:flex-start;gap:.75rem;margin-bottom:1rem}.footer .footer-contact i{margin-top:.15rem}.footer .footer-item{margin-bottom:.8rem}.footer .footer-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.footer .footer-value{font-size:.8rem;line-height:1.3}.profile-page .profile-block{background:#fff;border:1px solid #e6e6e6;padding:1.5rem}.profile-page .profile-section{margin-bottom:1.25rem}.profile-page h3{color:#6c757d;margin-bottom:1rem}.profile-page h4{color:#6c757d;margin-top:2rem}.profile-page h5{font-size:.95rem;font-weight:600;color:#333;margin-bottom:.35rem}.profile-page p{margin-bottom:.35rem;color:#5f687b}.invoice-list a{color:#5f687b;text-decoration:none}.invoice--pending{color:#dc3545!important;font-weight:600}.profile-link{color:#9cc200;text-decoration:none;font-weight:600}.profile-link:hover{color:#7fa000}.profile-list a{color:#5f687b;text-decoration:none}.profile-list a:hover{color:#9cc200}.portal-card{border:1px solid #e6e6e6;background:#f7f3f5}.portal-card__header{background:#9cc200;color:#fff;padding:.75rem 1rem;font-weight:600;text-align:center}.portal-card__body{padding:1.5rem}.invoices-page .form-control,.invoices-page .form-select,.secure-surcharge-page .form-control,.secure-surcharge-page .form-select{border:1px solid #e6e6e6;background:#f8f9fa}@media print{body *{visibility:hidden}#km-print-area,#km-print-area *{visibility:visible}#km-print-area{position:absolute;left:0;top:0;width:100%}.table{page-break-inside:avoid}}.secure-surcharge-card{background:#fff;border:1px solid #e6e6e6;border-radius:.5rem;padding:1.5rem;box-shadow:0 .4rem 1.25rem #0000000f}.secure-surcharge-search{max-width:280px;display:inline-block}.secure-surcharge-empty{border:1px solid #ececec;background:#fff;padding:1.25rem 1.5rem;border-radius:.25rem;color:#5f687b;font-size:.95rem}.secure-surcharge-table{border:1px solid #ececec;background:#fff}.secure-surcharge-table thead th{font-size:.78rem;font-weight:600;text-transform:uppercase;color:#8c8c8c;letter-spacing:.02em;white-space:nowrap}.secure-surcharge-table tbody td{font-size:.9rem;color:#5f687b;vertical-align:middle}.secure-surcharge-description{font-weight:600;color:#3c4454}.secure-surcharge-pdf-btn{width:36px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.25rem}.secure-surcharge-loading{position:fixed;inset:0;background:#ffffffa6;align-items:center;justify-content:center;z-index:1050}.invoices-table{border:1px solid #ececec}.invoices-table thead th{font-size:.78rem;font-weight:600;text-transform:uppercase;color:#8c8c8c;letter-spacing:.02em;white-space:nowrap;cursor:pointer}.invoices-table tbody td{font-size:.85rem;color:#5f687b;vertical-align:middle}.invoice-badge{border-radius:999px;padding:.25rem .75rem;font-weight:600;font-size:.72rem;text-transform:lowercase}.invoice-due,.invoice-to_pay{background:#dc3545;color:#fff}.invoice-done,.invoice-completed{background:#adb5bd;color:#fff}.invoice-printed{background:#0ea5e9;color:#fff}.invoice-paid_out{background:#8bc34a;color:#fff}.invoice-processing,.invoice-to_print{background:#6c757d;color:#fff}.invoice-reminded{background:#7c3aed;color:#fff}@media(max-width:768px){.site-header .topbar-content{justify-content:space-between;gap:.5rem 1rem}.site-header .topbar-content a{font-size:.85rem}.site-header .topbar-content .logout-link{margin-left:auto}.site-header .logo img{height:36px}.mobile-nav-toggle{color:inherit}}@media(max-width:768px){.site-header .topbar{background:#2e2e2e;color:#f5f5f5}.site-header .topbar a{color:#f5f5f5}.site-header .topbar a:hover{color:#9cc200}}
