
	* { margin: 0; padding: 0; box-sizing: border-box; }
	body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f8fafc; color: #374151; }
	.container { max-width: 1400px; margin: 0 auto; padding: 20px; }
	.header { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 20px; }
	.header h1 { color: #1f2937; font-size: 24px; margin-bottom: 5px; }
	.status-badge { display: inline-block; padding: 4px 12px; background: #dcfdf7; color: #065f46; border-radius: 20px; font-size: 14px; }
	.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 20px; }
	.card { background: white; padding: 24px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
	.card h2 { color: #1f2937; font-size: 18px; margin-bottom: 16px; display: flex; align-items: center; }
	.card h2 .icon { margin-right: 8px; font-size: 20px; }
	.form-group { margin-bottom: 16px; }
	.form-group label { display: block; margin-bottom: 6px; font-weight: 500; color: #374151; }
	.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; font-family: inherit; }
	.btn { background: #3b82f6; color: white; padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; font-weight: 500; font-size: 14px; transition: background 0.2s; }
	.btn:hover { background: #2563eb; }
	.btn:disabled { background: #9ca3af; cursor: not-allowed; }
	.btn-secondary { background: #6b7280; }
	.btn-secondary:hover { background: #4b5563; }
	.btn-primary { background: #10b981; }
	.btn-primary:hover { background: #059669; }
	.btn-info { background: #0ea5e9; }
	.btn-info:hover { background: #0284c7; }
	.btn-delete { background: #f44336; color: white; border: none; padding: 5px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; }
	.btn-delete:hover { background: #d32f2f; }
	.stats { display: flex; gap: 16px; margin-bottom: 20px; }
	.stat { flex: 1; background: #f3f4f6; padding: 12px; border-radius: 8px; text-align: center; }
	.stat-number { font-size: 24px; font-weight: bold; color: #1f2937; }
	.stat-label { font-size: 12px; color: #6b7280; text-transform: uppercase; }
	.weeks-list { margin-top: 16px; }
	.week-item { background: #f9fafb; padding: 12px; border-radius: 6px; margin-bottom: 8px; }
	.week-number { font-weight: 500; color: #1f2937; }
	.week-status { font-size: 12px; color: #6b7280; }
	
	/* Ulepszone komunikaty */
	.message { padding: 16px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid; }
	.message.success { 
		background: linear-gradient(135deg, #dcfdf7 0%, #ecfdf5 100%); 
		color: #065f46; 
		border-left-color: #10b981; 
		box-shadow: 0 2px 8px rgba(16, 185, 129, 0.1);
	}
	.message.error { 
		background: linear-gradient(135deg, #fef2f2 0%, #fef7f7 100%); 
		color: #dc2626; 
		border-left-color: #ef4444; 
		box-shadow: 0 2px 8px rgba(239, 68, 68, 0.1);
	}
	.message.warning { 
		background: linear-gradient(135deg, #fffbeb 0%, #fefce8 100%); 
		color: #d97706; 
		border-left-color: #f59e0b; 
		box-shadow: 0 2px 8px rgba(245, 158, 11, 0.1);
	}
	.message .message-header { 
		display: flex; 
		align-items: center; 
		font-weight: 600; 
		margin-bottom: 8px; 
		font-size: 16px;
	}
	.message .message-header .icon { 
		margin-right: 8px; 
		font-size: 20px;
	}
	.message .message-content { 
		font-size: 14px; 
		line-height: 1.5;
	}
	.message ul { 
		margin: 8px 0; 
		padding-left: 20px;
	}
	.message li { 
		margin: 4px 0;
	}
	
	/* Notification toast */
	.toast {
		position: fixed;
		top: 20px;
		right: 20px;
		background: white;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.15);
		padding: 16px;
		max-width: 400px;
		z-index: 1000;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}
	.toast.show {
		transform: translateX(0);
	}
	.toast.success {
		border-left: 4px solid #10b981;
	}
	.toast.error {
		border-left: 4px solid #ef4444;
	}
	.toast.warning {
		border-left: 4px solid #f59e0b;
	}
	
	/* Kontakty */
	.contacts-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }
	.contacts-table th { background: #4CAF50; color: white; padding: 10px; text-align: left; font-weight: bold; }
	.contacts-table td { padding: 8px 10px; border-bottom: 1px solid #ddd; }
	.contacts-table tr:hover { background: #f5f5f5; }
	.contact-type { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; }
	.contact-type.team { background: #2196F3; color: white; }
	.contact-type.transport { background: #FF9800; color: white; }
	.contact-type.other { background: #607D8B; color: white; }
	#addContactForm { display: none; background: #f0f8ff; padding: 20px; margin-bottom: 20px; border-radius: 8px; border: 2px solid #4CAF50; }
	#addContactForm h3 { margin-bottom: 15px; }
	.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
	
	/* Loading spinner */
	.loading-spinner {
		display: inline-block;
		width: 16px;
		height: 16px;
		border: 2px solid #f3f3f3;
		border-top: 2px solid #3498db;
		border-radius: 50%;
		animation: spin 1s linear infinite;
		margin-right: 8px;
	}
	@keyframes spin {
		0% { transform: rotate(0deg); }
		100% { transform: rotate(360deg); }
	}
	
	/* Styl dla przycisków edycji i usuwania kontaktów */
	.btn-edit {
		padding: 4px 10px;
		margin-right: 5px;
		background: #ffc107;
		color: #212529;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		font-size: 12px;
		font-weight: 500;
		transition: all 0.2s;
		display: inline-block;
	}
	
	.btn-edit:hover {
		background: #e0a800;
		transform: translateY(-1px);
		box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	}
	
	.btn-delete {
		padding: 4px 10px;
		background: #dc3545;
		color: white;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		font-size: 12px;
		font-weight: 500;
		transition: all 0.2s;
		display: inline-block;
	}
	
	.btn-delete:hover {
		background: #c82333;
		transform: translateY(-1px);
		box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	}
	
	/* Szerokość kolumny akcji w tabeli kontaktów */
	.contacts-table th:last-child,
	.contacts-table td:last-child {
		width: 180px;
		text-align: center;
	}
	
	/* Styl dla formularza w trybie edycji */
	#addContactForm h3 {
		margin-bottom: 20px;
		color: #333;
	}
	
	#addContactForm.edit-mode h3 {
		color: #ffc107;
	}
	
	/* Ukryte pole ID */
	#contactId {
		display: none;
	}
	
	/* Poprawka dla tabeli kontaktów */
	.contacts-table {
		width: 100%;
		border-collapse: collapse;
		margin-top: 15px;
	}
	
	.contacts-table th {
		background: #f8f9fa;
		padding: 10px;
		text-align: left;
		border-bottom: 2px solid #dee2e6;
		font-weight: 600;
	}
	
	.contacts-table td {
		padding: 10px;
		border-bottom: 1px solid #e9ecef;
	}
	
	.contacts-table tr:hover {
		background: #f8f9fa;
	}
