﻿*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto;color:#111827;background:#f9fafb}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;font-size:1.1rem;color:#000000 !important;text-decoration:none !important}.container{max-width:100%;margin:20px auto;padding:0 20px}.footer{padding:24px;color:#6b7280;text-align:center}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.card.auth-card{max-width:360px;margin:60px auto}.grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}@media (max-width: 800px){.grid{grid-template-columns:1fr}}label{display:flex;flex-direction:column;gap:6px;font-size:14px}input[type=text],input[type=date],input[type=password],select,textarea{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;color:#111827}textarea{resize:vertical}.filters-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.btn{background:#2563eb;border:none;color:#fff;padding:8px 14px;cursor:pointer;font-size:14px}.btn:hover{background:#1043b3}.btn.btn-outline{background:transparent;border:1px solid #e5e7eb;color:#111827}.btn.btn-without{background:transparent !important;border:0px solid #e5e7eb;color:#111827}.btn.btn-light{background:transparent;border:0px solid #e5e7eb;padding:0 !important;color:#111827 !important;font-size:10px !important}.btn.btn-sm{padding:4px 10px;font-size:13px}.alert{padding:10px 12px;border-radius:6px;margin:10px 0;font-size:14px}.alert.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert.success{background:#dcfce7;border:1px solid #86efac;color:#14532d}.table{width:100%;border-collapse:collapse;font-size:0.85rem}.table th,.table td{padding:6px 8px;border:1px solid #e5e7eb;text-align:left;vertical-align:top}.table th{position:sticky;top:0;z-index:2;background:#f3f4f6;font-size:12px;font-weight:600;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 0 #e5e7eb;border-top:0}.table tbody tr:hover td:nth-child(-n+4),.table tbody tr:hover td:last-child{background:#f9fafb}.table .step-cell{min-width:100px}.table .step-cell.step-done{background:#dcfce7}.table .step-cell.step-soon{background:#fef9c3}.table .step-cell.step-overdue{background:#fee2e2;border:2px solid red}.table .step-cell.step-open{background:#f3f4f6}.table th:first-child,.table td:first-child{left:0}.table th:nth-child(2),.table td:nth-child(2){left:100px}.table th:nth-child(3),.table td:nth-child(3){left:200px}.table th:first-child,.table td:first-child,.table th:nth-child(2),.table td:nth-child(2),.table th:nth-child(3),.table td:nth-child(3),.table th:nth-child(4),.table td:nth-child(4){position:sticky;background:#fff;z-index:1}.table-scroll{max-height:70vh;overflow-y:auto}.table thead th{position:sticky;top:0;background:#f3f4f6;z-index:20 !important}.tag,.badge{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:12px}.tag{padding:2px 8px;border-radius:999px}.badge{padding:2px 6px}.muted{color:#6b7280}.chk{background:#fff;border:1px solid #e5e7eb;color:#111827;border-radius:4px;cursor:pointer;padding:2px 6px;font-size:14px}.chk:disabled{opacity:0.4;cursor:not-allowed}.inline-edit{width:100%;padding:2px 4px;font-size:0.85rem;border:none;background:transparent}.inline-edit:focus{border:1px solid #2563eb;background:#fff;padding:2px 4px;outline:none}.step-cell input[type="date"],.step-cell textarea{width:95%;font-size:0.8rem;padding:2px;border:1px solid #ddd;border-radius:3px}.step-cell textarea{resize:vertical}details{margin-top:6px}details summary{cursor:pointer;color:#2563eb;font-size:13px}tr.row-done{background-color:#e6f7e6;border-left:5px solid greenyellow}tr.row-soon{background-color:#fffbe6;border-left:5px solid yellow}tr.row-overdue{border-left:5px solid red}.table-scroll{overflow:auto}.step-disabled{background:#f3f4f6;color:#9ca3af;text-align:center;font-style:italic}.step-disabled form{margin-top:4px}.step-disabled button{font-size:12px;padding:2px 6px}.step-cell{text-align:center}.step-cell .chk{margin-bottom:4px}.step-cell .due-date,.step-cell .completed-at{font-size:0.7rem;color:#374151;margin-bottom:4px}.step-cell .step-actions{font-size:0.9rem}.step-cell .step-actions details summary{cursor:pointer;font-size:1rem;user-select:none}.step-cell .step-actions .step-details{margin-top:6px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:6px;text-align:left}.step-checkbox{margin-bottom:4px}.step-checkbox input[type="checkbox"]{transform:scale(1.2);cursor:pointer}.step-checkbox span{text-align:center}.docs-cell{background:#f5f5f5}body[data-user-role="admin"] .step-cell.step-open{background:#fff8e1;color:#000;opacity:1}body[data-user-role="admin"] .step-cell.step-soon{background:#fff3cd;opacity:1}body[data-user-role="admin"] .step-cell.step-overdue{background:#f8d7da;opacity:1}body[data-user-role="admin"] .step-cell.step-done{background:#d4edda;opacity:1}body[data-user-role="vertrieb"] .step-cell[data-role="vertrieb"],body[data-user-role="buchhaltung"] .step-cell[data-role="buchhaltung"],body[data-user-role="logistik"] .step-cell[data-role="logistik"],body[data-user-role="lieferant"] .step-cell[data-role="lieferant"]{opacity:1;color:#000;border:2px solid #2563eb}.filters{top:0;left:0;right:0;z-index:200;display:flex;gap:20px;align-items:flex-end;padding:15px;background:#fff;border-bottom:1px solid #ddd}.filters label{font-size:14px;color:#333}.filters input,.filters select{margin-top:4px;padding:4px 6px;font-size:14px}.reset-link{display:flex;align-items:flex-end}.loading{text-align:center;padding:10px;color:#666}.step-tools{margin-top:10px}.step-tools .toggle-active{color:#CCCCCC;font-size:10px}.muted{font-size:14px}td.docs-cell,td.notes-cell,td.actions-cell{background-color:#fff !important}.notes-cell textarea{width:100%;border:1px solid #ccc;padding:4px;resize:vertical}input[disabled],textarea[disabled],input[readonly],textarea[readonly]{background-color:#f3f4f6;color:#555;cursor:not-allowed}th.th-arrow{position:relative;text-align:center}th.th-arrow::before{content:"⬇";display:block;font-size:18px;line-height:1;color:#666;margin-bottom:2px}.issue-flag{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:0.85em}.issue-flag input[type="checkbox"]{accent-color:#e74c3c;width:16px;height:16px;cursor:pointer}.issue-flag label{display:flex;align-items:center;gap:6px;cursor:pointer}.row-issue{background-color:#ffeaea !important;border-left:4px solid #e74c3c}.pulse-indicator{position:absolute;top:6px;right:6px;width:10px;height:10px;display:block;border-radius:50%;background-color:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,0.6);animation:pulseGreen 1.5s infinite;z-index:5}@keyframes pulseGreen{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0.6)}70%{transform:scale(1.2);box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0)}}.step-cell{position:relative}
