*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1a3a5c;--primary-dark: #0f2240;--primary-light:#2a5280;--accent: #2563eb;--accent-light: #3b82f6;--accent-pale: #eff6ff;--success: #16a34a;--success-pale: #dcfce7;--warning: #d97706;--warning-pale: #fffbeb;--danger: #dc2626;--danger-pale: #fef2f2;--purple: #7c3aed;--purple-pale: #f5f3ff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 2px 12px rgba(26,58,92,.1);--shadow-lg: 0 8px 32px rgba(26,58,92,.16);--shadow-xl: 0 16px 48px rgba(26,58,92,.2);--col-buero: #2563eb;--col-krankenhaus: #dc2626;--col-kindergarten: #16a34a;--col-bank: #d97706;--col-seniorenheim: #7c3aed;--col-industrie: #475569;--col-sonstige: #0891b2}html{font-size:16px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:linear-gradient(150deg,#eef2ff,#e8f0fe,#f0f4ff);min-height:100vh;color:var(--gray-800);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}h1{font-size:1.75rem;font-weight:800;color:var(--primary)}h2{font-size:1.3rem;font-weight:700;color:var(--primary)}h3{font-size:1.05rem;font-weight:600;color:var(--primary)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius);border:none;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow)}.btn-secondary{background:#fff;color:var(--primary);border:1.5px solid var(--gray-200)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-danger{background:var(--danger-pale);color:var(--danger);border:1.5px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-success{background:var(--success-pale);color:var(--success);border:1.5px solid #86efac}.btn-success:hover{background:#bbf7d0}.btn-ghost{background:transparent;color:var(--gray-500);border:1px solid transparent}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{padding:5px 12px;font-size:.8rem}.btn-lg{padding:12px 24px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-icon{padding:8px;border-radius:var(--radius-sm);aspect-ratio:1}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-100);padding:20px}.card-sm{padding:14px;border-radius:var(--radius)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.72rem;font-weight:600}.badge-blue{background:var(--accent-pale);color:var(--accent)}.badge-green{background:var(--success-pale);color:var(--success)}.badge-red{background:var(--danger-pale);color:var(--danger)}.badge-orange{background:var(--warning-pale);color:var(--warning)}.badge-purple{background:var(--purple-pale);color:var(--purple)}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--gray-700);margin-bottom:5px}.form-input{width:100%;padding:10px 13px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--gray-800);outline:none;transition:border-color .15s;background:#fff}.form-input:focus{border-color:var(--accent)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:36px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:default}.divider{height:1px;background:var(--gray-100);margin:16px 0}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap:hover .tooltip{display:block}.tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--gray-800);color:#fff;font-size:.72rem;padding:4px 8px;border-radius:var(--radius-sm);white-space:nowrap;z-index:100;pointer-events:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--gray-100);display:flex;gap:10px;justify-content:flex-end}.toast{position:fixed;bottom:24px;right:20px;padding:12px 18px;border-radius:var(--radius);font-size:.85rem;font-weight:500;box-shadow:var(--shadow-lg);z-index:9999;color:#fff;animation:slideInUp .2s ease;display:flex;align-items:center;gap:8px;min-width:200px;max-width:360px}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.table-wrap{overflow-x:auto;border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th{background:var(--gray-50);color:var(--gray-600);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;border-bottom:1px solid var(--gray-200)}td{padding:12px 14px;border-bottom:1px solid var(--gray-100);font-size:.875rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--gray-50)}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--success);box-shadow:0 0 0 2px #16a34a33}.status-dot.red{background:var(--danger);box-shadow:0 0 0 2px #dc262633}.status-dot.orange{background:var(--warning);box-shadow:0 0 0 2px #d9770633}.status-dot.gray{background:var(--gray-400)}.spinner{width:24px;height:24px;border:3px solid var(--gray-200);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease}.dashboard-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;margin-bottom:20px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dashboard-quick-label{margin-right:auto;color:var(--gray-600);font-size:.82rem;font-weight:700}.dashboard-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-kpi:focus-visible,.dashboard-quick-actions button:focus-visible,.dashboard-panel-link:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.dashboard-kpi-action{margin-top:10px;font-size:.72rem;font-weight:700;opacity:.8}.dashboard-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-panel-link{border:0;background:transparent;color:var(--accent);cursor:pointer;font:600 .76rem inherit;white-space:nowrap;padding:4px 0}.dashboard-panel-link:hover{text-decoration:underline}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile{display:flex!important}.dashboard-two-col{grid-template-columns:1fr!important;gap:12px!important}.dashboard-quick-label{width:100%;margin-right:0}.dashboard-quick-actions .btn{flex:1 1 100%;justify-content:center;min-height:42px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.dashboard-kpi{padding:13px 12px!important}.dashboard-kpi-action{font-size:.68rem}.modal{max-width:100%;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-self:flex-end;max-height:85vh}.overlay{align-items:flex-end;padding:0}}.sicherheit-page{max-width:980px;margin:0 auto;padding:24px}.sicherheit-page .page-header,.card-title-row,.action-row,.employee-row{display:flex;gap:12px;align-items:center;justify-content:space-between}.sicherheit-page h1{margin:0;color:#1a3a5c;font-size:clamp(1.3rem,3vw,2rem)}.sicherheit-page h2{margin:0 0 12px;color:#1a3a5c;font-size:1.1rem}.sicherheit-page p{margin:4px 0;color:#64748b}.sicherheit-page .card{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:18px;margin:14px 0;box-shadow:0 2px 8px #0f2a460d}.sicherheit-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.sicherheit-module-card{min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:22px;border:1px solid #dbe4ef;border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 8px #0f2a460d;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.sicherheit-module-card:hover{transform:translateY(-2px);border-color:#8fb4d5;box-shadow:0 8px 20px #0f2a461f}.sicherheit-module-card:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.sicherheit-module-card h2{margin:0;font-size:1.05rem}.sicherheit-module-card p{margin:0;line-height:1.45}.sicherheit-module-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#eef4fa;font-size:1.55rem}.sicherheit-module-link{margin-top:auto;color:#1a5a8a;font-weight:700;font-size:.9rem}.status-badge{padding:5px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.8rem;font-weight:700}.status-badge.abgeschlossen{background:#dcfce7;color:#166534}.workflow-stepper{background:#eef4fa;border-radius:10px;padding:14px;color:#1a3a5c}.workflow-stepper span{color:#64748b;font-size:.85rem;margin-left:10px}.workflow-progress{height:7px;background:#dbe5ef;border-radius:999px;overflow:hidden;margin:10px 0}.workflow-progress span{display:block;height:100%;background:#1a3a5c;border-radius:inherit;transition:width .2s ease}.workflow-steps{display:flex;gap:14px;overflow:auto;font-size:.78rem}.sicherheit-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.sicherheit-page label{display:flex;flex-direction:column;gap:5px;color:#334155;font-size:.86rem;font-weight:600}.sicherheit-page input,.sicherheit-page select,.sicherheit-page textarea{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;font:inherit;font-weight:400;background:#fff}.sicherheit-doc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.sicherheit-doc-tabs button{border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;cursor:pointer;background:#f8fafc;color:#334155;font-weight:600}.sicherheit-doc-tabs button.active{background:#1a3a5c;border-color:#1a3a5c;color:#fff}.sicherheit-dokument-inhalt{margin-top:12px;padding:14px;border:1px solid #dbe4ef;border-radius:10px;background:#f8fafc;color:#334155;line-height:1.5}.sicherheit-dokument-inhalt h3,.sicherheit-dokument-inhalt h4{margin:0 0 8px;color:#1a3a5c}.sicherheit-dokument-inhalt ul,.sicherheit-dokument-inhalt ol{margin:8px 0 0 20px;padding:0}.sicherheit-warnung{margin:10px 0;padding:10px;border-left:4px solid #e6a817;border-radius:6px;background:#fff3cd;color:#7c4a03}.sicherheit-section{border-top:1px solid #e2e8f0}.sicherheit-section-heading{width:100%;border:0;background:transparent;padding:13px 0;display:flex;justify-content:space-between;color:#1a3a5c;font-weight:700;cursor:pointer;text-align:left}.sicherheit-section-heading small{color:#64748b}.sicherheit-item{padding:12px 0;border-top:1px solid #f1f5f9;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.sicherheit-item-text{color:#334155;line-height:1.45;font-size:.92rem}.sicherheit-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sicherheit-actions button,.btn-primary,.btn-secondary{border:1px solid #cbd5e1;border-radius:7px;padding:8px 10px;cursor:pointer;background:#f8fafc;color:#334155}.sicherheit-actions button.active.ok{background:#dcfce7;border-color:#22c55e;color:#166534}.sicherheit-actions button.active.nok{background:#fee2e2;border-color:#ef4444;color:#991b1b}.sicherheit-actions button.active.na{background:#e0f2fe;border-color:#38bdf8;color:#075985}.btn-primary{background:#1a3a5c;border-color:#1a3a5c;color:#fff;font-weight:700}.employee-card{border:1px solid #dbe4ef;border-radius:10px;padding:12px;margin:10px 0}.employee-row input{flex:1}.confirm-check{flex-direction:row!important;align-items:center;margin:10px 0;padding:9px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.confirm-check input{width:auto}.sicherheit-signatur{display:block;width:100%;height:110px;margin:5px 0;border:1px dashed #94a3b8;border-radius:6px;touch-action:none;background:#fff}.muted{color:#64748b;font-size:.82rem}.inline-message{margin-top:12px;padding:10px;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:.85rem}@media (max-width:700px){.sicherheit-page{padding:12px}.sicherheit-item{grid-template-columns:1fr}.sicherheit-actions{justify-content:flex-start}.action-row{align-items:stretch;flex-direction:column}.page-header{align-items:flex-start!important;flex-direction:column}}@media (max-width:820px){.sicherheit-module-grid{grid-template-columns:1fr}.sicherheit-module-card{min-height:0}}
