/* Backend Styles */
.fcm-g { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:15px; }
.fcm-g input, .fcm-g select { width: 100%; }
.status-box { background:#e0f2f1; padding:10px; border-radius:4px; }
.read-only-input { font-weight:bold; background:#e5e7eb; color:#555; cursor:not-allowed; }
.read-only-green { font-weight:bold; background:#e5e7eb; color:#059669; cursor:not-allowed; }
.admin-status-area { background:#f9f9f9; padding:10px; margin-top:10px; border-top:1px solid #ddd; border-left:4px solid #1e3a8a; }
.magic-link-input { width:100%; font-size:11px; background:#f0f0f0; margin-bottom:5px; }
.id-card-preview { background:#fff; border:1px solid #ccc; border-radius:8px; padding:15px; text-align:center; font-family:sans-serif; box-shadow:0 2px 5px rgba(0,0,0,0.1); }
.contract-box { background:#e6fffa; border:1px solid #38b2ac; padding:10px; text-align:center; margin-bottom:15px; border-radius:4px; }
.doc-list { margin-top:10px; background:#f9f9f9; padding:5px; list-style:none; }
.doc-list li { margin-bottom:5px; border-bottom:1px solid #eee; padding-bottom:5px; }
.status-pending { background:#fef3c7; color:#d97706; padding:3px 8px; border-radius:10px; font-weight:bold; }

/* Statistik Dashboard */
.st-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; margin-top:20px; font-family:"Segoe UI",sans-serif; }
.st-card { background:#fff; padding:20px; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.05); border:1px solid #e5e7eb; }
.st-card h2 { margin-top:0; font-size:14px; text-transform:uppercase; color:#64748b; border-bottom:1px solid #f1f5f9; padding-bottom:10px; margin-bottom:15px; }
.st-val { font-size:36px; font-weight:800; color:#1e293b; }
.st-sub { font-size:12px; color:#94a3b8; margin-top:5px; }
.st-badge { background:#dbeafe; color:#1e40af; padding:2px 8px; border-radius:12px; font-size:11px; font-weight:bold; float:right; }
.st-list { max-height:200px; overflow-y:auto; padding-left:0; list-style:none; }
.st-list li { padding:5px 0; border-bottom:1px solid #f1f5f9; font-size:13px; }

/* Frontend: Antrag Formular */
.kl-wrap { max-width: 700px; margin: 0 auto; font-family: sans-serif; color: #333; }
.kl-card { background: #fff; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); overflow: hidden; border: 1px solid #eee; }
.kl-head { background: #1e3a8a; color: #fff; padding: 20px; text-align: center; }
.kl-body { padding: 30px; }
.kl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.kl-full { grid-column: span 2; }
.kl-label { display: block; font-size: 13px; font-weight: 600; color: #555; margin-bottom: 5px; text-transform: uppercase; }
.kl-input { width: 100%; padding: 12px; border: 2px solid #e5e7eb; border-radius: 6px; font-size: 15px; box-sizing: border-box; }
.kl-info-box { background: #f8fafc; padding: 15px; border-radius: 8px; border-left: 4px solid #fbbf24; font-size: 14px; margin-bottom: 20px; }
.kl-section-title { font-size: 16px; font-weight: 700; color: #1e3a8a; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin: 30px 0 20px 0; }
.kl-btn { width: 100%; background: #1e3a8a; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; }
.kl-box-scroll { height: 120px; overflow-y: scroll; background: #f1f5f9; padding: 10px; border: 1px solid #e2e8f0; font-size: 12px; margin-bottom: 10px; }
.kl-checkbox-row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 15px; font-size: 14px; }
.kl-canvas { width: 100%; height: 160px; border: 2px dashed #ccc; background: #fafafa; border-radius: 6px; cursor: crosshair; touch-action: none; display: block; }
.fcm-success-box { background:#d1fae5; color:#065f46; padding:20px; text-align:center; border-radius:8px; margin:20px 0; border:1px solid #34d399; }
@media(max-width:600px){ .kl-grid{grid-template-columns: 1fr; } .kl-full{grid-column: span 1;} }

/* Frontend: Portal */
.fcm-dash { max-width: 800px; margin: 0 auto; font-family: 'Segoe UI', sans-serif; }
.fcm-id-card { background: linear-gradient(135deg, #1e3a8a, #3b82f6); color: #fff; padding: 20px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); display: flex; align-items: center; margin-bottom: 30px; position: relative; overflow: hidden; }
.fcm-id-logo { width: 80px; height: 80px; background: #fff; border-radius: 50%; padding: 5px; margin-right: 20px; }
.fcm-id-info { flex: 1; }
.fcm-id-name { font-size: 24px; font-weight: bold; margin: 0; color:#fff; }
.fcm-id-meta { font-size: 14px; opacity: 0.9; margin-top: 5px; color:#fff; }
.fcm-id-qr { background: #fff; padding: 5px; border-radius: 8px; }
.fcm-form-box { background: #f9fafb; border: 1px solid #e5e7eb; padding: 25px; border-radius: 10px; }
.fcm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.fcm-input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; margin-top: 5px; }
.fcm-label { font-weight: bold; font-size: 13px; color: #555; display: block; }
.fcm-btn { background: #1e3a8a; color: #fff; border: none; padding: 12px 20px; border-radius: 5px; cursor: pointer; font-size: 16px; margin-top: 20px; width:100%; }
.fcm-login-form { max-width:300px; margin:auto; padding:20px; border:1px solid #ddd; }
.fcm-login-form input { width:100%; margin-bottom:10px; padding:10px; }
.fcm-login-form button { width:100%; padding:10px; cursor:pointer; }
.fcm-success-msg { background:#d1fae5; color:#065f46; padding:15px; border-radius:6px; margin-bottom:20px; }

/* Frontend: Liste */
.kl-list-wrap { font-family:sans-serif; margin:20px 0; }
.kl-search-input { width:100%; padding:15px; border:1px solid #ddd; border-radius:50px; margin-bottom:20px; }
.kl-table { width:100%; border-collapse:collapse; }
.kl-table th { background:#f8fafc; padding:15px; text-align:left; cursor:pointer; }
.kl-table td { padding:15px; border-bottom:1px solid #eee; }

/* Frontend: Protokolle */
.fp-tabs { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.fp-tab-btn { background: #f1f5f9; border: 1px solid #ddd; padding: 10px 20px; cursor: pointer; border-radius: 5px; font-weight: bold; color: #555; }
.fp-tab-btn.active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; }
.fp-content { display: none; }
.fp-content.active { display: block; }
.fp-list-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.fp-list-table td { padding: 12px; border-bottom: 1px solid #eee; }
.fp-list-table tr:hover { background: #f9fafb; }
.fp-dl-btn { background: #1e3a8a; color: #fff; padding: 5px 10px; border-radius: 4px; text-decoration: none; font-size: 12px; }