:root{--font-family:"Open Sans", "Segoe UI", sans-serif;--font-weight-normal:400;--font-weight-bold:600;--font-size-body:12px;--font-size-label:14px;--font-size-test-notice:12px;--font-size-input:14px;--font-size-header:20px;--font-size-paragraph:14px;--font-size-link:12px;--font-size-error:12px;--font-size-html-h1:28px;--font-size-html-h2:20px;--font-size-html-h3:16px;--font-size-html-h4:14px;--font-size-html-h5:12px;--font-size-html-h6:10px;--font-size-subheader:14px;--color-background:#e9e9f0;--color-tblheader:#7c7b79;--color-test-notice-text:#ff5b02;--color-test-notice-bg:#fff;--color-test-notice-border:#ff5b02;--color-card-bg:#fff;--color-card-border:#dbdfe7;--color-card-shadow:#0000000d;--color-link:#ff5b02;--color-header:#272725;--color-label:#272725;--color-input-border:#dbdfe7;--color-input-text:#272725;--color-focus-border:#ff5b02;--color-submit-btn-bg:#ff5b02;--color-submit-btn-text:#fff;--color-error:#ea1f30;--color-required:#ff5b02;--color-clear-button-bg:#7e8186;--color-html-text:#272725;--color-html-link:#ff5b02;--color-header-subtext:#272725;--border-radius-card:8px;--border-radius-input:6px;--border-radius-clear-btn:50%;--card-border-radius:8px;--primary:var(--color-submit-btn-bg);--primary-hover:#e04f00;--secondary:#e2e8f0;--secondary-hover:#cbd5e1;--text-main:var(--color-html-text);--text-muted:#6b7280;--bg-dark:var(--color-header);--bg-card:var(--color-card-bg);--bg-app:var(--color-background);--tbl-app:var(--color-tblheader);--border:var(--color-card-border);--danger:var(--color-error);--success:#10b981;--transition:all .3s ease}body{min-height:100vh;font-family:var(--font-family);color:var(--text-main);background-color:var(--bg-app);margin:0}.login-container:before{content:"";background-image:url(https://www.meisinger.de/mei-medien/meisinger_logo_s.jpg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:60px;margin-top:20px;margin-bottom:20px;display:block;position:absolute;top:0;left:0;right:0}h1{color:var(--primary-blue);margin-top:0;font-size:1.8rem;font-weight:600}h2{color:var(--primary-blue);margin-top:0;font-size:1.25rem;font-weight:600}h3{color:var(--primary-blue);margin-top:0;font-size:1.125rem;font-weight:500}p{color:var(--text-muted)}.highlight-text{color:var(--accent-yellow);font-weight:700}button{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--color-submit-btn-text);border-radius:var(--border-radius-input);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;transition:var(--transition);padding:.75rem 1.5rem}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:0 4px 12px #ff5b024d}.btn-accent{color:var(--primary);border:2px solid var(--primary);border-radius:var(--border-radius-input);font-weight:var(--font-weight-bold);transition:var(--transition);background-color:#0000;padding:calc(.75rem - 2px) calc(1.5rem - 2px)}.btn-accent:hover:not(:disabled){background-color:var(--primary);color:#fff;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-clear-button-bg);color:#fff;border-radius:var(--border-radius-input)}.btn-secondary:hover{background-color:var(--color-header)}.btn-text{color:var(--primary);background:0 0;padding:.5rem}.btn-text:hover{background:var(--secondary)}.input-group{flex-direction:column;gap:.15rem;width:100%;margin-bottom:.75rem;display:flex}.input-group label{color:var(--text-main);font-size:1rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);position:absolute;left:1rem}input[type=email],input[type=password],input[type=text]{border:1px solid var(--border);border-radius:var(--border-radius-input);outline:none;width:90%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-wrapper.has-icon input{padding-left:2.75rem}.read-value{min-height:24px;color:var(--text-main);border:1px solid #0000;align-items:center;padding:.25rem 0;font-size:1rem;display:flex}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0284c71a}.login-container{background:linear-gradient(135deg, var(--bg-dark) 0%, #1e293b 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--bg-card);border-radius:16px;width:100%;max-width:440px;padding:3rem 2.5rem;animation:.4s ease-out slideUp;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{border-radius:8px;height:60px;margin-bottom:1.5rem;box-shadow:0 4px 6px #0000000d}.login-form{flex-direction:column;display:flex}.login-form .btn-primary{margin-top:1rem;padding:.875rem;font-size:1rem}.error-message{color:var(--danger);background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;padding:.75rem;font-size:.875rem}.mfa-form{text-align:center}.mfa-icon-container{justify-content:center;margin-bottom:1.5rem;display:flex}.mfa-shield{color:var(--primary)}.mfa-form h3{margin-bottom:.5rem}.mfa-form p{margin-bottom:2rem;font-size:.875rem}.code-wrapper input{text-align:center;letter-spacing:.5rem;padding-left:1rem;font-family:monospace;font-size:2rem}.dashboard-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-dark);color:#fff;flex-direction:column;width:220px;transition:width .3s;display:flex}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-header{padding:1.5rem .5rem}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;padding:1.25rem 1rem;transition:padding .3s;display:flex}.sidebar-logo{object-fit:contain;border-radius:4px;width:auto;max-width:100%;height:60px;transition:height .3s}.sidebar.collapsed .sidebar-logo{height:35px}.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-item-text,.sidebar.collapsed .user-details{display:none!important}.sidebar-nav{flex:1;padding:1.5rem .75rem;overflow-y:auto}.nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.75rem;padding-left:.75rem;font-size:.75rem}.nav-item{white-space:nowrap;color:#cbd5e1;background:0 0;justify-content:flex-start;align-items:center;width:100%;margin-bottom:.25rem;padding:.6rem .75rem;font-size:.875rem;transition:padding .3s;display:flex;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem 0}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{background:var(--primary);color:#fff}.nav-icon{margin-right:.75rem;transition:margin .3s;display:flex}.sidebar.collapsed .nav-icon{margin-right:0}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem}.user-profile{background:#0003;border-radius:8px;justify-content:space-between;align-items:center;margin-top:1rem;padding:.5rem .75rem;transition:all .3s;display:flex}.sidebar.collapsed .user-profile{flex-direction:column;justify-content:center;gap:.5rem;padding:.5rem}.user-info{align-items:center;display:flex;overflow:hidden}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:.75rem;font-weight:600;transition:margin .3s;display:flex}.sidebar.collapsed .user-avatar{margin-right:0}.user-details{flex-direction:column;display:flex;overflow:hidden}.user-email{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.user-role{color:#94a3b8;font-size:.65rem}.logout-btn{color:#94a3b8;background:0 0;padding:.5rem}.logout-btn:hover{color:var(--danger);background:#ef444433}.sidebar.collapsed .logout-btn{justify-content:center;width:100%;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:#fff;align-items:center;height:70px;padding:0 1rem;display:flex}.topbar-title{flex:1;margin-top:15px}.app-content{flex:1;padding:2rem;overflow-y:auto}.app-content-inner{max-width:95%;margin:0 auto;animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.app-controls{justify-content:space-between;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;max-width:320px;position:relative}.search-box input{padding-left:2.5rem}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.filter-group{gap:.5rem;display:flex}.table-container{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:1rem 1.5rem;overflow:hidden}th{background:var(--tbl-app);text-transform:uppercase;color:#fff;letter-spacing:.05em;resize:horizontal;font-size:.75rem;font-weight:600;position:relative;overflow:hidden}tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background-color:#00000005}tr:hover td{background:var(--bg-app)}.td-user{align-items:center;gap:.75rem;font-weight:500;display:flex}.td-user .avatar{background:var(--secondary);width:32px;height:32px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.status-badge{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-new{color:#0284c7;background:#e0f2fe}.status-progress{color:#d97706;background:#fef3c7}.status-success{color:#059669;background:#d1fae5}.placeholder-app{text-align:center;height:400px;color:var(--text-muted);border:1px dashed var(--border);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex}.contact-link{color:var(--primary);text-decoration:none;transition:color .15s ease-in-out}.contact-link.phone,.contact-link.email{font-size:.85rem;font-weight:500}.contact-link.mobile{color:var(--text-muted);font-size:.75rem}.contact-link:hover{text-decoration:underline;color:var(--primary)!important}.pagination{border-top:1px solid var(--border);background:#fff;border-bottom-right-radius:12px;border-bottom-left-radius:12px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pagination-info{color:var(--text-muted);font-size:.85rem}.pagination-controls{align-items:center;gap:.75rem;display:flex}.pagination-pages{align-items:center;gap:.25rem;display:flex}.page-btn{border:1px solid var(--border);cursor:pointer;min-width:32px;height:32px;color:var(--text-main);background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.85rem;transition:all .2s;display:flex}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.rows-select{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;outline:none;padding:.4rem .5rem;font-size:.85rem}.rows-select:focus{border-color:var(--primary)}
